首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >事务包含代码吗?

事务包含代码吗?
EN

Ethereum用户
提问于 2018-04-21 21:18:31
回答 1查看 154关注 0票数 2

里面是否有带有合同代码的交易?(例如,创建新合同或用户从合同调用方法时)

如果没有,那么ethereum如何知道在需要时要执行哪些代码?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2018-04-21 21:35:00

坚实性文件有一个很好的章节来回答你的问题:

事务是从一个帐户发送到另一个帐户的消息(可能是相同的,也可能是特殊的零帐户,参见下面)。它可以包括二进制数据(其有效载荷)和以太。如果目标帐户包含代码,则执行该代码,并将有效负载作为输入数据提供。如果目标帐户是零帐户(地址为0的帐户),事务将创建一个新的合同。如前所述,该契约的地址不是零地址,而是从发件人及其发送的事务数(“nonce”)派生的地址。这种契约创建事务的有效负载被视为EVM字节码并执行。此执行的输出作为契约的代码永久存储。这意味着,为了创建一个契约,您不发送合同的实际代码,而是发送返回该代码的代码。

您可以看到事务这里的内容。

交易包括:

  1. 消息的接收方
  2. 标识发件人的签名
  3. 从发送方转移到收件人的乙醚的数量。
  4. 可选数据字段
  5. 一个STARTGAS值,表示允许事务执行所采取的最大计算步骤数。
  6. GASPRICE值,表示发送方按计算步骤支付的费用。

与您的问题相关的财产是data field。这是事务可以指定它试图调用的函数以及该函数的任何输入的地方。这也是事务提供契约代码的地方,这些代码被写入到块链中。

参见创建BAT合同这里的示例。

有关代码执行的更多详细信息可以找到这里

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/46325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档