初次编写chaincode并部署运行体验

#环境:

1、vmware和ubuntu虚拟客户机环境为ubuntu16.04.2 LTS和vm12.5.7
2、已经运行成功fabric1.0的byfn网络(可参考笔者的另一篇文章“hyperledger-fabric+docker安装体验”)

#说明:

1、方便起见,笔者利用byfn网络所带的脚本进行部署chaincode,并没有通过开发模式
2、以下描述的脚本中语句和内容都是原先的不经过修改的例子

#步骤:

1、在你喜欢的IDE上编写chaincode,这方面自行参考网上,和{你的目录}/fabric-samples/chaincode/下的几个链码例子,参考链接:http://www.cnblogs.com/studyzy/p/7360733.html

2、在{你的目录}/fabric-samples/chaincode/下新建一个文件夹,把写好的chaincode文件(***.go等所有相关文件)复制到该文件夹中,参考命令:

	cp {chaincode文件路径}/具体文件 {你的目录}/fabric-samples/chaincode/新文件夹/具体文件

3、打开first-network/scripts目录下的scripts.sh文件,按照如下步骤修改:

	1)找到脚本中的installChaincode函数,修改其中内容chaincode_example02为第二步新建的文件夹名字
	2)找到脚本中的instantiateChaincode函数,修改其中参数部分:
		如,["init","a","100","b","200"]中第一个参数是要做的对应操作,init对应chaincode中的Init方法(这一步中init不用改),其他的都会进入Invoke方法,具体见代码;第二个参数开始就是要传入chaincode的参数(args []string),根据代码需要进行修改
	3)找到脚本中的chaincodeQuery函数,修改同2,其中第一个参数根据chaincode中编写的Invoke方法内查询方法对应的字符串
	4)找到脚本中的chaincodeInvoke函数,修改同2,其中第一个参数根据chaincode中编写的Invoke方法内调用的方法对应的字符串
	5)找到#Query on chaincode on Peer0/Org1注释下的语句,把chaincodeQuery的第二个参数修改为你的chaincode在此时调用查询方法得到的结果(注意,如果结果中有空格,则只写以空格分隔的最后一部分。这个参数其实是用于脚本判断查询是否成功)
	6)找到#Query on chaincode on Peer3/Org2, check if the result is 90注释下的语句,同5一样修改,注意此时的查询结果不一定和5一样,因为在这之前经过了一次invoke,当然,具体看你的chaincode了

4、这时候就可以开启测试了,进入byfn.sh脚本目录,直接执行./byfn.sh -m up

5、进行测试:
	进入cli容器,执行查询、调用等命令测试chaincode是否正常运行,具体命令参考scripts.sh脚本或者参考http://hyperledger-fabric.readthedocs.io/en/latest/samples.html

DONE.

转载于:https://my.oschina.net/u/3628490/blog/1517365

你可能感兴趣的:(初次编写chaincode并部署运行体验)