Solidity
你如何創建一個帶有地址 * 和 * 參數的新合約實例?
new
使用傳遞參數的關鍵字創建合約實例的標準方法如下:MyContract mine = new MyContract(arg1, arg2);
然後還有另一種方法,就像在這個例子中,在給定地址創建一個合約實例,沒有
new
關鍵字,但沒有參數,如下所示:MyContract mine = MyContract(address);
如何在給定地址(如第二個範例)和我想要的參數(如第一個範例)創建合約實例?
我是新手,如果我在這裡誤解了一些東西,對不起。`
你不能。
在第一個範例中,您不僅僅是實例化存在的合約。您正在部署一個新實例並將參數傳遞給建構子。按照設計,建構子只執行一次,甚至不包含在部署的字節碼中(因為它們不能再次執行)。
在第二個範例中,您正在實例化一個已經存在的契約。不需要或可能使用參數,因為合約已經部署並且建構子不能再次執行。
希望能幫助到你。