EOSIO / eos

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

std::exception::what: unrecognised option 'genesis-json' #5737

Closed ddzyan closed 6 years ago

ddzyan commented 6 years ago

eosio version:v1.3.0

Today I upgraded to the latest version cannot start, error message as follows

nodeos --data-dir /data/home/admin/EOSmainNet --config-dir /data/home/admin/EOSmainNet  --genesis-json /data/home/admin/EOSmainNet/genesis.json

2018-09-19T04:02:22.503 thread-0   main.cpp:136                  main                 ] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::unknown_option> >
std::exception::what: unrecognised option 'genesis-json'

config.ini

#producer-name = !!!!YOUR_BP_NAME!!!!!!!!
    #signature-provider = YOUR_BLOCK_SIGN_PUB_KEY=KEY:YOUR_BLOCK_SIGN_PRIV_KEY

    agent-name = AgentName

    blocks-dir = "/data/home/admin/EOSmainNet/blocks"
    genesis-json = "/data/home/admin/EOSmainNet/genesis.json"
    chain-state-db-size-mb = 8192
    reversible-blocks-db-size-mb = 340
    contracts-console = false

    http-server-address = 0.0.0.0:28883
    p2p-listen-endpoint = 0.0.0.0:28884
    p2p-server-address = 10.100.172,235:28884
    #bnet-endpoint = !!YOUR_ENDPOINT_IP_ADDRESS!!:9876
    bnet_threads = 1

    access-control-allow-origin = *
    # access-control-allow-headers =
    # access-control-max-age =
    #access-control-allow-credentials = false

    #p2p-max-nodes-per-host = 4

    # actor-whitelist =
    # actor-blacklist =
    # contract-whitelist =
    # contract-blacklist =
    # filter-on =

    # SSL
    # Filename with https private key in PEM format. Required for https (eosio::http_plugin)
    # https-server-address =
    # Filename with the certificate chain to present on https connections. PEM format. Required for https. (eosio::http_plugin)
    # https-certificate-chain-file =
    # Filename with https private key in PEM format. Required for https (eosio::http_plugin)
    # https-private-key-file =

    allowed-connection = any

    log-level-net-plugin = error
    max-clients = 150
    connection-cleanup-period = 30
    network-version-match = 1
    sync-fetch-span = 2000
    enable-stale-production = false

    max-implicit-request = 1500
    pause-on-startup = false
    max-transaction-time = 30000
    max-irreversible-block-age = -1
    txn-reference-block-lag = 0

    plugin = eosio::chain_api_plugin
    plugin = eosio::history_plugin
    plugin = eosio::history_api_plugin
    plugin = eosio::chain_plugin
    plugin = eosio::bnet_plugin

    #plugin = net_plugin
    #plugin = net_api_plugin

    #bnet-connect =
    #bnet-connect =
    #bnet-connect =

    #p2p-peer-address =
    #p2p-peer-address =
    #p2p-peer-address =

    #p2p-peer-address = 172.2.0.100:9876
    #p2p-peer-address = 172.2.0.200:9876

    #Other Pub BP nodes
    #p2p-peer-address =
    #p2p-peer-address =
