truffle在服务器上的部署及二次运行migrate时报错的解决办法

      今天论述一下如何将一个truffle应用程序部署在服务器上,满足不仅仅是本地端口访问的要求。同时,说明一下运行truffle migrate命令时报出 Error: Attempting to run transaction which calls a contract function, but recipient address 0xc0eac606cab03b046b6ccbc0e7a772f3fae1bbcf is not a contract address。

        先说一下如何将一个truffle应用程序部署在服务器上吧。

        与之前ruffle在本地安装相比较,需要修改truffle-config.js、app/javascripts/app.js、webpack-dev-server/bin/webpack-dev-server.js和Ganache的网络配置参数。

          1.首先修改Ganache的网络配置参数。在这里,使用的带图形界面的Ganache。修改如下图所示:

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第1张图片

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第2张图片

         设置完成后,点击SAVE AND RESTART重启Ganache。

         2.修改truffle-config.js网络参数

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第3张图片

          3.修改app/javascripts/app.js网络配置参数

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第4张图片

          4.修改webpack-dev-server/bin/webpack-dev-server.js网络配置参数

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第5张图片

修改为

truffle在服务器上的部署及二次运行migrate时报错的解决办法_第6张图片

          最后,我们便可以通过192.168.1.101:8080访问truffle界面了。

另外,在我们重新启动truffle程序时,当输入truffle migrate命令后,一直报:Error: Attempting to run transaction which calls a contract function, but recipient address 0xc0eac606cab03b046b6ccbc0e7a772f3fae1bbcf is not a contract address 这个错误。如下图所示:

出现这种问题的解决办法,就是将程序根目录下的build文件夹删除,然后重新truffle compile、truffle migrate即可。

你可能感兴趣的:(区块链)