hyperledger 儿童车级开发项目实战----投票系统(1)
阅读原文时间:2023年07月09日阅读:1

今天根据hyperledger 企业级开发项目实战视频,自己做了一个投票demo。在这做个记录

首先编写智能合约

$GOPATH的的src路径下创建项目的名称,我的是mkdir vote

然后创建chaincode文件夹,主要放智能合约的代码

进入chaincode后,创建votecc的二级目录,忘了为啥要这么做了

进入votecc目录,输入npm init 先初始化环境

然后输入 npm install --save fabric-shim 安装fabric相关的依赖库

可能会报如上的警告,不过问题应该不大的,继续往下走。

接下来,编辑chaincode的核心代码, 输入 vi vote.js,进入编辑模型开始输入你的核心代码,视频里有模板,讲解的还不错

然后是配置网络,搭建环境

cd到src下vote文件中

然后创建network文件夹,

mkdir votenetwork
cd votenetwork/
mkdir basic-network
cd basic-network/

关于basic-network文件里的配置文件,你看完上面那个视频之后会发现,其实所有配置文件直接从fabric-simple中拷贝过来就可以了

有了crypto-config.yaml文件后需要编译一下,通过如下进行配置,

cryptogen generate --config ./crypto-config.yaml

如果提醒没有cryptogen命令,可以修改一下环境变量,加一个东西,这在上面这个视频的第9节的8分26秒左右有说明

参照他的说明应该可以解决

使用tree命令查看4级目录

没有tree命令的话,可以通过apt-get install tree进行安装

然后进行创始区块创建

首先要创建mkdir channel-artifacts文件夹

configtxgen -profile OneOrgOrdererGenesis -outputBlock ./channel-artifacts/genesis.block

configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel

然后编写docker-compose.yaml文件