本項目所有相關(guān)文檔包括區(qū)塊鏈設(shè)計、后端設(shè)計、前端設(shè)計、結(jié)合IPFS改進以及簡易的二次開發(fā)步驟收錄于:《Fabric項目學(xué)習(xí)筆記》。
購買專欄前請認真閱讀:《Fabric項目學(xué)習(xí)筆記》專欄介紹
TrueTechLabs Fabric學(xué)習(xí)交流QQ群:776873343
一、項目介紹
基于區(qū)塊鏈Hyperledger Fabric V2.5 的農(nóng)產(chǎn)品/商品等的通用溯源系統(tǒng),部署簡單,附壓測工具tape、區(qū)塊鏈瀏覽器,文檔詳細。可以快速使用本系統(tǒng)搭建自己的溯源系統(tǒng),幫助想法快速落地。
項目地址:
Github:
https://github.com/TrueTechLabs/fabric-trace
Gitee:
https://gitee.com/real__cool/fabric-trace
搭建視頻地址:
https://www.bilibili.com/video/BV1Ar421H7TK
項目文檔地址(部分內(nèi)容需要訂閱專欄):
https://blog.csdn.net/qq_41575489/category_12075943.html
二、版權(quán)聲明
本項目基于Apache License 2.0開源協(xié)議,在個人的科研、學(xué)習(xí)范圍內(nèi)可以自由使用,請附上項目鏈接。如有商業(yè)需求或合作需求,需要聯(lián)系作者購買授權(quán)。
三、項目特點
本項目采用Hyperledger Fabric V2.5,屬于目前最新的Fabric版本,具有更好的性能和穩(wěn)定性,調(diào)用鏈碼使用Fabric-gateway模式,是當前版本的推薦方式。內(nèi)置了tape壓測工具,可以方便的對區(qū)塊鏈網(wǎng)絡(luò)進行壓測;內(nèi)置了區(qū)塊鏈瀏覽器,可以方便地查詢交易信息。
項目結(jié)構(gòu)清晰,代碼注釋詳細,方便二次開發(fā)。結(jié)合了mysql實現(xiàn)賬戶注冊登錄功能,更符合真實業(yè)務(wù)場景。
四、項目背景
區(qū)塊鏈技術(shù)的出現(xiàn),為溯源系統(tǒng)的建設(shè)提供了新的思路。區(qū)塊鏈技術(shù)的不可篡改性、去中心化、可追溯等特點,使得區(qū)塊鏈技術(shù)成為溯源系統(tǒng)的理想選擇。本項目基于Hyperledger Fabric V2.5,實現(xiàn)了一個農(nóng)產(chǎn)品溯源系統(tǒng)。 在本區(qū)塊鏈系統(tǒng)中,有5個內(nèi)置的角色:種植戶、工廠、駕駛員、商店、消費者。其中種植戶、工廠、駕駛員、商店可以將信息上鏈,消費者有信息溯源權(quán)限。上述可以上鏈信息的角色各可以輸入5個農(nóng)產(chǎn)品的屬性,方便二次開發(fā)。本項目的目標是作為Fabric V2.5下的一個通用溯源模板。
五、搭建步驟
如果部分內(nèi)容與視頻不一致請以本文檔為準
強烈推薦:使用云服務(wù)器搭建本系統(tǒng),虛擬機問題較多。點擊此鏈接購買騰訊云服務(wù)器:https://curl.qcloud.com/Sjy0zKjy 點擊首單特惠,購買2核4G或以上的服務(wù)器,218/年(價格經(jīng)常會調(diào)整),如果后續(xù)準備做程序開發(fā)可以用新用戶優(yōu)惠買三年的,安裝Ubuntu20.04系統(tǒng)。
嚴格按照以下步驟操作:
-
安裝docker
#下載docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #添加當前用戶到docker用戶組 sudo usermod -aG docker $USER newgrp docker #配置docker鏡像加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://punulfd2.mirror.aliyuncs.com"] } EOF #重啟docker sudo systemctl daemon-reload sudo systemctl restart docker
-
安裝開發(fā)使用的go、node、jq
#下載二進制包 wget https://golang.google.cn/dl/go1.19.linux-amd64.tar.gz #將下載的二進制包解壓至 /usr/local目錄 sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz mkdir $HOME/go #將以下內(nèi)容添加至環(huán)境變量 ~/.bashrc export GOPATH=$HOME/go export GOROOT=/usr/local/go export PATH=$GOROOT/bin:$PATH export PATH=$GOPATH/bin:$PATH #更新環(huán)境變量 source ~/.bashrc #設(shè)置代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct #下載nvm安裝腳本 wget https://gitee.com/real__cool/fabric_install/raw/main/nvminstall.sh #安裝nvm;屏幕輸出內(nèi)容添加環(huán)境變量 chmod +x nvminstall.sh ./nvminstall.sh # 將環(huán)境變量寫入.bashrc export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion # 更新環(huán)境變量 source ~/.bashrc # 安裝node16 nvm install 16 #換源 npm config set registry https://registry.npmmirror.com #安裝jq sudo apt install jq
-
克隆本項目
git clone https://gitee.com/real__cool/fabric-trace
-
啟動區(qū)塊鏈部分。在fabric-trace/blockchain/network目錄下:
# 僅在首次使用執(zhí)行:下載Fabric Docker鏡像 ./install-fabric.sh -f 2.5.6 d
# 啟動區(qū)塊鏈網(wǎng)絡(luò) ./start.sh
如果在啟動區(qū)塊鏈網(wǎng)絡(luò)時遇到報錯可以嘗試:
# 執(zhí)行清理所有的容器指令: docker rm -f $(docker ps -aq)
然后再重新啟動區(qū)塊鏈網(wǎng)絡(luò)
-
啟動后端 在fabric-trace/application/backend目錄下: 執(zhí)行:
go run main.go
-
修改后端IP,將以下文件中的IP:
119.45.247.29
,換成自己云服務(wù)的IP。fabric-trace/application/web/.env.development fabric-trace/application/web/src/router/index.js
-
新開一個窗口,啟動前端 在fabric-trace/application/web目錄下: 執(zhí)行:
# 僅在首次運行執(zhí)行:安裝依賴 npm install
# 啟動前端 npm run dev
-
在騰訊云輕量應(yīng)用服務(wù)器防火墻頁面,放行TCP端口
8080,9090,9528
-
在瀏覽器中打開:http://云服務(wù)器IP:9528 即可看到前端頁面。文章來源:http://www.zghlxwxcb.cn/news/detail-839958.html
-
關(guān)閉項目步驟
前后端使用ctrl+c
指令即可關(guān)閉,區(qū)塊鏈部分在network
目錄下使用./stop.sh
腳本關(guān)閉,如果不正確關(guān)閉可能會影響下一次啟動,處理方案是使用命令關(guān)閉相關(guān)進程。文章來源地址http://www.zghlxwxcb.cn/news/detail-839958.html
六、本項目相關(guān)的后續(xù)計劃:
- 本項目將持續(xù)維護,歡迎給項目點亮Star與B站三連,非常感謝!本項目的區(qū)塊鏈部分、前后端的說明文檔以及簡易的二次開發(fā)流程已在《Fabric項目學(xué)習(xí)筆記 》專欄發(fā)布,歡迎訂閱支持!
- (付費)本系統(tǒng)的講解課程(約2小時)、Fabric V2.5應(yīng)用的課程(約10小時),將在B站上架,敬請關(guān)注!
- 支持Docker方式部署,簡化部署步驟
七、目前已知存在的問題:
- 由于網(wǎng)絡(luò)原因,區(qū)塊鏈瀏覽器鏡像拉取較慢,因為不是Docker官方的倉庫,需要耐心等待。
- 區(qū)塊鏈瀏覽器有時候會出現(xiàn)無法訪問的情況,可以嘗試重啟瀏覽器容器。
到了這里,關(guān)于基于區(qū)塊鏈Hyperledger FabricV2.5的農(nóng)產(chǎn)品溯源/商品/通用溯源應(yīng)用系統(tǒng)模板的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!