This section describes how to set up a producing node within the EOSIO network. A producing node, as its name implies, is a node that is configured to produce blocks in an
EOSIO based blockchain. This functionality if provided through the
producer_plugin as well as other Nodeos Plugins.
- Install the EOSIO software before starting this section.
- It is assumed that
keosdare accessible through the path. If you built EOSIO using shell scripts, make sure to run the Install Script.
- Know how to pass Nodeos options to enable or disable functionality.
Please follow the steps below to set up a producing node:
- Register your account as a producer
- Set Producer Name
- Set the Producer's signature-provider
- Define a peers list
- Load the Required Plugins
In order for your account to be eligible as a producer, you will need to register the account as a producer:
cleos system regproducer accountname1 EOS1234534... http://producer.site Antarctica
producer-name option in
config.ini to your account, as follows:
# config.ini: # ID of producer controlled by this node (e.g. inita; may specify multiple times) (eosio::producer_plugin) producer-name = youraccount
You will need to set the private key for your producer. The public key should have an authority for the producer account defined above.
signature-provider is defined with a 3-field tuple:
public-key- A valid EOSIO public key in form of a string.
provider-spec- It's a string formatted like
provider-type- KEY or KEOSD
# config.ini: signature-provider = PUBLIC_SIGNING_KEY=KEY:PRIVATE_SIGNING_KEY //Example //signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
You can also use
keosd instead of hard-defining keys.
# config.ini: signature-provider = KEOSD:<data> //Example //EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEOSD:https://127.0.0.1:88888
# config.ini: # Default p2p port is 9876 p2p-peer-address = 184.108.40.206:9876
In your config.ini, confirm the following plugins are loading or append them if necessary.
# config.ini: plugin = eosio::chain_plugin plugin = eosio::producer_plugin