0

我正在使用 Hyperledger besu 提供的快速入门网络,我想测试并查看权限如何与权限管理 dapp 一起工作。我使用这个 repo:https ://github.com/bretthenderson/besu-quickstart 所以当我运行 run-permissioning.sh 脚本来构建 dapp 并运行测试网络时,一切正常,然后当我运行时网络成功启动run-permissioning-dapp.sh 脚本运行良好,它编译和部署许可智能合约,然后在启用许可的情况下重新启动网络,但之后 bootnode 容器因以下日志而崩溃:

2021-04-02 10:25:11.294+00:00 | main | INFO  | KeyPairUtil | Loaded public key 0xc1979a8a48693db804316b5acebe35e11731e1fb1c9c21ff7268ab25db6f6e03390a429b83cf0ec0865a7205f2669ec1ace652a3def11e2e01571c74939cbe22 from /opt/besu/keys/key
Setting logging level to INFO
2021-04-02 10:25:42.930+00:00 | main | INFO  | AbstractAltBnPrecompiledContract | Using LibEthPairings native alt bn128
2021-04-02 10:25:55.841+00:00 | main | INFO  | SECP256K1 | Using native secp256k1
2021-04-02 10:25:55.933+00:00 | main | INFO  | Besu | Starting Besu version: besu/v21.1.3/linux-x86_64/oracle_openjdk-java-11
2021-04-02 10:25:59.261+00:00 | main | WARN  | Besu | --min-gas-price has been ignored because --miner-enabled was not defined on the command line.
2021-04-02 10:26:00.299+00:00 | main | INFO  | Besu | Static Nodes file = /opt/besu/data/static-nodes.json
2021-04-02 10:26:00.322+00:00 | main | INFO  | StaticNodesParser | StaticNodes file /opt/besu/data/static-nodes.json does not exist, no static connections will be created.
2021-04-02 10:26:00.351+00:00 | main | INFO  | Besu | Connecting to 0 static nodes.
2021-04-02 10:26:00.368+00:00 | main | INFO  | Besu | Security Module: localfile
2021-04-02 10:26:00.661+00:00 | main | INFO  | DatabaseMetadata | Lookup database metadata file in data directory: /opt/besu/data
2021-04-02 10:26:01.646+00:00 | main | INFO  | RocksDBKeyValueStorageFactory | Existing database detected at /opt/besu/data. Version 1
2021-04-02 10:26:03.790+00:00 | main | INFO  | KeyPairUtil | Loaded public key 0xc1979a8a48693db804316b5acebe35e11731e1fb1c9c21ff7268ab25db6f6e03390a429b83cf0ec0865a7205f2669ec1ace652a3def11e2e01571c74939cbe22 from /opt/besu/keys/key
2021-04-02 10:26:04.310+00:00 | main | INFO  | ProtocolScheduleBuilder | Protocol schedule created with milestones: [Petersburg: 0]
ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8ANTLR Tool version 4.7.1 used for code generation does not match the current runtime version 4.8ANTLR Runtime version 4.7.1 used for parser compilation does not match the current runtime version 4.8

Error: node permissioning contract at address 0x0000000000000000000000000000000000009999 does not match the expected interface version 1 

我在任何地方都找不到有关此错误的任何信息,因为 hyperledger besu 的社区非常小...

4

1 回答 1

1

解决问题的方法是添加--permissions-nodes-contract-version=2到您的 besu 命令行。

这是因为在许可智能合约 repo 的 v 2.0.0 中,我们根据更改日志https://github.com/ConsenSys/permissioning-smart-contracts/releases/tag/v2.0.0更改了接口 它在 besu 文档中这里https://besu.hyperledger.org/en/stable/HowTo/Limit-Access/Specify-Perm-Version/但我已经报告了这个问题,它已经在链上许可教程的文档中得到修复。

你可以在这里找到更多细节

  1. Github问题
  2. 别苏文档
于 2021-04-02T12:16:41.517 回答