上周末迅雷链技术沙龙在北京举办,迅雷链应用层研发工程师郝旭在沙龙现场为开发者和区块链技术爱好者做了迅雷链智能合约的分享和解析。
智能合约本质上是一段用代码编写的合同,基于区块链共识机制,高效精确的执行约定内容。各种区块链应用的去中心化实现,以及常说的区块链数据公开透明、无需信任等等特性,全部都通过智能合约来实现。可以说,正因为有了智能合约,区块链的应用才不仅局限于转账和记账,从而有了更大的想象空间。
作为3.0时代的代表性主链,迅雷链一直重视合约的部署工作,在迅雷链上,开发并部署一个自己的智能合约不再是件非常困难的事情,借助迅雷链推出的合约模板和解决方案,如今,一个普通的开发者也能快速完成智能合约的部署。
迅雷链智能合约的优势
智能合约最早是在以太坊上大行其道,迅雷链的智能合约架构在以太坊的基础上又做了很多改进,相比之下,具备以下几点优势和差异之处。
1.迅雷链智能合约系统兼容 EVM,使用solidity开发。在以太坊上开发的合约可以直接移植到迅雷链部署。
2.迅雷链为智能合约提供测试环境/正式环境,并可无缝切换,这让开发工作更加容易,减少了很多因测试等带来的不必要的成本。
3.迅雷链智能合约的开发接入方式不同。使用传统支付应用的接口方式请求,由第三方后台做签名,最终实现合约的调用。传统化的实现方式对普通的应用开发者来说学习成本低,设计和实现应用更快。
4.用户使用方式不同。以太坊上用户要使用某个智能合约,至少必须先懂得MetaMask这个插件的使用方式,参与门槛很高,相对应的,用户的教育成本也会很高,不利于应用的快速推广。而在迅雷链上,智能合约的使用只需用户扫描二维码、唤醒链克口袋即可开始使用,从操作习惯上来说更符合当前网民的使用习惯,更通用,扫清了用户学习使用门槛这一障碍。
相对而言,迅雷链的智能合约系统功能更强,开发更容易,使用更轻松,不管是对开发者,还是对用户都更加友好。
如何部署一个迅雷链的智能合约?
迅雷链上智能合约的部署流程非常简单,只需要分成3步走即可:
1.开发合约,开发应用
2.测试环境部署、测试正式环境
3.部署,申请发布
从流程上来看很简单,关键点在于合约和应用的开发上。在整个开发过程中,开发者只需要负责应用(包括前端应用和后端管理平台)本身,以及应用后台和智能合约这三部分的开发工作就行,至于迅雷链和测试环境,以及链克口袋、服务端SDK等,是由迅雷提供,开发者不用管,只管专注于应用开发即可。
下面以一个典型的体育竞猜类合约,来说明迅雷链智能合约的开发过程。
如图所示,一个这样的竞猜应用,开发者基本上只需要做好这三件事,分别是:
1.业务签名,预交易id,数据做业务签名唤醒/扫码;
2.链克口袋获取交易数据,用户私钥签名回调;
3.交易完成回调第三方应用后台,刷新数据。
其余的工作由迅雷链开放平台来提供。这样就大大减轻了开发者的工作压力,开发所需的人力成本等大为减少。事实上,类似图中的竞猜应用,大约只需要1个5人的开发团队,其中包括1名合约开发,1名后台开发,2名前端开发再加1名测试开发人员。而开发周期也非常短,从开发到完成测试再到部署上线,前后大约只需要1周时间,大大节省了开发时间。
迅雷链还提供哪些合约技术支持?
如果就连合约开发都非常吃力怎么办?迅雷链专门为刚接触区块链技术的开发者们提供了合约技术支持,开放平台上提供了大量合约模板,分别面向不同的应用和功能,开发者可以根据自身需求来选择套用,然后快速完成开发并部署。
此外迅雷链开放平台上还提供合约安全检测功能,提供安全审核工具,开发者可以使用这些工具,对自己对合约进行自动化检测,及时发现安全漏洞。
其它的一些智能合约工具,如迅雷链浏览器、api查询接口、事件回调系统、Demo应用和TRC标准及资产管理等,也都应有尽有。未来迅雷链还打算突破solidity语言的限制,计划支持更多高级语言来实现合约。