1

I used :

$ curl --request POST --url http://127.0.0.1:8888/v1/producer/schedule_protocol_feature_activations -d '{"protocol_features_to_activate": ["299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"]}'
{"code":500,"message":"Internal Service Error","error":{"code":3250000,"name":"protocol_feature_exception","what":"Protocol feature exception","details":[{"message":"protocol feature requires preactivation: 299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707","file":"producer_plugin.cpp","line_number":1191,"method":"schedule_protocol_feature_activations"}]}}

Also, I tried:

$ cleos -u http://127.0.0.1:8888 push transaction '{"delay_sec":0,"max_cpu_usage_ms":0,"actions":[{"account":"eosio","name":"activate","data":{"feature_digest":"299dcb6af692324b899b39f16d5a530a33062804e41f09dc97e9f156b4476707"},"authorization":[{"actor":"eosio","permission":"active"}]}]}'
Error 3010010: Invalid packed transaction
Ensure that your packed transaction JSON follows the following format!
{
  "signatures" : [ "signature" ],
  "compression" : enum("none", "zlib"),
  "packed_context_free_data" : "bytes",
  "packed_trx" : "bytes";
}
e.g.
{
  "signatures" : [ "SIG_K1_Jze4m1ZHQ4UjuHpBcX6uHPN4Xyggv52raQMTBZJghzDLepaPcSGCNYTxaP2NiaF4yRF5RaYwqsQYAwBwFtfuTJr34Z5GJX" ],
  "compression" : "none",
  "packed_context_free_data" : "6c36a25a00002602626c5e7f0000000000010000001e4d75af460000000000a53176010000000000ea305500000000a8ed3232180000001e4d75af4680969800000000000443555200000000",
  "packed_trx" : "6c36a25a00002602626c5e7f0000000000010000001e4d75af460000000000a53176010000000000ea305500000000a8ed3232180000001e4d75af4680969800000000000443555200000000"
}
Error Details:
Failed to deserialize data for eosio:activate
Failed to deserialize variant

I need to activate this because :

The eosio.system contract and eosio.bios contract can now only be deployed on an EOSIO chain that has activated the WTMSIG_BLOCK_SIGNATURES protocol feature.

But I'm not sure about the second approach as no contract has been deployed to eosio, how is it using action?

How can I activate it?

Any guidance is welcome. Thank you

1
  • It points to no preactivation or that it failed. I posted about it here.
    – Scott Owen
    Jan 28, 2020 at 11:47

1 Answer 1

0
  1. git clone --branch add-boot-contract https://github.com/EOSIO/eosio.contracts.git
  2. $./[path]/eosio.contracts/build.sh
  3. Enable the PREACTIVATE_FEATURE by running:

curl -X POST http://127.0.0.1:8888/v1/producer/schedule_protocol_feature_activations -d '{"protocol_features_to_activate": ["0ec7e080177b2c02b278d5088611686b49d739925a92d9bfcacd7fc6b74053bd"]}' | jq If this isn't working, check this producer_plugin

  1. Deploy eosio.boot contract:

cleos set contract eosio [path]/eosio.contracts/build/contracts/eosio.boot -p eosio@active

  1. Activate WTMSIG_BLOCK_SIGNATURES protocol feature using:

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

If this doesn't work try swapping order of step 3 and 4. Refer this for more.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.