使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约

主要学习如何使用Visual studio code 和 IBM blockchain platform 来开发,测试和部署一个Hyperledger fabric2.0智能合约,并且分析遇到的错误。

1、基础环境

windows10安装的虚拟机Ubuntu16.04

环境部署:Hyperledger fabric2.0(并且成功运行了测试网络)

下载Visual Studio code成功后点击下列图标搜索IBM BLOCKCHAIN PLATFORM

安装(自己想要部署什么语言的链码,也下载相应的依赖包)

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第1张图片

安装成功后左侧栏会多其标志,点击进去后(要求必须的东西都下载好)开始部署链码

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第2张图片

2、部署智能合约

2.1 增加智能合约

开始部署一个官方的增删改查例子作为实验①新建项目→②默认合约→③选择你想部署的语言,我选择javascript→④输入合约名字,输好按enter键确定(我使用的默认的MyAsset)→⑤选择路径(可以新建文件夹)→⑥选择add to workspace然后右下角会显示正在创建

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第3张图片使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第4张图片

然后会自动跳转到项目页面,会多一个我们刚刚部署的链码的项目

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第5张图片

打开可以看到最基础的增删改查功能的合约代码

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第6张图片

2.2导入智能合约

然后我们再次进入IBM BLOCKCHAIN PLATFORM平台选择打包开放的项目,如下图①②所示,可以看到选项有刚刚增加的项目,选择后,选择打包方式tar.gz

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第7张图片

部署成功后会在你的智能合约里多一项你刚刚保存名称MyAsset的合约

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第8张图片

3、通道中部署智能合约

到FABRIC ENVIRONMENTS下可以看到有个单一本地网络里面有默认的一个组织网络,点击它后开始运行(我这个是后续自己添加的,因为刚开始运行默认的出错了,)如果你也出错的话可以选择FABRIC ENVIRONMENTS后的+号自己添加

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第9张图片

都默认第一个选项,然后命名ORG1然后我是v_2.0版本,此过程较慢,而且可能出错,我当时报错docker: failed to register layer: Error processing tar file(exit status 1)我当时是因为docker挂载区满了,我就删除之后重新运行成功了)

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第10张图片

df -h /var/lib/docker   //查看容器挂载信息

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第11张图片

docker rmi $(docker images -q)    //删除所有容器

成功后可以看到环境中有通道、节点、组织。然后①打开mychannel→②添加合约→③选择智能合约→④选择刚刚打包的智能合约→⑤Next→⑥Next→⑦Deploy

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第12张图片使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第13张图片

部署成功会看到mychannel里面多了一个智能合约

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第14张图片

4、运行智能合约并测试

点击FABRIC GATEWAYS中的你刚刚创建的组织ORG1 Gateway,连接成功后会显示通道,打开通道可以看到刚刚部署的智能合约,点击进入之后交易可视化

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第15张图片使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第16张图片

这里会显示合约里所存在的功能函数,这个例子里的分别是查看现存资产、增删改查资产

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第17张图片

我们可以新增资产,因为fabirc是k-v存储,arg0里面填key值,arg1填value值,然后点击提交

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第18张图片

查询刚刚新增的资产就是value为10

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第19张图片

更新资产

使用IBM blockchain platform开发、部署和测试一个Hyperledger fabric2.0智能合约_第20张图片

再查询已经更新成功,删除就是删除这个key值可以。

想要退出就是刚刚“+”号的位置有关退出的符号,可以依次退出相应环境。

ps:如果遇见报错可以尝试卸载IBM BLOCKCHAIN PLATFORM平台重新安装或者关闭所有容器并删除。

你可能感兴趣的:(Hyperledger,Fabric2.0学习,区块链,linux,docker,javascript,ubuntu)