因此,所有完整节点都执行每个智能契约调用。block.coinbase应该返回矿工地址,但是当事务尚未在矿工手中,而是由中间链中的一个完整节点执行时,它会返回什么?
发布于 2021-01-10 08:12:06
没有所谓的“中间链”。
当您发出一个事务时,它将被传播到所有节点。如果交易的天然气价格足够高,矿商就会将交易包括在其区块内。在此之前,交易基本上不会发生任何变化--它只会传递给任何一家矿商。
当矿工将事务包含在他正在挖掘的块中(并且成功地解决了PoW难题)时,他会广播该块和其他节点(包括非挖掘节点),当它们得到它时验证它。
多个节点可能在其块中包含相同的事务,但由于协商一致的规则,它最终将只属于一个块(其他成功的块将成为叔父块)。
因此,事务总是在一个且只有一个块中(从规范链的角度来看)。因此,block.coinbase指向在其块中包含事务的miner节点。
https://ethereum.stackexchange.com/questions/92106
复制相似问题