Как поднять свою RPC в тестовой сети Sepolia
Ну что же. Наши скиллы выходят на новый уровень. И теперь мы не только ставим ноды по гайдам. А уже сможем выполнять более сложные задачи для проектов в рамках тестов) Сегодня я расскажу как нам поднять свою RPC для тестовой сети Sepolia. В целом алгоритм у других тестовых сетей очень похож. Мы часто видим в как крупные валидаторы поднимают свои RPC и иногда делятся с нами. Все это улучшает сеть, работу ноды. Позволяет быстрее синхронизироваться, подтягивать пиры, сиды и иные плюшки.
Так что что же за зверь RPC и для чего он нам нужен?
Вот что нам подсказывает поисковик) RPC — это сокращение от удаленного вызова процедур. Один узел связывается с другим узлом в отношениях запросчик/получатель (или в отношениях клиент/сервер). RPC позволяют разработчикам подключаться к другим сетям. В контексте Web3 каждый блокчейн можно описать как сеть. Таким образом, провайдер RPC разрешит доступ к другим сетям блокчейна, таким как Биткойн, Эфириум, Полигон и т. д.
Гайд по настройке RPC Sepolia
• Процессор (CPU): 4 ядер и выше
• Оперативная память (RAM): 8 GB и больше
• Хранилище (Память): 700 GB SSD ( SATA или NVMe ) и больше.
Не забываем сохранить IP и пароль для доступа к серверу! Более опытные могут привязать SSH ключ.
Все эти данные вставляем в MobaXterm (бесплатного фукционала хватит с головой).
После того как подключились, переходим к настройке нашего узла.
Ставить будем через geth и prysm. Все команды выполняем под root.
sudo groupadd docker
sudo adduser Имя Юзера
Задаем пароль. Личные данные, просто везде жмем enter (ну или же можете задать данные, я не делал). В конце Y (yes) жмем.
sudo usermod -d /home/Имя Юзера Имя Юзера
sudo usermod -d /home/repece repece
sudo chown -R repece:repece /home/Имя Юзера
sudo chown -R repece:repece /home/repece
Если появляется ответ в виде: no changes или что-то похожее, значит все было создано до этого автоматом. Мы просто перестраховываемся попыткой создать вручную.
Добавляем нашего Юзера в группы:
sudo usermod -aG sudo,adm,docker Имя Юзера
sudo usermod -aG sudo,adm,docker repece
sudo newgrp docker
sudo groups
sudo -u Имя Юзера -i
sudo -u repece -i
git clone https://github.com/eth-educators/eth-docker
cd eth-docker
cp default.env .env
nano .env
Находим поле ARCHIVE_NODE, меняем false на true:
Ctrl+O сохраняем, Ctrl+Х, закрываем файл.
./ethd install
Вводим yes и потом enter На каждом этапе.
Чтобы ethd можно было использовать, нужно из нашего Юзера и вернуться назад:
sudo -u root -i
sudo -u Имя Юзера -i
sudo -u repece -i
cd eth-docker
./ethd config
Вставляем наш кошелек из пункта и дальше жмем enter, должна пойти
./ethd up
./ethd stop
nano geth.yml
- ${HOST_IP:-}${EL_RPC_PORT}:${EL_RPC_PORT:-8545}/tcp
- ${HOST_IP:-}${EL_WS_PORT}:${EL_WS_PORT:-8546}/tcpCtrl+O сохраняем, Ctrl+Х, закрываем файл.
./ethd up
docker logs -n 10 -f eth-docker-consensus-1
docker logs -n 10 -f eth-docker-execution-1
Ждем пока наше RPC синхронизируется, высота блоков должна совпасть:
Для удаления Sepolia, требуется перейти в юзера, затем перейти в папку eth-docker и ввести команду:
./ethd terminate
Затем ввести Yes и нажать Enter.
Теперь нам нужно проверить открыли ли мы порты.
https://portscaner.ru/ идем на этот сайт. Вводим IP нашего сервера и порты: 8545 и 8546
Если видим, что порты открыты. Значит все настроено верно. Можно переходить следующему пункту.
ufw enable 8545 ufw enable 8546
На выходе мы получаем RPC такого вида:
Для примера, когда ты в alchemy.com создаешь dapp, то получаешь ключи такого же типа как и у нашего узла. Но без ограничения скорости и кол-ва запросов. Вариантов использования очень много. Начиная от тестирования своего децентрализованного приложения, тестированием и обкаткой скриптов, улучшения работы своей ноды.
Пример условно бесплатной RPC (а мы знаем, что этот сыр быстро закончится).