Contract-Deployment

使用新運算符和 TypeError:無法讀取未定義的屬性“事件”

  • July 28, 2016

這是程式碼:

在此處輸入圖像描述

  1. 我將這兩個合約編譯在一起並部署Bar合約。部署後,我有一個合約賬戶地址,它已部署在區塊鏈上:

0x692a70d2e424a56d2c6c27aa97d1a86395877b3a 2. 然後我呼叫Bar.createFoo()並獲取一個新的合約賬戶地址,新創建的合約Foo剛剛被部署到該地址:

0xfcca7851eb308c57543421141f6fefbd1f4a2bef


我的第一個問題是:

變數whatAmI中儲存了什麼?是Bar的地址還是我的帳戶(外部擁有的帳戶)的地址,它呼叫了 Bar.createFoo()


我的第二個問題是:

我在這裡添加了一些方法來記錄whatAmI變數: 在此處輸入圖像描述

編譯器拋出錯誤:TypeError: Cannot read property ’event’ of undefined

我在這裡做錯了什麼?

對於第一季度。

whatAmI將有任何呼叫建構子的地址Foo()。由於它是由Bar( createFoo) 呼叫的,whatAmi因此將具有 的地址Bar

(但可以部署外部帳戶Foo,在這種情況下,whatAmI將是外部帳戶的地址。在 Solidity 瀏覽器中,只需點擊幾次 Create for Foo,您應該會看到該事件。)


對於第二季度。你沒有做錯什麼導致

TypeError:無法讀取未定義的屬性“事件”

因為這是https://github.com/ethereum/browser-solidity/issues/115上的一個已知未解決問題

你應該對事件的其他用途沒問題。

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