Solidity

你能強制你的智能合約只處理不同區塊中的交易嗎

  • April 11, 2020

我正在研究智能合約,並試圖想出一些方法來確保發送到我的乙太坊智能合約的每筆交易僅作為單獨區塊的一部分進行處理,不包含與我的智能合約相關的任何其他交易. 根據我自己對該主題的理解和研究,我認為這在技術上是不可能的,因為取決於網路流量,我的智能合約的多個交易完全有可能作為同一個區塊的一部分進行處理。您是否認為有任何解決方法 - 或者根本不可能。

你的合約不處理交易,網路上的礦工會這樣做。

不過,您可以:

  1. 在契約開頭添加uint256 public blockNumber;
  2. 在合約中每個非常量函式的開頭添加:
  • require(blockNumber < block.number);
  • blockNumber = block.number;

這不是太微妙的 IMO,但我想它可以做你(出於某種原因)想要實現的目標。

引用自:https://ethereum.stackexchange.com/questions/82372