Перейти к содержанию

Производящий узел

Нужны системные контракты

Инструкции предполагают запуск производящего узла в сети с загруженными системными контрактами. На чистом dev-узле с нативной функциональностью или без системных контрактов шаги могут не сработать.

Производящий nodeos в сети COOPOS подписывает и выпускает блоки; ниже — регистрация аккаунта как продюсера, producer-name, signature-provider, пиры и подключение chain_plugin / producer_plugin. Остальные возможности задаются другими плагинами.

Перед началом

Шаги

  1. Зарегистрировать аккаунт как продюсера
  2. Задать имя продюсера
  3. Настроить signature-provider продюсера
  4. Задать список пиров
  5. Подключить нужные плагины

1. Зарегистрировать аккаунт как продюсера

Чтобы аккаунт мог быть продюсером, зарегистрируйте его:

cleos system regproducer accountname1 EOS1234534... http://producer.site Antarctica

2. Имя продюсера

В config.ini задайте опцию producer-name на ваш аккаунт:

# config.ini:

# ID of producer controlled by this node (e.g. inita; may specify multiple times) (eosio::producer_plugin)
producer-name = youraccount

3. Signature-provider продюсера

Нужен закрытый ключ продюсера; открытый ключ должен входить в authority аккаунта продюсера.

signature-provider задаётся кортежем из трёх полей: * public-key — валидный открытый ключ COOPOS в виде строки. * provider-spec — строка вида <provider-type>:<data> * provider-type — KEY или KEOSD

Через KEY:

# config.ini:

signature-provider = PUBLIC_SIGNING_KEY=KEY:PRIVATE_SIGNING_KEY

//Example
//signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

Через keosd:

Можно использовать keosd вместо явного указания ключей.

# config.ini:

signature-provider = KEOSD:<data>   

//Example
//EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEOSD:https://127.0.0.1:88888

4. Список пиров

# config.ini:

# Default p2p port is 9876
p2p-peer-address = 123.255.78.9:9876

5. Нужные плагины

В config.ini убедитесь, что подключены следующие плагины (или добавьте их):

# config.ini:

plugin = eosio::chain_plugin
plugin = eosio::producer_plugin