0

我想使用 flow CLI 命令在测试网上更新我的合约。但我没有看到成功,而是收到以下错误:

> flow accounts update-contract Xxxxx ./Xxxxx.cdc --signer admin-account -n testnet
Transaction ID: 04bd2c8f5b62f112e3311f8053e4af9cad66fc10df83471d53d990dbf4de9867
Updating contract 'Xxxxx' on account 'Yyyyy'...⠙
❌ Command Error: [Error Code: 1006] invalid proposal key: public key 0 on account Yyyyy does not have a valid signature: [Error Code: 1009] invalid envelope key: public key 0 on account Yyyyy does not have a valid signature: signature is not valid

我的 flow.json 配置看起来像这样

{
  "accounts": {
    "admin-account": {
      "address": "zszssszszz",
      "key": "yyyyyyyyyyy"
    }
  }
}

我要部署到的帐户有 4 个密钥。当我部署到另一个只有 1 个密钥的帐户时,我没有收到任何错误消息。

4

1 回答 1

0

对于具有多个密钥的帐户,您可以使用流 CLI 配置中的帐户高级格式指定密钥索引 https://docs.onflow.org/flow-cli/configuration/#advanced-format-1

例如,如果您尝试使用帐户中的第四个密钥,您可以编写:

{
  "accounts": {
    "admin-account": {
      "address": "zszssszszz",
      "key": {
        "type": "hex",
        "index": 3,
        "signatureAlgorithm": "ECDSA_P256",
        "hashAlgorithm": "SHA3_256",
        "privateKey": "yyyyyyyyyyy"
      }
    }
  },
}
于 2021-11-18T23:05:20.463 回答