EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

cleos system newaccount eosio -> Error 3050000: Action validate exception #4929

Closed sztwiorok closed 6 years ago

sztwiorok commented 6 years ago

I have executed all the steps described in the BIOS Boot Sequence document https://developers.eos.io/eosio-nodeos/docs/bios-boot-sequence

but I get an error in the last step Create a staked account

root@bf700921813a:/# cleos system newaccount eosio --transfer accountnum11 EOS8mUftJXepGzdQ2TaCduNuSPAfXJHf22uex4u41ab1EVv9EAhWt --stake-net "1.0000 SYS" --stake-cpu "1.0000 SYS" --buy-ram "1.0000 SYS"
Error 3050000: Action validate exception

here are all commands

docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev  /bin/bash -c "nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:8888 --access-control-allow-origin=* --contracts-console --http-validate-host=false"

docker exec -it eosio /bin/bash

PUB_KEY="EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV"
PRIV_KEY="5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"

cleos wallet create
cleos wallet import --private-key $PRIV_KEY

cleos set contract eosio /contracts/eosio.bios -p eosio@active

#set prods on eosio
cleos push action eosio setprods '{"schedule":[{"producer_name":"eosio","block_signing_key":"'$PUB_KEY'"}]}' -p eosio

accounts=( eosio.system eosio.bpay eosio.msig eosio.names eosio.ram eosio.ramfee eosio.saving eosio.stake eosio.token eosio.vpay );

for account in "${accounts[@]}"
do
  cleos create account eosio $account $PUB_KEY
done

cleos set contract eosio.token /contracts/eosio.token -p eosio.token@active
cleos set contract eosio.msig /contracts/eosio.msig -p eosio.msig@active

cleos push action eosio.token create '[ "eosio", "10.0000 SYS"]' -p eosio.token@active
cleos push action eosio.token issue '[ "eosio", "10.0000 SYS", "bo tak" ]' -p eosio@active

cleos set contract eosio.system /contracts/eosio.system -p eosio.system@active

cleos push action eosio setpriv '["eosio.msig", 1]' -p eosio@active

cleos wallet import --private-key 5K7EYY3j1YY14TSFVfqgtbWbrw3FA8BUUnSyFGgwHi8Uy61wU1o
cleos system newaccount eosio --transfer accountnum11 EOS8mUftJXepGzdQ2TaCduNuSPAfXJHf22uex4u41ab1EVv9EAhWt --stake-net "1.0000 SYS" --stake-cpu "1.0000 SYS" --buy-ram "1.0000 SYS"

is there anything else I should do?

andriantolie commented 6 years ago

Yes, one step is incorrect there Instead of cleos set contract eosio.system /contracts/eosio.system -p eosio.system@active, it should be cleos set contract eosio /contracts/eosio.system -p eosio@active. You should upload the system contract to the system account which is eosio

sztwiorok commented 6 years ago

thanks for this tip. it solved my issue.