设想一个智能契约,它能够创建代表自然数的NFT:0、1、2、.就凭他们的象征性身份。
创建新NFT的函数对每个人都是可访问的,并将造币的NFT归因于事务的发送方:
function safeMint(uint256 naturalNumber) public {
require(_exists(naturalNumber) == false, "This natural number was already minted");
_safeMint(msg.sender(), naturalNumber);
}例如,这意味着第一个调用safeMint(3)函数的人将是表示自然数3的NFT的第一个所有者。如果其他人再次尝试创建3,则事务将被恢复。
如果两个地址试图在两个不同的块中创建数字3,那么NFT当然会归因于在第一个块中创建NFT的地址。
但是,有可能两个地址试图在同一个块中创建数字3。如果是这样的话,ethereum将如何决定首先执行哪个事务,因为这将有效地定义谁将是NFT的所有者。我们是否可以考虑,建议支付最高汽油价格的交易将首先执行?
这种逻辑会在多边形PoS链上改变吗?
发布于 2021-12-20 18:16:57
这要由矿工来决定。矿商决定应该按什么顺序在块内命令交易--甚至决定将哪些事务包含在块中。
通常情况下,矿工会根据给矿商提供的天然气奖励数量来排序订单,并尽可能多地选择合适的区块。
因此,在本质上,谁支付最高的天然气价格谁得到它的第一。但请记住,这不是一条规则,结果可能会有所不同。
https://ethereum.stackexchange.com/questions/116975
复制相似问题