区块链智能合约技术特点全面分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
区块链智能合约技术特点全面分析
随着移动互联网技术的成熟,后移动互联网时代的代表——区块链技术则是这个时代的又一重大创新,尽管这项技术目前还处在非常初期且神秘晦涩的阶段,但充满想象力。
什么是智能合约?
1995年Nick Szabo首次提出智能合约的概念,即:合约参与方同意的(经常是相互的)权利和义务。以销售合约为例,卖家承诺发送货物,买家承诺支付合理的货款。当一个预先编好的条件被触发时,智能合约则执行相应的合同条款。
随着区块链技术的发展和核心价值的进一步被挖掘,智能合约将不仅仅只是传统合约的数据化。在区块链世界,智能合约将扮演更多核心的工作,本文接下来将通过剖析区块链3.0中的智能合约技术细节,来展示区块链世界未来的智能合约形态。
从技术方面剖析智能合约——以Ultrain智能合约为例
在Ultrain的合约体系中,我们无法在自己的合约中嵌入其他合约的代码,那当我们不得不在自己的合约中使用其他合约的时候该怎么办呢?这里Ultrain提供了三个方法,允许你从自己的合约中调用其他合约的代码。在这里,将主要介绍有关交易的三个方法以及它们的特性。
1. Action.requireRecepient
首先介绍Require-recepient()方法。从名字中我们可以得知,这是一个通知。当这个方法被调用时,To合约上部署的同名方法将被调用。举个例子,现在我们编写了含有以下方法的两个合约,将一个合约部署在账号jack上(如图1),另一个部署在合约rose上(如图2)。
通过发起一笔交易来进行测试,如果一切正常,将会看到在打印的log中jack和rose的recepient同名方法都被调用(如图3)。