首页 > 解决方案 > 何时调用合约构造函数?

问题描述

从这个solidity doc我知道构造函数在合约创建时被调用一次。但是还有其他调用构造函数的实例吗?

我正在寻找所有可能调用合约构造函数的情况,以更好地理解智能合约中构造函数的使用以及没有构造函数的后果。

标签: ethereumsolidity

解决方案


不。正如文档中所说,构造函数只被调用一次。

当一个合约被创建时,它的构造函数(一个使用 constructor 关键字声明的函数)被执行一次。

如果它可以被多次调用,这将是一个巨大的安全漏洞,因为构造函数通常会设置合约所有权和其他重要变量。

Parity hack的发生正是因为可以使用delegatecall.


推荐阅读