BSN区块链服务网络开发入门

在开发者模式下调试BSN链码(二)

小韦云科技-区块链+小程序+公众号+商城+分销+直播+企业官网+外贸电商-为您提供优质的开发服务-电话/微信联系:18123611282

上一次我们把开发环境启动后,这一节我们来调试下BSN的链码

注意:之前想在这开发模式下调试nodejs的链码的,但在2号终端里直接提示node命令不存在。看官方手册,它给出现的例子是go开发的链码,所以在2号终端执行go version时能正常看到go的版本号,而执行node -vnpm -v时却提示命令不存在,但我的电脑确定是已经安装了nodejs了的,因此推测开发模式下只能调试golang链码,其它语言的链码只能自行想办法,当然如果你知道怎么调试nodejs链码,请在官网中一定联系我,我非常需要。

下载BSN的链码

直接下载代码包:http://www.bsnbase.com/static/base/BaseChainCode.zip

解压后

我们这次要使用的是golang版本的链码,进入bsnBaseCC-golang目录,把里面的bsnBaseCC文件夹复制到开发环境的$GOPATH/src/github.com/hyperledger/fabric-samples/chaincode目录下(如果还没下载fabric-samples,可以看我之前的文档下载安装)

编译链码

2号终端中进入到链码目录中,并开始运行链码

cd bsnBaseCC
go build

在不修改BSN代码的情况下,会报以下错误

main.go:4:2: cannot find package "bsnBaseCC/bsnchaincode" in any of:
        /opt/go/src/bsnBaseCC/bsnchaincode (from $GOROOT)
        /opt/gopath/src/bsnBaseCC/bsnchaincode (from $GOPATH)

需要把import中的所有bsnBaseCC/路径换成chaincode/bsnBaseCC/再试

如果还报这个错误:go: github.com/hyperledger/fabric-chaincode-go@v0.0.0-20190823162523-04390e015b85: Get https://proxy.golang.org/github.com/hyperledger/fabric-chaincode-go/@v/v0.0.0-20190823162523-04390e015b85.mod: dial tcp 172.217.160.113:443: connect: connection refused
这是golang.org这个地址辆被墙,应当修改为国内可以支持的代理站点:

go env -w GOPROXY=https://goproxy.cn,direct

编译成功后,就可以运行链码了

CORE_PEER_ADDRESS=peer:7051 CORE_CHAINCODE_ID_NAME=mycc:0 ./bsnBaseCC

现在链码已经在peer节点中启动。但要注意的是:现在链码还没有加入通道中,我们接下来将使用instantiate指令后实现

调试链码

3号终端中先安装链码

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0

如何报这个错误
Error: error getting chaincode deployment spec for mycc: error getting chaincode package bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim
则需要在3号终端里(注意是在容器里面)先下载fabric-chaincode-go

go get github.com/hyperledger/fabric-chaincode-go

同理如果报其它包也一样先这样下载,然后再试

本文由小韦云原创,转载请注明出处:https://bctos.cn/doc/10/1848,否则追究其法律责任

关键词:Fabric 开发者模式 BSN

广告位招商