SmartX 是一个可用于编译、部署和调用智能合约的一站式 IDE,提供丰富的智能合约模板以及强大的在线编辑器。本期的目的是让开发者清晰地了解使用 SmartX 进行合约编写、编译、部署和调用的整个流程。
创建项目
开发者在打开https://smartx.ont.io网址后,可以使用 Ontology 钱包文件来登录 SmartX。另外,开发者也可以使用 GitHub 账号进行登录。
在登录之后,开发者将进入项目列表页面,此时可以选择已存在的项目或者选择创建新项目。
编写与编译智能合约
创建一个新项目后,开发者可以选择自己喜欢的语言开始编写智能合约,目前支持 C#或者 Python。本体官方推荐使用 Python 智能合约,Python 智能合约拥有最完善的技术支持。随后,开发者会进入项目编辑页面,其左侧是合约编辑器,右侧是操作面板,合约编辑器下方的区域会打印操作的输出结果。开发者可以在合约编辑器里开始编写智能合约,我们提供了很多实用的模板供开发者参考。
在完成编写合约之后,开发者可以点击操作面板上的编译按钮进行合约的编译。如果所编写的智能合约语法正确,将会被编译出相应的 ABI 文件和 AVM 文件,并展示在操作面板上。
部署智能合约
接下来,开发者可以点击操作面板上的部署按钮将合约部署到区块链上。点击部署按钮后,会调用 Cyano 钱包签名支付所需 ONG,部署合约会消耗大约10个 ONG。部署和调用智能合约,会使用 Cyano 钱包,其使用方法可以参考:
https://v.qq.com/x/page/u0797zd38y1.html
部署的结果将会打印在输出框里。开发者可以拷贝结果里的交易 hash 到本体的区块链浏览器上进行查阅,进一步确认部署是否成功。除了 SmartX 外,开发者还可以使用本体的 SDK 来部署合约。
调用智能合约
开发者可以点击操作面板上的运行按钮来调用智能合约中的方法。开发者可以选择想要调用的方法,输入正确的参数值,点击运行按钮,调用智能合约。点击运行后,会调用 Cyano 钱包签名确认交易。
调用的结果将会打印在输出框里。当然,像部署智能合约一样,除了 SmartX,开发者还可以选择使用本体的 SDK 来调用智能合约。
总结
SmartX 除了支持本体智能合约的编译、部署和调试以外,还提供了丰富的工具,开发者可以使用这些工具进行数据格式的转换和完成一些其它功能,比如生成一个随机私钥、私钥的明文格式和WIF格式的互转、Keystore 中私钥的提取等。
未来,SmartX 还会支持 Ontology-Wasm 在线编译功能及更多主流开发语言,包括 Java、Rust、Go、JavaScript 等。下一步,我们将像类似 GitHub 等分布式软件项目代码托管平台一样,支持多人共同参与、分享一份复杂的合约,并同时实施一套的经济激励措施,融入公正的治理政策,反映每一个参与者的贡献,使智能合约编写、智能合约交易、协作、社区建设等相结合,形成一个良好的智能合约开发生态。