4_区块编号和时间

如同在以太坊中一样,Arbitrum客户端提交想要的交易,系统(通常来说)稍后执行这些交易。在Arbitrum rollup中,客户端通过向以太坊收件箱中发送信息来提交交易,该过程可以通过聚合器或序列器实现。

区块编号:Arbitrum vs. 以太坊

Arbitrum的区块编号与以太坊的是相互独立的。

一个以太坊区块可能包含多个Arbitrum区块(有可能Arbitrum链上的活动很多);不过,一个Arbitrum区块不可能跨越多个以太坊区块。因此,对于给定的Arbitrum交易来说只能与一个以太坊区块和一个Arbitrum区块挂钩。

Arbitrum中的以太坊区块编号

Arbitrum区块有自己的区块编号,创世区块从0开始,依次递增。

ArbOS和序列器负责在一个区块结束时准备下一个区块;Arbitrum区块的生产速率的是比较稳定的。

客户端查询Arbitrum节点的RPC接口(如转账结果),标准的区块编号字段接收到的是Arbitrum的区块编号。L1区块编号则在l1BlockNumber字段内。

  1. const txnReceipt = await arbitrumProvider.getTransactionReceipt('0x...')
  2. /**
  3. txnReceipt.blockNumber => Arbitrum block number
  4. txnReceipt.l1BlockNumber => L1 block number ("ish")
  5. */

Arbitrum区块编号还可以通过获取。

  1. ArbSys(100).arbBlockNumber() // returns Arbitrum block number

3_Solidity支持5_ArbGas与运行时