交易是由帐户发出,带密码学签名的指令。 帐户将发起交易以更新以太坊网络的状态。 最简单的交易是将 ETH 从一个账户转到另一个帐户。

1.什么是交易

太坊交易是指由外部持有账户发起的行动,换句话说,是指由人管理而不是智能合约管理的账户。

ssl

改变 EVM 状态的交易需要广播到整个网络。 任何节点都可以广播在以太坊虚拟机上执行交易的请求;此后,验证者将执行交易并将由此产生的状态变化传播到网络的其他部分。交易需要付费并且必须包含在一个有效区块中。

交易包含的数据

所提交的交易包括下列信息:

燃料是指验证者处理交易所需的计算。 用户必须为此计算支付费用。 gasLimit 和 maxPriorityFeePerGas 决定支付给验证者的最高交易费。 关于燃料的更多信息

交易对象看起来像这样:

{
  from: "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
  to: "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a",
  gasLimit: "21000",
  maxFeePerGas: "300"
  maxPriorityFeePerGas: "10"
  nonce: "0",
  value: "10000000000",
}

但交易对象需要使用发送者的私钥签名。 这证明交易只可能来自发送者,而不是欺诈。 Geth 这样的以太坊客户端将处理此签名过程。

示例 JSON-RPC 调用:

{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "account_signTransaction",
  "params": [
    {
      "from": "0x1923f626bb8dc025849e00f99c25fe2b2f7fb0db",
      "gas": "0x55555",
      "maxFeePerGas": "0x1234",
      "maxPriorityFeePerGas": "0x1234",
      "input": "0xabcd",
      "nonce": "0x0",
      "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
      "value": "0x1234"
    }
  ]
}

示例响应:

namedescipt
raw是采用递归长度前缀 (RLP) 编码形式的签名交易
tx是已签名交易的 JSON 形式。

2.data字段

绝大多数交易都是从外部所有的帐户访问合约。 大多数合约用 Solidity 语言编写,并根据应用程序二进制接口 (ABI) 解释其data字段。

3.交易的类型

以太坊有几种不同类型的交易:

4.以太坊生命周期

以太坊交易的生命周期:

blockchain

区块链基础知识 交易 递归长度前缀 (RLP) ABI Gas