动手写第一个fabric智能合约

感谢higer给我们上了精彩的一课,带我们入门fabric智能合约。

就像笑来老师说的,学会最少必要知识后,就要马上行动,马上用起来。现在higer已经教把最少必要知识教给了我,不行动说不过去。

说来遗憾,5月26日那天正好发烧,没办法听higer的直播,直到今天才回听。

废话就不多说了,直接上作业吧!

一、登陆IBM Blockchain

网址:https://crl.ptopenlab.com:8800/bc/#home

如果没有账号的话,需要注册1个账号,IBM会发送验证邮件到你的邮箱,在邮箱激活后,点击下图红色方框,即可进入开发界面:


二、正式开发

1、新建一条区块链

点击“Apply a New Chain”,新建一条区块链,共识算法选择为“pbft”

2、新建一个智能合约

选择“chaincode_example02”,点击旁边打勾的标志,即可弹出下图。初始化参数设置好了之后,点击"Deploy"。

这里务必注意,init函数数只能接受4个参数,也就是2个人的名字以及初始“余额”。

3、写账本

第2步部署后,就会弹出以下的界面:

下图显示的正是我们新建区块链时设置的节点数,即4个验证节点。

由于区块创建需要时间,所以现在暂时只有创世区块(区块0)


稍等片刻,部署区块(区块1)就出现了


接下来是higer给zhongxh转账5000,点击右下角的“invoke”,就可以看到下面的界面。

“Function”我们选择"tranfer",在这个场景是转账的意思

“Arguments”表明:higer向zhongxh转账5000

这一次,我们很快就看到invoke区块(区块2),看到invoke区块生成了,我们也就可以查询了


点击右下角的“Query”,就可以看到如下的界面。

“Function”我们选择"query",在这个场景是转账的意思

“Arguments”表明:查询higer的余额


点击“Query”按钮后,就会显示higer的余额


higer账户的余额由10000变成5000,可见钱已经从higer的账户里面转出

那我们现在还不是很放心,钱到了zhongxh的账户了吗?

那我们查查zhongxh账户的余额吧!


和上面查询higer的账户余额一模一样,只是“Argument”换成了["zhongxh"]而已
zhongxh账户的余额由500变成5500,可见higer账户转出的钱已经到账

到这里,higer向zhongxh转账成功了。

那我们接下来可能会问:新建智能合约的时候只能init两个账户,如果我还想要init更多的账户怎么办?

答案是多deploy几个智能合约。

点击下图右下角的“Deploy”,即可新建智能合约。

“Smart Contract”我们仍然选择"chaincode_example02"

“Instance Name”为"instance2"

"Arguments"为"["Alice","10000","Bob","50000"]",表明Alice账户拥有10000,Bob的账户拥有5000

请注意,这里的Arguments不能再出现"higer"和“zhongxh”,否则会与instance1冲突

新建智能合约后,就会有Deploy区块(区块3)产生


现在我们可以查询Alice和Bob的账户余额:


Bob的账户余额是50000,表明初始化成功



Alice的账户余额是10000,表明初始化成功

假设Alice在Bob的咖啡厅买了一杯咖啡,支付了500


Alice向Bob转了500



一个新的invoke的区块(区块4)产生了
查询Alice账户的余额
Alice账户的余额由原来的10000变成9500,表明钱已经转出去了
查询Bob账户的余额
Bob账户的余额由原来的50000变成5000,表明钱已经收到了


从上面的图,可以得知,Alice支付给Bob的咖啡钱已经到账。

本次作业到此结束,写得不好的地方,请不吝指教,谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是对以太坊文档 Ethereum Frontier Guide 和 Ethereum Homestead 的整...
    趁风卷阅读 9,591评论 0 16
  • 1.介绍 本文旨在对Aeternity区块链的架构和可能的应用进行总览。未来我们将提供更细致的论文,尤其是针对共识...
    X1nMa阅读 1,437评论 0 5
  • 听者在接受和理解言语的意义时,他同时要对这一言语采取积极的应对的立场:同意或是不同意,补充它、应用它、准备实现它等...
    黑物质阅读 268评论 0 0
  • 喜欢你 而恰好 你也喜欢我 一段时间 不长亦不短 呼吸 皱眉 怄气 优点 缺陷 见过你的家人 温婉而慈祥 也许 明...
    大囍Daisy阅读 188评论 3 1
  • 母亲坐在旧板凳上扎着小菜,昏暗的灯光把她的身影拉的很长很长,我总是捋着小绳将它们递给母亲,而后她熟练的把小菜择...
    婳瑾阅读 202评论 0 5