编译solidity智能合约遇到的坑

solidity的版本问题

因为刚接触 nodejs,使用npm安装依赖模块可以全局添加,也可以当前目录内添加,区别就是增加一个-g

npm install solc -g  --save

这个样子会在全局安装solc模块,而且会是最新版本的,这样会有问题。solidity的各个版本的区别有点大。在0.4.24版本能正常编译的代码,在0.5.x或者是最新版本的solc-js编译器中可能都不能正常编译。

所以推荐如下安装方式

# 安装solc时指定版本,先不要默认使用最新版本,不要加-g全局安装
npm install solc@0.4.24 --save

以下问题就是安装的solidity版本过高导致的,默认是最新的0.8.17,卸载掉安装为0.4.24就能正常编译测试代码了。

{"errors":[{"component":"general","formattedMessage":"* Line 1, Column 1\n  Syntax error: value, object or array expected.\n* Line 1, Column 2\n  Extra non-whitespace after JSON value.\n","message":"* Line 1, Column 1\n  Syntax error: value, object or array expected.\n* Line 1, Column 2\n  Extra non-whitespace after JSON value.\n","severity":"error","type":"JSONError"}]}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值