解决truffle官网react-box报“This contract object doesn‘t have address set yet“问题

    在truffle官网下载一个 react-box案例,编译成功,部署也成功,但运行npm run start时,浏览器报"This contract object doesn’t have address set yet"问题,如下所示:

解决truffle官网react-box报“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)所示:

解决truffle官网react-box报“This contract object doesn‘t have address set yet“问题

图(1) 在Remix里部署SimpleStorage,得到合约路径

2、修改App.js里的合约地址参数

    将合约地址填到react-box\client\src\App.js里的new web3.eth.Contract()第二个参数即可,如图(2)所示:

解决truffle官网react-box报“This contract object doesn‘t have address set yet“问题

图(2) 修改App.js里的合约地址参数