EOS2.0系列 - 解决 `env.set_proposed_producers_ex unresolveable` 问题

解决升级到EOSIO 2.0以上的版本之后, 部署eosio.bioseosio.system会报错 Error 3070000: WASM Exception \ Error Details: \ env.set_proposed_producers_ex unresolveable 的问题

  • v1.8和v2.0中引入的所有协议升级功能首先都需要 PREACTIVATE_FEATURE 激活特殊的协议功能
  • 此版本中包含的eosio.systemeosio.bios合同只能在激活 WTMSIG_BLOCK_SIGNATURES 共识协议升级后才能部署在EOSIO区块链上

1. 激活特殊协议 PREACTIVATE_FEATURE: (注意, nodeos需要先开启 eosio::producer_api_plugin 插件)

curl -X POST http://127.0.0.1:8888/v1/producer/schedule_protocol_feature_activations -d '{"protocol_features_to_activate": ["0ec7e080177b2c02b278d5088611686b49d739925a92d9bfcacd7fc6b74053bd"]}' | jq

2. 部署add-boot-contract分支的 eosio.boot 系统合约

cleos set contract eosio ../../unittests/contracts/eosio.boot -p eosio@active

3. 激活 WTMSIG_BLOCK_SIGNATURES 协议

cleos push transaction '{"delay_sec":0,"max_cpu_usage_ms":0,"actions":[{"account":"eosio","name":"activate","data":{"feature_digest":"299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"},"authorization":[{"actor":"eosio","permission":"active"}]}]}'

4. 最后查询下PREACTIVATE_FEATUREWTMSIG_BLOCK_SIGNATURES是否已成功激活

curl -X POST http://127.0.0.1:8888/v1/chain/get_activated_protocol_features -d '{}' | jq

猜你喜欢

转载自blog.csdn.net/wcc19840827/article/details/106345808
今日推荐