Everscale tonos-cli部署合约报Wrong parameters count错误求助
报错原因
- 核心问题是
tonos-cli deploy命令的参数位置错误:该命令第二个参数固定为合约构造函数的入参对象,你误将配置文件路径填到了该位置,导致程序把配置文件内的14项配置全部识别为构造函数入参。 - 你部署的Hello合约构造函数没有定义任何入参,程序预期传入0个参数,实际识别到14个参数,因此触发编码部署消息失败的报错。
解决方法
根据你的使用场景选择对应命令即可:
- 配置文件在当前执行目录下,直接给构造参数传空对象:
tonos-cli deploy Hello.tvc '{}'
tonos-cli会自动读取当前目录下的tonos-cli.conf.json加载所有配置项,无需主动传入配置文件路径。
2. 配置文件不在当前执行目录,需要手动指定配置路径:
tonos-cli deploy Hello.tvc '{}' --config /ton/solidity_deploy/hello/tonos-cli.conf.json
如果后续部署带构造参数的合约,只需要把空对象{}替换为对应参数的JSON格式字符串即可,示例:
# 假设构造函数需要传入name和age两个参数 tonos-cli deploy Test.tvc '{"name":"test","age":18}'
内容的提问来源于stack exchange,提问作者pipejohn
相关产品推荐
相关产品推荐

