因此,我目前正在尝试部署一个路由器智能契约。我一直在通过erdpy contract build构建它,它已经成功了(由于智能契约需要它,我正在使用生锈的工具链)。我现在正在尝试部署它,但我无法做到。我一直有一个来自https://devnet-api.elrond.com/transaction/send的https://devnet-api.elrond.com/transaction/send。
下面是部署的日志:
erdpy contract deploy
INFO:accounts:Account.sync_nonce()
INFO:accounts:Account.sync_nonce() done: 0
INFO:cli.contracts:Contract address: erd1qqqqqqqqqqqqqpgqzqv7kk893c3ftwgaekvvv9whpqcfn4kazqxq3mud36
INFO:transactions:Transaction.send: nonce=0
CRITICAL:cli:Proxy request error for url [https://devnet-api.elrond.com/transaction/send]: {'statusCode': 400, 'message': 'Bad Request'}下面是用于配置命令的erdpy.json:
{
"configurations": {
"default": {
"proxy": "https://devnet-api.elrond.com",
"chainID": "D"
}
},
"contract":{
"deploy":{
"verbose": true,
"bytecode": "output/router.wasm",
"recall-nonce": true,
"nonce": 1,
"pem": "../../../wallets/owner/wallet-owner.pem",
"gas-limit": 600000000,
"send": true,
"outfile": "deploy-testnet.interaction.json"
}
}
}我试图部署的合同是下面是。我也曾在OpenAPI规范或文档上搜索过答案,但没有任何内容。此路由通常是返回错误消息,但对于这种特定情况,则不是。
其他一些合同,比如ping-pong,正在使用相同的erdpy.json配置正常工作。
发布于 2022-01-13 13:14:30
在与对此问题感兴趣的人交谈后,我得到了以下命令:
erdpy --verbose contract deploy --project=$PROJECT_NAME --pem="wallet-owner.pem" --gas-limit=600000000 --proxy="https://devnet-gateway.elrond.com" --outfile="elrond.workspace.json" --recall-nonce --send --chain="D"
将$PROJECT_NAME替换为您的合同文件夹(您需要比智能契约文件夹高一级)。
它不会使用elrond.json文件,但我想您可以将文件向上移动以使命令使用它。
发布于 2022-01-05 10:41:46
我已经尝试过用参数--verbose来部署
应该是这样的(不确定语法,因为我正在打电话) erdpy --verbose contract deploy
发布于 2022-01-15 11:52:58
我也收到了“坏请求”错误,我想这是因为我的钱包是空的。要将xEGLD添加到您的devnet钱包中:
erdpy contract deploy。这对我有用,现在我得到了正确的输出。
https://stackoverflow.com/questions/70550705
复制相似问题