【问题标题】:How is smart contract synchronized over blockchain?智能合约如何在区块链上同步?
【发布时间】:2018-01-20 08:41:22
【问题描述】:

想象一下智能合约被交易触发并因此发送另一笔交易。代码将如何执行?如果每个节点都执行代码,就会有很多相同的事务,只是时间戳可能不同。那么,如何避免这个问题呢?

【问题讨论】:

    标签: blockchain ethereum contract


    【解决方案1】:

    这不是查看区块链交易的正确方法。

    所有节点都在竞争第一个将交易块提交到现有链。然后所有其他节点接收该块并将其与其余链数据一起存储。

    因此,即使独立节点之间存在时间差异,它们仍然只是存储相同的交易。而交易记录是由所有链上数据的总和组成的。

    此外,事务不会在您提交时立即提交。它们连同伴随的gas(交易费)一起被放入待处理交易列表中。那些伴随更高费用发送的交易将被选择包含在当前正在开采的区块中。

    请参阅this article 了解一些说明

    【讨论】:

    • 是的。现在我懂了。我只是试图跳出区块链的背景来思考并陷入困境。谢谢)但是,每个节点是执行合约还是只执行矿工合约?
    • 我的理解是一个节点就是你可以有一个连接的节点用于本地提交合约,该节点会将收到的交易转发给矿工节点。然后矿工节点将实际执行合约代码。拜托,其他人纠正我是错的。
    猜你喜欢
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多