一.truffle编译应该出现build文件,但是没有出现,也没有返回错误。
如下图:
在我下载文件到某个文件夹的同时,在图中的路径上,被同样下载的一份,我在执行compile时,执行的是这份文件,通过各种查资料,原因是权限问题,没有权限进行这个文件的编译,我将这个路径的文件全部删除后,重新compile,解决。
二.truffle无法进入到开发者模式,连接不到对象网络。
如下
Connected to existing Truffle Develop session at http://127.0.0.1:8545/
> Something went wrong while attempting to connect to the network. Check your network configuration.
Could not connect to your Ethereum client.
Please check that your Ethereum client:
- is running
- is accepting RPC connections (i.e., "--rpc" option is used in geth)
- is accessible over the network
- is properly configured in your Truffle configuration file (truffle-config.js)
Truffle v5.1.0 (core: 5.1.0)
Node v12.13.0
原因是端口错误,要把truffle-config.js文件中的端口改成本地正确的端口。
三.truffle编译出现如下错误
TypeError: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
此函数需要使用payable修饰。
四.truffle编译报错
TypeError: Data location must be "memory" for return parameter in function, but none was given.
需要使用memory修饰。
五.npm run dev时出现错误:
"Contract has not been deployed to detected network (network/artifact mismatch)"
解决方法:
-检查合同导入。
-检查您的web3提供程序。 console.log(window.web3.currentProvider)
-检查web3网络ID。 web3.version.getNetwork(function(err,res{console.log(res)})