问题描述
我无法通过 tonos-cli 部署已编译的免费 ton solidity 智能合约。
> tonos-cli deploy Hello.tvc tonos-cli.conf.json
Config: /ton/solidity_deploy/hello/tonos-cli.conf.json
Input arguments:
tvc: Hello.tvc
params: {""url"":""https://main.ton.dev"",""wc"":-1,""addr"":null,""wallet"":null,""abi_path"":""Hello.abi.json"",""keys_path"":""keyfile.json"",""retries"":3,""timeout"":600,""is_json"":false,""depool_fee"":0.5,""lifetime"":3600,""no_answer"":true,""use_delimiters"":true,""local_run"":true}
abi: Hello.abi.json
keys: keyfile.json
wc: None
Connecting to https://main.ton.dev
deploying...
Error: Failed to create inbound message: Encode deploy message Failed: Wrong parameters count. Expected: 0,provided: 14
Error: 1
以错误结束。我的配置是:
❯ tonos-cli config --list
Config: /ton/solidity_deploy/hello/tonos-cli.conf.json
{
""url"": ""https://main.ton.dev"",""wc"": -1,""addr"": null,""wallet"": null,""abi_path"": ""Hello.abi.json"",""keys_path"": ""keyfile.json"",""retries"": 3,""timeout"": 600,""is_json"": false,""depool_fee"": 0.5,""lifetime"": 3600,""no_answer"": true,""use_delimiters"": true,""local_run"": true
}
有人知道怎么回事吗?我按照手册上写的去做。配置是按照 repo 中的描述生成的。可能问题出在参数上.."
解决方法
params 指的是合约构造函数中的参数。您在构造函数中有 0 个参数(预期值:0),因此您需要编写“{}”。
如果tonos-cli.conf.json在当前目录下,则无需在命令行中写入--config tonos-cli.conf.json。
修复tonos-cli.conf.json 中的引号:从"" 到"
和
试试这个:
tonos-cli deploy Hello.tvc "{}"