从零学本体dApp开发:本体分片技术理解与实战
写在前面
最近在利用业余时间学习本体的开发。我打算把自己学习的过程记录下来,一方面便于自己梳理学到的东西,另一方面希望可以通过笔记的共享,能使本体后来的开发者少走弯路。
由于是初学者,学习本体开发的过程中遇到了很多问题,在此,特别感谢本体社区的各位老师(宏雷、楚笙、Mickey、雪飞的逆袭、Andy季、周佩文等)耐心地为我解答各种各样的问题,本体有你们,真好!
-------------
本文由本体Ontology社区成员@工匠 原创并首发在力场上, 已经过本人同意发布在此。
学习本篇的目的:
在本体主网上线一周年纪念日之际,经过研发人员半年多来紧锣密鼓的筹备与反复测试,本体分片测试网终于正式上线,开发者们可以开始体验和测试了。
采用了分片技术的智能合约就是分片合约,官方介绍分片合约的调用由两种方式:一是使用本体CLI命令行,另一个是 ontology-go-sdk。
这一篇我们就来学学如何用CLI部署和调用智能合约。
目录:
1. 分片合约的编译
2. 用CLI部署分片合约
3. 用CLI调用分片合约
1.分片合约的编译
我们知道本体CLI不能编译合约,所以我们需要在SmartX中近些合约编写和编译,编译出来的AVM字节码是我们需要的,
我们把它的内容copy到一个文本文件中,待用。
2.用CLI部署分片合约
部署之前我们需要先确认钱包中是否由充足的ONG,在CLI中执行如下命令(查询之前需要启动solo-chain,即启动私有网,执行命令会出错,也不然查不到):
可以看到我们钱包中的ONG是充足的
执行部署命令 ./ontology contract deploy,参数 -- code需要写我们之前保存的AVM字节码的文本文件的路径,其他参数可以随便填写,如下图:
输入密码成功后,返回这部署的状态,如下图:
我们再通过根据哈希值查询状态的命令查询部署是否成功,如下图:
看到State为“1”,说明部署合约成功了。
2.用CLI调用分片合约
调用通过如下命令
./ontology contract invoke --address=XXX --params=XXX --return=XXX --p
参数--address=后面填写刚刚部署的合约的地址,--params后面填写函数名即demo,执行过程如下图:
然后我们再通过根据哈希值查询状态的命令查询执行是否成功,如下图:
可以看到state是“1”,所以我们合约调用成功了。
- APP开发实战147-使用AOP技术输出Log
- APP开发实战148-使用AOP技术输出Log的具体实现
- 《ReactNative技术精讲与高质量上线APP开发项目实战》
- APP开发实战28-POST与GET的区别
- web前端开发技术之浅谈对HTML5 智能表单的理解
- APP开发实战34-HTTPS介绍
- APP开发实战134-APP版本更新功能设计
- 直播系统 移动短视频APP开发可以在这四个方面应用AI技术
- Android App开发技术图谱
- 语义Web和本体开发相关技术
- 移动端IM的APP的开发技术
- Vue2.5从零基础入门到去哪儿网App实战项目开发分享
- APP开发实战40-MD5介绍
- 【python】实战:“唱啥”app后台开发
- unity3d开发实战《啪啪三国》技术详解
- 开发Android app需要掌握的技术
- Nodejs + React 实战开发区块链'MK'Dapp 专门为前端工程师设计
- Struts 2核心技术与Java EE框架整合开发实战
- Vue技术栈开发实战笔记(二)-------路由的基础
- APP开发实战83-Android动态权限兼容性问题