200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Hyperledger Fabric 智能合约实战 (0) 整体步骤

Hyperledger Fabric 智能合约实战 (0) 整体步骤

时间:2019-08-28 11:26:16

相关推荐

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 OrglMSPconf 工 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/peercp $GOPATH/src/github . com/hyperledger/fabr 工 C /sampleconf 工 gI orderer. yaml I opt Ihyperledger/order

step2. 修改模板配置文件

在配置文件 orderer.yaml 所在的目 录执行如下命令启动 orderer: orderer start

4. Peer 节点的启动

Peer 模块是 Fabric 的 核心节点 ,所有 的交易数据 经过 Orderer 排序打包之后 由 Peer 模块存储在区块链 中 ,所有的 Chaincode 也是由 Peer 模块打包并且激活 的 。 Peer 模块的配置信息同样由环境变量和配置文件组成。

step1. 创建存储 Peer 模块的配置文件和区块数据的文件夹,并复制示例配置文件 :

mkdir p /opt/hyperledger/peercd /opt/hyperledger/peercp $GOPATH/ src I g 工 thub . com/hyperl edger Ifabric I sampleconf ig I core . yaml I opt Ihyperledger/peer

step2. 修改后 Peer 模块配置文件

在配置文件 core.yaml 所在的文件夹中执行以下命令启动 order 节点 。

export set FABRIC_CFG_ PATH=/opt/hyperledger/peerpeer 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 查询数据 。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。