主页 > imtokenapp下载安装 > 基于交易的状态机——以太坊交易详解

基于交易的状态机——以太坊交易详解

imtokenapp下载安装 2023-01-17 13:37:09

总的来说,以太坊更像是一个基于交易的状态机,不同账户之间发生的交易是使以太坊从一种状态移动到另一种状态的原因。

因此,交易可以被视为由外部拥有的帐户生成的序列化加密签名指令,然后提交给区块链。

sitehqz.com 以太坊交易查询_sitesohu.com 以太坊交易查询_以太坊交易系统

以太坊交易分为两类:一类是“消息调用”,一类是“合约创建”(创建新的以太坊合约的交易)。

无论何种交易类型,都应包含以下组成部分:

以太坊交易系统_sitehqz.com 以太坊交易查询_sitesohu.com 以太坊交易查询

在谈到“账户”时,我们看到交易(包括消息调用和合约创建交易)总是由外部账户发起并提交到区块链。 另一种思考方式是,交易是外部世界与以太坊内部状态之间的桥梁。

以太坊交易系统_sitesohu.com 以太坊交易查询_sitehqz.com 以太坊交易查询

但这并不意味着一个合约不能与其他合约对话。 存在于全局范围内的合约可以与同一范围内的其他合约进行通信。 它们是通过“消息”或“内部交易”实现的。 我们可以把消息或内部交易看成类似于交易,主要区别在于它们不是由外部账户生成的,而是由合约生成的,是虚拟对象。 与交易不同,合约没有序列化,只存在于以太坊的执行环境中。

当一个合约向另一个合约发送内部交易时以太坊交易系统,执行接收方合约账户上存在的关联代码。

以太坊交易系统_sitesohu.com 以太坊交易查询_sitehqz.com 以太坊交易查询

需要注意的一件事是内部交易或消息不包括 Gas Limit。 这是因为gas limit是由原始交易的外部创建者(即一些外部账户)决定的。 外部账户集的 Gas Limit 必须足够高才能进行交易以太坊交易系统,包括由于该交易而发生的任何二次处理操作,例如合约到合约的消息。 在交易和消息链中,如果特定消息执行耗尽 gas,则该消息的执行将与执行引起的所有后续消息一起恢复。 但是,不需要恢复上一级的执行。