由此solidity doc我知道,创建合同时,构造函数将被调用一次。但是是否还有其他调用构造函数的实例?
我正在寻找所有可能的情况,即将调用合同的构造函数以更好地了解智能合约中构造函数的用法以及没有构造函数的后果。
答案 0 :(得分:3)
不。就像在文档中说的那样,构造函数仅被调用一次。
创建合同后,其构造函数(使用Constructor关键字声明的函数)将执行一次。
如果可以多次调用,则将构成巨大的安全漏洞,因为构造函数通常会设置合同所有权和其他重要变量。
Parity hack发生的原因恰恰是因为可以使用delegatecall
来调用“构造函数”多次。