3.08 EOS智能合约(下)

本文详细介绍了EOS智能合约中的李嘉图合约,它用于明确交易双方意图,类似于现实世界的合同。此外,文章还讨论了EOS智能合约的Action、Transaction、Inline与Deferred交互模式,并对比了EOS与以太坊合约的区别,包括升级能力、权限控制和数据存储方式。最后,通过实例展示了不同权限的智能合约交互调用流程。
摘要由CSDN通过智能技术生成

1.什么是李嘉图合约

  • 李嘉图合约是一种特殊的结构化文本,主要用作交易中明确双方的意图,是做交易之前查看的要遵循的规则
  • 以后正式合法的合约都要有李嘉图合约
  • EOS白皮书中所提到的,所有的交易,都会是基于对宪法同意的基础之上进行的,这就意味着,EOS启动后,用户所有的链上行为,都会涉及到李嘉图合约
  • 简单说,李嘉图合约是一个文件,定义了通过互联网发行的某种类型的价值,标识发行人和签署人,将发行人认为合适的期限和条款加入其中,从而让该文件成为合约

2.李嘉图合约可以解决什么问题

  • 智能合约存在一个普遍问题:涉及到交易双方意图类型的问题时,仅靠代码本身,无法良好解决
  • 对于一些概念的理解,类似现实世界之中的交易合同的约定,有时仅靠智能合约是无法做到的,这时,具有法律效应的文本合约,结合依赖区块链技术开发的智能合约,会带来更多的准确性

3.李嘉图合约在哪

  • EOS智能合约abi文件由5部分组成
{
	"types":[...],					//定义类型的别名
	"structs":[...],					//各个类型的数据结构
	"actions":[...],					//智能合约的action
	"tables":[...],					//数据结构体,表
	"ricardian_clauses":[...]		//李嘉图条款
}

4.Action

  • 一个智能合约可以定义多个Action,每个Action代表一次单独的操作
  • 映射到代码中,可以将Action理解成类中的函数,函数中定义了调用Action时需要执行的操作
  • 智能合约与账户通过Action的方式进行通信,Action可以单独执行,也可以和其他Action一起作为一个整体执行
  • 例如:账户小王执行了[还钱]Action,[还钱]Action通知账户工商银行,执行[转账]Action,[转账]Action又通知账户[小李],执行[短信通知]Action

5.Transaction

  • 是一个或多个Action的集合,一个Transaction中的Action要么全部成功,要么全部失败,与数据库事务很像
  • 前面例子中,[还钱]Action、[转账]Action、[短信通知]Action可以被包含在一个事务中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值