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