Goal
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.
Before you begin
- Install the EOSIO software before starting this section.
- It is assumed that
nodeos
,cleos
, andkeosd
are 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.
Steps
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
1. Register your account as a producer
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
2. Set Producer Name
Set the 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
3. Set the Producer's signature-provider
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
Using a Key:
# config.ini:
signature-provider = PUBLIC_SIGNING_KEY=KEY:PRIVATE_SIGNING_KEY
//Example
//signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
Using Keosd:
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
4. Define a peers list
# config.ini:
# Default p2p port is 9876
p2p-peer-address = 123.255.78.9:9876
5. Load the Required Plugins
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