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