Hyperledger Fabric 智能合约实战 (0) 整体步骤
1. 系統創始塊的生成
Fabric 中賬本的第一個區塊是需要手動生成的 。
先生成系統創始塊, 再對配置文件修改,之后執行如下命令生成創始塊文件。
cd /opt/hyperledger/orderconfigtxgen -profile TestTwoOrgsOrdererGenesis -outputBlock/orderer.genesis. block上述命令執行完成之后會在文件夾/opt/hyperledger/order 中生成文件 orderer.genesis.block ,這是 Fabric系統的創始塊文件
2. 賬本創始塊的生成
step1. 創建 Channel
Channel 的創始塊的配置信息已經定義在前面生成的配置文件 configtx.yaml 中
configtxgen - profile TestTwoOrgsChannel -outputCreateChannelTx ./roberttest channeltx channelID roberttestchannel命令執行完成之后會在目錄生成文件 roberttestchannel.tx ,該文件用來生成 Channel 。
step2. 生成相關的錨點文件
configtxgen -profile TestTwoOrgsChannel -outputA口chorPeersUpdate ./OrglMSPanchors.tx -channelID roberttestchannel -asOrg OrglMSP conf 工 gtxgen prof 工 le TestTwoOrgsChannel -outputAnchorPeersUpdate ./Org2MSPanchors .tx -channelID roberttestchar>nel asOrg Org2MSP命令執行完成之后會在相應的文件夾下面生成文件 OrglMSPanchors.tx 和 Org2MSPanchors .tx ,這些文件在后面會用到
step3. 啟動網絡
通過 docker-compose 腳本啟動區塊鏈網絡,使用本節之前生成的 genesis.block 引導,需要注意在生成命令中需要為 TIMEOUT 變量設置適當值,本文設置為 5s,然后通過 docker-compose 命令啟動網絡。同時需要在 doker-compose-base.yaml 文件中配置各個節點域名,以方便當前節點被訪問。
3. Order 節點的啟動
Orderer 節點負責交易的打包和區塊的生成,Orderer 節點的配置信息通常放在環境變量或者配置文件中
step1. 復制配置文件到 Orderer 文件夾
cd /opt/hyperledger/peer cp $GOPATH/src/github . com/hyperledger/fabr 工 C /sampleconf 工 gI orderer. yaml I opt Ihyperledger/orderstep2. 修改模板配置文件
在配置文件 orderer.yaml 所在的目 錄執行如下命令啟動 orderer: orderer start
4. Peer 節點的啟動
Peer 模塊是 Fabric 的 核心節點 ,所有 的交易數據 經過 Orderer 排序打包之后 由 Peer 模塊存儲在區塊鏈 中 ,所有的 Chaincode 也是由 Peer 模塊打包并且激活 的 。 Peer 模塊的配置信息同樣由環境變量和配置文件組成。
step1. 創建存儲 Peer 模塊的配置文件和區塊數據的文件夾,并復制示例配置文件 :
mkdir p /opt/hyperledger/peer cd /opt/hyperledger/peer cp $GOPATH/ src I g 工 thub . com/hyperl edger Ifabric I sampleconf ig I core . yaml I opt Ihyperledger/peerstep2. 修改后 Peer 模塊配置文件
在配置文件 core.yaml 所在的文件夾中執行以下命令啟動 order 節點 。
export set FABRIC_CFG_ PATH=/opt/hyperledger/peer peer node start > log_peer.log 2>&1 &5. 創建通道
在 Fabric 中,channel 代表了一個私有的通信通道,保證消息的隔離性和安全性并由 orderer 節點管理。首先通過 docker exec 命令進入 CLI 容器,在容器中使用 peer channel create 命令創建通道,命令中
-c 指定 channel 名,
-f 參數選擇上文生成的通道文件 channel.tx,
-cafile 是 orderer 的根證書的本地目錄,使用 TLS 協議進行握手。
命令執行之后生成一個 mychannel.block 塊,然后調用 peer channel join 命令加入通道
step1:創建通道
創建通道完成之后,會在執行命令的當前目錄生成名為“ roberttestchannel. block 的通道初始塊文件
step2:讓已經運行的 Peer 模塊加入通道
step3:更新錨節點
6. Chaincode 的部署和調用
通過部署一個 Chaincode 來測試 Peer 節點和 Orderer 節點的部署是否正確,需要在每個執行 Peer 節點和背書節點安裝 chaincode。
step1 :部署 Chaincode 代碼 。
step2 :實例化 Chaincode 代碼 ,設置鏈碼的背書策略。
step3 :通過 Chaincode 寫人數據 。
step4 :通過 Chaincode 查詢數據 。
總結
以上是生活随笔為你收集整理的Hyperledger Fabric 智能合约实战 (0) 整体步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cryptogen (2)generat
- 下一篇: 区块链新一代监管框架 ---《STRIS