Solidity

你如何創建一個帶有地址 * 和 * 參數的新合約實例?

  • August 21, 2018

new使用傳遞參數的關鍵字創建合約實例的標準方法如下:

MyContract mine = new MyContract(arg1, arg2);

然後還有另一種方法,就像在這個例子中,在給定地址創建一個合約實例,沒有new關鍵字,但沒有參數,如下所示:

MyContract mine = MyContract(address);

如何在給定地址(如第二個範例)我想要的參數(如第一個範例)創建合約實例?

我是新手,如果我在這裡誤解了一些東西,對不起。`

你不能。

在第一個範例中,您不僅僅是實例化存在的合約。您正在部署一個新實例並將參數傳遞給建構子。按照設計,建構子只執行一次,甚至不包含在部署的字節碼中(因為它們不能再次執行)。

在第二個範例中,您正在實例化一個已經存在的契約。不需要或可能使用參數,因為合約已經部署並且建構子不能再次執行。

希望能幫助到你。

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