解決truffle官網react-box報「This contract object doesn‘t have address set yet「問題

2020-10-25 12:00:30

    在truffle官網下載一個 react-box案例,編譯成功,部署也成功,但執行npm run start時,瀏覽器報"This contract object doesn’t have address set yet"問題,如下所示:



    出現該問題的原因是,App.js沒有設定SimpleStorage.sol合約地址。
    解決方法如下:
    將SimpleStorage.sol原始碼拷貝到Remix官網IDE裡,進行編譯和部署到Ropston測試網,得到合約地址,然後將合約地址拷貝到App.js的new web3.eth.Contract()第二個引數即可。

1、在Remix裡,部署SimpleStorage.sol

    拷貝react-box\contracts\SimpleStorage.sol原始碼拷貝到Remi官網,,編譯和部署到Ropston,得到合約地址,如圖(1)所示:


圖(1) 在Remix裡部署SimpleStorage,得到合約路徑

2、修改App.js裡的合約地址引數

    將合約地址填到react-box\client\src\App.js裡的new web3.eth.Contract()第二個引數即可,如圖(2)所示:


圖(2) 修改App.js裡的合約地址引數