【快速部署超级链】系列视频课程——第三讲《如何部署智能合约》

 

本视频课程共分为三讲,第一讲:如何快速建链;第二讲:如何玩转TDPOS共识机制;第三讲:如何部署智能合约。

 

戳链接回顾往期:

 

第一讲:如何快速建链

 

第二讲:如何玩转TDPOS共识机制

 

本期课程为开发者讲解智能合约是如何部署的,一起来看吧!

 

 

》》》戳我观看第三讲《《《

 

 

---不方便看视频的小伙伴,欢迎阅读文字内容---

 

 

合约的编写可以参考源码的样例:github.com/xuperchain/xuperunion/tree/master/contractsdk/cpp/example/counter.cc

 

编译合约需要安装docker环境,执行sh build.sh编译,在./contractsdk/cpp/build下产出counter.wasm。

 

一、先创建一个合约账号:

 

1. 创建合约账号,acl选取阈值模型,总权重为0.6,AK设置为网络中前两个节点的address,权重分别为0.5。创建合约账号需要fee;

 

2. 创建成功后,返回合约账号的account name;通过acl query可以查看已经创建的合约账号的acl;

 

3. 将合约账号ACL的AK写入到./data/acl/addrs,以便后续签名使用。

 

 

二、部署合约前需要:

 

1. 给刚才创建的合约账号转一笔fee;

 

2. 编译好要部署的合约。

 

 

三、部署合约:

 

1. 通过合约账号发起,需要合约账号的acl签名;

 

2. 通过multisiggen产出tx.out,对tx.out进行查看,可以获得部署的详细信息,其中initiator部署合约的发起者,authRequire是需要的acl签名地址;

 

3. 对tx.out进行签名;

 

4. 将tx.out连同所需要的签名一起send出去,获得部署合约的txid。

 

 

四、调用合约:

 

执行成功后返回contract response就是执行合约后的结果,以及生成的txid。

 

 

五、查询合约:

 

获得调用合约后,key对应的value,通过执行ip:port来获得不同节点的结果。

 

如果你对百度超级链(Xuper)技术及应用感兴趣

欢迎添加“百度超级链·小助手“微信(微信号:baidu-image)

验证口令:百度开发者

进入微信群交流

收藏 评论(6)
分享到:
共6条回复 最后由二号月台zd 回复于2019-09-06 20:46
#2 筱Myselfkv 回复于2019-08-14

棒棒哒

0
#3 juexiao369 回复于2019-08-21

棒棒哒

0
#4 筱Myselfkv 回复于2019-08-23

棒棒哒

0
#5 乐观的徐小小 回复于2019-09-02

棒棒哒

0
#6 筱Myselfkv 回复于2019-09-06

0