时间:2023-06-10|浏览:228
什么是EOS智能合约?
EOSIO智能合约软件注册在区块链上,并在EOSIO节点上实行,它完成了“合同”的词义,在区块链上存放合同的请求行为,即请求账簿。EOS定义的智能合约包括两个因素:代表合同的程序和执行合同时的举动。和BTC把UTXO记录在区块链上一样,EOS也把所有的行为数据记录在了区块链上,但唯一的不同是EOS是一个智能合约平台,它不仅适用于转账合同,还包括CPU、Bandwidth、RAM人机交易市场、投票等。因此,EOS智能合约是比特币的扩展版本,但仍然由最基本要素构成:代表合同的程序和执行合同时的举动。
EOS智能合约的特点:
EOSIO智能合约由一组Action和类型定义构成。Action是特定并实现合同的举动,而类型定义是特定所需的内容和结构。开发合同时应对每一个action完成对应的actionhandler。actionhandler的参数特定了接收的参数类型和数量。当向此合同推送action时,必须推送符合要求的参数。Action主要在基于消息的通讯系统架构中运作。客户端能使用cleos命令,将信息推送到nodeos来启用Action。也可以用EOSIOsend方式(比如eosio::action::send)来启用Action。nodeos将Action请求分发给合同的WASM代码。该代码全面地运作完,然后继续解决下一个Action。EOS体系基于通信,Action便是EOS上通信的媒介。
通信模型
EOSIO适用两种基本通信模型:内联(inline)通讯,如在目前交易中处理Action,和延迟(defer)通讯,如开启一笔未来的交易。
·Inline通讯
Inline通讯是指启用Action和被启用Action都要实行成功(不然会一起回滚)。Inline通讯应用初始买卖相同的scope和权限并确保与当前action一起实行。能够被称为交易里的嵌入交易。
·Deferred通讯
Deferred通讯在概念上相当于推送一个transaction给一个账户。这个transaction的执行是基于节点独立判断进行的,Deferred通讯难以保证信息一定成功或是失败。
EOS智能合约的工作原理分析
智能合约由区块链里的客户共同参与制订,适用于客户之间的所有交易行为。协议中确定了双方的权利与义务,开发者把这些权利与义务以电子化的形式进行编程,代码中包含会触发合同自动执行的条件。一旦编号完成,这份智能合约便被上传至区块链网络上,即全网验证节点都会接受到合同。智能合约会定期维护存不存在相关事件和触发条件;满足条件的事情可能推送到待验证的序列中。验证节点先向该事件开展签名验证,以保证其实效性;等大部分验证节点对该事件达成一致后,智能合约将成功实行,并通知客户。成功实施的合同将移出区块。未实施的合同则继续等待下一轮解决,直到成功实行。
布署到以太币上的智能合约是要耗费以太币的。智能合约也遵照“Less is more”,逻辑应尽量地简易。逻辑越复杂,耗费的以太币就越多。
总之,在区块链社会里,大家共同维护一个区块链账本,全部交易数据没法篡改、不能伪造,还能减少人力查账的出错几率和人工成本。随着智能合约的普及,大家也会变得更加佛性。应对隐性的纠纷,无需自己出马,一切代码来定。
用戶喜愛的交易所
已有账号登陆后会弹出下载