p2p-peer-address = 106.10.42.238:9876
p2p-peer-address = 130.211.59.178:9876
p2p-peer-address = 159.65.214.150:9876
p2p-peer-address = 18.191.33.148:59876
p2p-peer-address = 185.253.188.1:19876
p2p-peer-address = 185.253.188.1:19877
p2p-peer-address = 34.252.209.121:5556
p2p-peer-address = 807534da.eosnodeone.io:19872
p2p-peer-address = api-full1.eoseoul.io:9876
p2p-peer-address = api-full2.eoseoul.io:9876
p2p-peer-address = api.eosuk.io:12000
p2p-peer-address = boot.eostitan.com:9876
p2p-peer-address = bp.antpool.com:443
p2p-peer-address = bp.cryptolions.io:9876
p2p-peer-address = bp.eosbeijing.one:8080
p2p-peer-address = bp.eosmedi.com:9877
p2p-peer-address = bp.libertyblock.io:9800
p2p-peer-address = br.eosrio.io:9876
p2p-peer-address = dc1.eosemerge.io:9876
p2p-peer-address = eos-seed-de.privex.io:9876
p2p-peer-address = eos.nodepacific.com:9876
p2p-peer-address = eos.staked.us:9870
p2p-peer-address = eosapi.blockmatrix.network:13546
p2p-peer-address = eosboot.chainrift.com:9876
p2p-peer-address = eosbp.buildteam.io:8532
p2p-peer-address = eu-west-nl.eosamsterdam.net:9876
p2p-peer-address = eu1.eosdac.io:49876
p2p-peer-address = fn001.eossv.org:443
p2p-peer-address = fullnode.eoslaomao.com:443
p2p-peer-address = m.eosvibes.io:9876
p2p-peer-address = mainnet-eos.wancloud.cloud:55576
p2p-peer-address = mainnet.eoscalgary.io:5222
p2p-peer-address = mainnet.eoseco.com:10010
p2p-peer-address = mainnet.eosoasis.io:9876
p2p-peer-address = mainnet.eospay.host:19876
p2p-peer-address = mars.fnp2p.eosbixin.com:443
p2p-peer-address = node.eosflare.io:1883
p2p-peer-address = node.eosio.lt:9878
p2p-peer-address = node.eosmeso.io:9876
p2p-peer-address = node1.eoscannon.io:59876
p2p-peer-address = node1.eosnewyork.io:6987
p2p-peer-address = node2.eosnewyork.io:6987
p2p-peer-address = p.jeda.one:3322
p2p-peer-address = p2p.eos.bitspace.no:9876
p2p-peer-address = p2p.eosdetroit.io:3018
p2p-peer-address = p2p.eosholding.ca:9876
p2p-peer-address = p2p.eosio.cr:1976
p2p-peer-address = p2p.eosio.cr:5418
p2p-peer-address = p2p.genereos.io:9876
p2p-peer-address = p2p.mainnet.eosgermany.online:9876
p2p-peer-address = p2p.mainnet.eospace.io:88
p2p-peer-address = p2p.meet.one:9876
p2p-peer-address = p2p.unlimitedeos.com:15555
p2p-peer-address = peer.eosjrr.io:9876
p2p-peer-address = peer.eosn.io:9876
p2p-peer-address = peer.main.alohaeos.com:9876
p2p-peer-address = peer1.mainnet.helloeos.com.cn:80
p2p-peer-address = peer2.eosthu.com:8080
p2p-peer-address = peer2.mainnet.helloeos.com.cn:80
p2p-peer-address = peering.mainnet.eoscanada.com:9876
p2p-peer-address = peering1.mainnet.eosasia.one:80
p2p-peer-address = peering2.mainnet.eosasia.one:80
p2p-peer-address = pub0.eosys.io:6637
p2p-peer-address = pub2.eostheworld.io:9876
p2p-peer-address = publicnode.cypherglass.com:9876
p2p-peer-address = seed1.greymass.com:9876
p2p-peer-address = seed2.greymass.com:9876
taokayan commented 6 years ago

This is weird. Can you try to remove the --genesis-json parameter from your command line? It might be conflict with the one in config.ini.

ddzyan commented 6 years ago
nodeos --data-dir /data/home/admin/EOSmainNet --config-dir /data/home/admin/EOSmainNet  

I get the same result

JohnnyZhao commented 6 years ago

any updates? same error here

heifner commented 6 years ago

--genesis-json is only valid via the command line. It is not allowed in the config.ini,

firesWu commented 6 years ago

In v1.3.0, parse_config_file's allow_unregistered set false, so config.ini can not appear any unregistered option. genesis-json register on command_line, not register on config_file.

jgiszczak commented 6 years ago

Support for genesis-json = was removed as a config file option many releases before v1.3.0. Until v1.3.0, it was simply ignored. Now it must be removed from config files.

banshee commented 6 years ago

For people hitting this and not remembering that they had created a config file - look in eosio_uninstall.sh to see where you should remove your existing (outdated) files. On Linux right now, you'd do rm -rf ~/.local/share/eosio;.

(Or you could do what I actually did - run strace nodeos and look for where it's doing an open of config.ini. It's kind of a big hammer to use, but strace will tell you exactly what files your process is opening; it's very handy.)