区块链研究区块链研习社区块链大学

《锋哥论道区块链》之五区块链2.0之以太坊--消息

2019-05-01  本文已影响10人  7dfc697cf7a9

合约能够将“消息”发送给其他合约。 消息是永远不会序列化的虚拟对象,只存在于以太坊执行环境中。 一条消息包含:
(1)消息的发送者(隐含)
(2)消息的接收者
(3)与消息一起转移的以太币数量
(4)可选数据字段
(5)GasLimit值
从本质上讲,消息就像一个交易,除了它是由合约产生的而不是由外部参与者产生的。 当一个正在执行代码的合约执行CALL操作码时,产生一条消息,该操作码产生并执行一条消息。 就像一个交易,一条消息导致收件人账户运行其代码。 因此,合约可以与外部参与者完全相同的方式与其他合约有关系。
请注意,交易或合约分配的gas限额适用于该交易和所有子执行消耗的总gas。 例如,如果外部参与者A向C发送1000个gas的交易,并且B在向C发送消息之前消耗600gas,并且C的内部执行在返回之前消耗300gas,则B在运行之前可以花费另外100个gas。

上一篇下一篇

猜你喜欢

热点阅读