solidity编写智能合约遇到的各种问题
合约部署
该篇文章中介绍了一些合约部属时遇到的简单问题,Mark一下省的以后我也遇到。
https://blog.csdn.net/qq_41066280/article/details/103946600?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
1.creation of XXXXX errored: transaction execution failed
编译完事后直接部署有可能失败,查看具体信息发现gas不够,在编译时选择启用优化即可
2.creation of CS errored: Error encoding arguments: SyntaxError: Unexpected token x in JSON at position 47
这篇文章中也讲述了一些遇见的问题
https://www.jianshu.com/p/6140660d4dd8?utm_campaign=maleskine
通常遇到上述错误是因为json数据格式出现问题,说明编译.sol文件生成.json文件解析出现了问题。而且这种问题可能是truffle不同版本进行编译产生的error
或者是传递参数时出现了问题,比如说字符串没加双引号什么的了,我的合约需要两个address型参数.
当时怀疑传递的格式有问题,但是在这个界面怎么改也改不过来。。直到发现了这里的展开按钮。。
输入地址竟然部署成功,然后再折叠对比一下
竟然多了双引号!!!
总算成功解决。强烈建议展开输入参数!
总结:传递地址型参数时要加""
字符串也要加""