文档章节

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

fangYC
 fangYC
发布于 2017/08/19 17:37
字数 688
阅读 141
收藏 0

#环境:

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.

© 著作权归作者所有

共有 人打赏支持
fangYC
粉丝 0
博文 11
码字总数 10485
作品 0
揭阳
程序员
虚拟货币,山寨币开发多节点集群的部署(1)

区块链爱好者(QQ:53016353) 虚拟货币 Fabric 1.0即将揭开面纱,社区用户对此充满期待。为迎接 Fabric 1.0 的发布,本文分3期连载,介绍如何搭建多节点的分布式 Fabric 集群,文后可下载P...

jqq53016353
2017/12/07
0
0
用Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之编写链代码程序

编写第一个 Java 链代码程序 在上一节中,您已经熟悉了如何构建、运行、部署和调用链代码,但尚未编写任何 Java 代码。 在本节中,将会使用 Eclipse IDE、一个用于 Eclipse 的 Gradle 插件,...

笔阁
05/24
0
0
Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群

5:启动Fabric多节点集群 5.1、启动orderer节点服务 上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群。 首先启动orderer节点,切...

aberic
2017/09/18
0
0
hyperledger fabric本地开发环境mac部署

搭建方法主要参考http://hyperledger-fabric.readthedocs.io/en/latest/dev-setup/devenv/的英文文档说明,和另一篇windows下的文章(http://8btc.com/article-3815-1.html)在mac pro下进行...

黑神领主
2016/11/16
3.2K
2
超级账本Fabric 1.0 多节点集群的部署(3)

题图摄于美国加州17英里:Lone Cypress ( 接上期,部署配置中大量使用了 docker 和 docker compose ,建议不熟悉的读者先补充相关知识。) 2.3 多节点 Fabric 的配置 以下各VM的工作目录为:...

q48s71bczbeylou9t0n
2017/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

angular 解决其他电脑不能访问的问题。

ng serve --host 0.0.0.0 --disable-host-check

miaojiangmin
今天
1
0
优酷视频文件怎么转换格式

  以前在优酷上下载视频都只是在手机上观看,但随着科技的发展,对于视频的要求也逐渐增多,不再只是观看视频那么简单,在精彩的部分还会将其单独分割出来,然后进行视频剪辑,可以做出我们...

萤火的萤火
今天
0
0
数据结构:散列

在一个数据结构中查找key元素,用顺序查找、二分查找都需要经过一系列关键之比较才能查找到结果,平均查找长度与数据量有关,元素越多比较次数就越多。 如果根据元素的关键字就能知道元素的存...

京一
今天
0
0
Apache RocketMQ 正式开源分布式事务消息

近日,Apache RocketMQ 社区正式发布4.3版本。此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消...

阿里云云栖社区
今天
30
0
使用JavaScript和MQTT开发物联网应用

如果说Java和C#哪个是最好的开发语言,无疑会挑起程序员之间的相互怒怼,那如果说JavaScript是动态性最好的语言,相信大家都不会有太大的争议。随着越来越多的硬件平台和开发板开始支持JavaS...

少年不搬砖老大徒伤悲
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部