Ethereum 如何在实体中实施自毁模式?

Ethereum 如何在实体中实施自毁模式?,ethereum,solidity,Ethereum,Solidity,您好,我正在开发区块链中的拍卖应用程序,使用solidity作为以太坊中的智能合约。要求如下: DAPP将要求在公共领域进行拍卖,例如出售iPhone 所有用户都将投标该项目 智能合约将根据最高金额找到赢家,并宣布他为赢家 我想通过自毁添加另一项功能,在指定的时间后进行拍卖,之后不会进行其他拍卖 我们怎样才能做到这一点呢 任何帮助都将不胜感激。谢谢 当然可以。我的dApp中有类似的任务。我使用block.timestamp字段解决它。Timestamp字段返回最新块的时间戳。您可以在与拍卖竞价相

您好,我正在开发区块链中的拍卖应用程序,使用solidity作为以太坊中的智能合约。要求如下:

  • DAPP将要求在公共领域进行拍卖,例如出售iPhone
  • 所有用户都将投标该项目
  • 智能合约将根据最高金额找到赢家,并宣布他为赢家
  • 我想通过
    自毁
    添加另一项功能,在指定的时间后进行拍卖,之后不会进行其他拍卖

    我们怎样才能做到这一点呢


    任何帮助都将不胜感激。谢谢

    当然可以。我的dApp中有类似的任务。我使用
    block.timestamp
    字段解决它。Timestamp字段返回最新块的时间戳。您可以在与拍卖竞价相关的所有方法开始时使用以下构造来解决您的问题:

    require(block.timestamp > auction.endTime, "Auction is closed.");
    

    基本上,它所做的是阻止任何代码,如果它发生在您的拍卖结束时间之后。如果您需要更多帮助,请与我联系。

    因此,可以通过计时器或预定义的结束时间设置ValueAuction.endTime?它可以是硬编码的(您可能不想这样做),也可以通过创建或更新拍卖的交易进行设置。通常,您可以在调用期间将其设置为block.timestamp,或者将所需时间作为参数传递给方法。