Published on

chaincode 安装 初始化 更新 注意事项

Authors

##环境 fabric 1.4.x java-sdk 1.4.7

install

需在每一个peer上进行安装

安装的都是go版本的链码 在javasdk中,有几个小坑。 我链码完整路径是:D:\prj\mychaincode\src\mycc chainCodeSourcePath = "D:\prj\mychaincode" 这个类似GOPATH的定义,下面要有个src目录,再把chaincode工程丢里面 chianCodePath = "mycc"

chainCodePath的设置地方 sdk改了几次。目前最新的是在ChaincodeID.newBuilder()那设。

//需要设置两个路径

//设置chaincode路径
cid = ChaincodeID.newBuilder().setName(name).setVersion(ver).setPath(chaincodePath.toString()).build(); //这里设置
InstallProposalRequest insProposReq =  client.newInstallProposalRequest();
insProposReq.setChaincodeID(cid); 
//设置代码目录路径,类似gopath
insProposReq.setChaincodeSourceLocation(chainCodeSourcePath.toFile());

instantiate

只需在任意安装了chaincode的peer上进行一次初始化。 在未初始化的peer中调用链码,会自动启动一个链码docker。

  • 初始化的时候可以不设置chaincodePath

update

update 之前需在每个节点中install。 跟初始化一样,只需在任意peer中进行update一次。

参考

(链码生命周期)[https://learnblockchain.cn/2019/07/03/chaincode-run/]