首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署智能契约时的错误请求

部署智能契约时的错误请求
EN

Stack Overflow用户
提问于 2022-01-01 17:46:59
回答 4查看 659关注 0票数 3

因此,我目前正在尝试部署一个路由器智能契约。我一直在通过erdpy contract build构建它,它已经成功了(由于智能契约需要它,我正在使用生锈的工具链)。我现在正在尝试部署它,但我无法做到。我一直有一个来自https://devnet-api.elrond.com/transaction/sendhttps://devnet-api.elrond.com/transaction/send

下面是部署的日志:

代码语言:javascript
复制
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

代码语言:javascript
复制
{
    "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配置正常工作。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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文件,但我想您可以将文件向上移动以使命令使用它。

票数 2
EN

Stack Overflow用户

发布于 2022-01-05 10:41:46

我已经尝试过用参数--verbose来部署

应该是这样的(不确定语法,因为我正在打电话) erdpy --verbose contract deploy

票数 1
EN

Stack Overflow用户

发布于 2022-01-15 11:52:58

我也收到了“坏请求”错误,我想这是因为我的钱包是空的。要将xEGLD添加到您的devnet钱包中:

  1. 转到https://devnet-wallet.elrond.com/faucet
  2. 使用pem文件/通常用于登录的任何内容登录。
  3. 单击左手菜单中的“水龙头”选项。
  4. 这将弹出一个模式,将10 xEGLD添加到您的钱包中(您可以每24小时请求10 xEGLD )。
  5. 现在您可以返回终端并运行erdpy contract deploy

这对我有用,现在我得到了正确的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70550705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档