如同在以太坊中一样,Arbitrum客户端提交想要的交易,系统(通常来说)稍后执行这些交易。在Arbitrum rollup中,客户端通过向以太坊收件箱中发送信息来提交交易,该过程可以通过聚合器或序列器实现。
Arbitrum的区块编号与以太坊的是相互独立的。
一个以太坊区块可能包含多个Arbitrum区块(有可能Arbitrum链上的活动很多);不过,一个Arbitrum区块不可能跨越多个以太坊区块。因此,对于给定的Arbitrum交易来说只能与一个以太坊区块和一个Arbitrum区块挂钩。
Arbitrum区块有自己的区块编号,创世区块从0开始,依次递增。
ArbOS和序列器负责在一个区块结束时准备下一个区块;Arbitrum区块的生产速率的是比较稳定的。
客户端查询Arbitrum节点的RPC接口(如转账结果),标准的区块编号字段接收到的是Arbitrum的区块编号。L1区块编号则在l1BlockNumber
字段内。
const txnReceipt = await arbitrumProvider.getTransactionReceipt('0x...')
/**
txnReceipt.blockNumber => Arbitrum block number
txnReceipt.l1BlockNumber => L1 block number ("ish")
*/
Arbitrum区块编号还可以通过获取。
ArbSys(100).arbBlockNumber() // returns Arbitrum block number