Оригинал: https://steemit.com/eos/@greymass/consistency-in-configuration-of-public-eos-full-nodes
EOS mainnet запущен и мы должны смотреть вперед, исследуя потенциал работы блок-продюсеров с большим сообществом пользователей и dApp разработчиков.
Один из способов, через который блок-продюсеры могут осуществлять свою работу - это предоставление того, что обычно называют «конечной точкой API» или «полным нодом». Это общедоступные ресурсы разворачиваются публично, чтобы обеспечить доступ к информации на EOS блокчейне. Эти конечные точки затем используются разработчиками для создания сайтов и приложений, которые взаимодействуют с основными EOS-протоколами.
Такое обязательство поддержки сети - это отличная инициатива, но для того, чтобы по-настоящему децентрализовать сеть и обеспечить лучший пользовательский опыт, нужно создать минимальную конфигурацию. Этот документ должен послужить отправной точкой для запуска процесса.
Определение полной ноды
В контексте многих других блокчейнов, «полная нода» имеет простое значение - «все плагины». Вполне вероятно, что такой ответ дадут большинство блок-продюсеров, если вы спросите, как они планируют развертывать свои полные ноды. Это в значительной мере связано с тем, что спрос на доступ к этим ресурсам EOS является очень низким на сегодня, и сама экосистема только начинает разрастаться.
Однако, очень скоро появится огромный спрос на передачу разной информации через эти сервисы. Предвещая этот спрос, мы предлагаем ввести минимальную стандартную конфигурацию, которой должен придерживаться каждый из операторов публичных нодов, чтобы иметь квалификацию одного из этих общедоступных серверов.
Этот стандарт не будет связан с сетью или конфигурацией оборудования, а скорее с тем, как настроить плагин истории аккаунта.
История аккаунта
В системе с конфигурируемыми смарт-контрактами объем плагина истории аккаунта может быть огромным. Block.one предвидел это и дал операторам нодов инструмент для решения этой проблемы, --filter-on
, а затем плагин истории аккаунта был отключен по умолчанию.
Когда система запускается с плагином истории аккаунта, без какой-либо дополнительной конфигурации, фактически индексируется и отображается через API только очень простой набор информации. Проблема в том, что в таких условиях история трансфера EOS токенов или любых системных контрактов не возвращается. Если пользователь использует мобильный или кошелек для компьютера и подключается к одному из этих ненастроенных нодов, вся история будет пустой. Еще более запутанной является ситуация, когда пользователь использует две разные конечные точки API и ему отображаются разные типы операций в приложении.
Чтобы предотвратить подобные ситуации, необходима минимальная конфигурация, которая обеспечит согласованность.
Фундаментальные системные обязательства
В основе описанной ниже конфигурации, лежит предположение, что следующие контракты имеют огромный вес для работы сети. Каждый из этих контрактов должен поддерживаться вместе с полной историей для каждого аккаунта. Касательно индексации, здесь может быть место для блокировки неких «плохих актеров», но аккаунты должны быть включены по умолчанию.
Список контрактов:
eosio
- Системный контракт.eosio.token
- EOS токен контракт.eosio.msig
- Multisig контракт.- ... (здесь могут быть ваши предложения)
Такая конфигурация дает всем владельцам токенов базовую историю и доступ к внутренним элементам, которые отмечают EOS.
Соответствующие параметры nodeos
Ниже приведен пример config.ini
, который оператор nodeos будет использовать, чтобы соответствовать предлагаемому стандарту.
Редактирование/Изменения
- удалено
eosio: setabi:
иeosio: setcode:
через 4068#issuecomment-396800119
Драфт
plugin = eosio::chain_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
# History of EOS token transfers
filter-on = eosio.token:transfer:
# Creation of tokens
filter-on = eosio.token:issue:
filter-on = eosio.token:create:
# History of multisig transactions
filter-on = eosio.msig:propose:
filter-on = eosio.msig:approve:
filter-on = eosio.msig:unapprove:
filter-on = eosio.msig:cancel:
filter-on = eosio.msig:exec:
# System Contract Operations
filter-on = eosio:newaccount:
filter-on = eosio:updateauth:
filter-on = eosio:deleteauth:
filter-on = eosio:linkauth:
filter-on = eosio:unlinkauth:
filter-on = eosio:canceldelay:
filter-on = eosio:onerror:
filter-on = eosio:buyrambytes:
filter-on = eosio:buyram:
filter-on = eosio:sellram:
filter-on = eosio:delegatebw:
filter-on = eosio:undelegatebw:
filter-on = eosio:refund:
filter-on = eosio:regproducer:
filter-on = eosio:setram:
filter-on = eosio:bidname:
filter-on = eosio:unregprod:
filter-on = eosio:regproxy:
filter-on = eosio:voteproducer:
filter-on = eosio:claimrewards:
filter-on = eosio:setpriv:
filter-on = eosio:rmvproducer:
filter-on = eosio:setalimits:
filter-on = eosio:setglimits:
filter-on = eosio:setprods:
filter-on = eosio:reqauth:
filter-on = eosio:setparams:
QoL изменения для filter-on
Эта конфигурация довольно большая, но мы запустили issue/4068 на GitHub, чтобы упростить параметры конфигурации, связанные с filter-on
.
Попробуйте это
У нас эта конфигурация работает на полном ноде, который доступен здесь:
Попробуйте и посмотрите историю своего аккаунта.
./cleos -u https://eos.greymass.com получить действия your_account_name
Вы также можете посмотреть regproducer
действия на аккаунте одного из наших блок-продюсеров, которые были проведены при регистрации кандидатуры.
./cleos -u https://eos.greymass.com получить действия teamgreymass
Вложения и помощь в формализации
Эта конфигурация плагина истории аккаунтов является примером того, как стандарт должен выглядеть в конечном итоге. Кто-то может говорить о добавлении большего количества контрактов или удалении других - очень важно не допускать этого. Мы надеемся, что подобные аргументы не будут больше использоваться.
Мы призываем всех блок-продюсеров, которые планируют поддерживать сеть с полным нодом, подумать об этом и присоединиться к обсуждению. Чтобы обеспечить последовательный и приятный опыт работы в сети EOS, важно чтобы был достигнут консенсус между блок-продюсерами.
Перевод CryptoLions
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
http://psyfactor.org/lib/tornov3.htm