【问题标题】:How do I make a function that is called on every contract call? – Solidity如何创建一个在每次合约调用时调用的函数? – 坚固性
【发布时间】:2019-10-20 10:00:07
【问题描述】:

我需要创建一个函数,每次有人调用我的合约时都会调用它。而且我需要在不使用修饰符的情况下这样做,因为我的合约中有很多功能,并且我使用第三方合约。

我该怎么做?

【问题讨论】:

  • 目前solidity没有任何生命周期钩子。

标签: function call solidity contract


【解决方案1】:

您可以继承第三方合约并创建一个新的子合约,然后使用您在子合约中定义的修饰符修改每个函数,这是唯一的方法。

例子:

Contract ThirdParty {
    address owner;

    function f() public {}
}


Contract Child is ThirdParty {

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function f() public onlyOwner {}
}

【讨论】:

  • 但是如何使用子合约中定义的修饰符来修改父合约的功能呢?能举个例子吗?
  • 好的,我会写一个例子。
猜你喜欢
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
相关资源
最近更新 更多