Как развернуть ethereum ноду для тестов смартконтрактов

в 18:11, , рубрики: solidity

В сети уже много перепостов на тему «Где взять полную ноду к ethereum смарт-контракту для тестов». Все они либо предлагают развернуть локальную ноду, либо копируют официальную инструкцию и не решают проблемы. Публичные ноды, например infura не позволяют полноценно проводить тесты, например функция personal_unlockAccount ей не поддерживается.

Цель данной публикации, популяризация криптовалют, это действительно просто.

Сегодня мы создадим ноду на локальном компьютере под Windows 7, доступную из с любого компьютера в сети интернет.

Итак, поехали.

Допустим, у меня ноутбук, который работает через WiFi роутер, провайдер Билайн. Первым делом нужно получить у провайдера статический IP адрес, это несложно в личном кабинете
Заходим в личный кабинет билайн, раздел Услуги -> Домашний интернет.

Выбираем услугу «Фиксированный IP-адрес», стоит она на сегодня 150 рублей в месяц. Включаем ее.

Теперь у вас есть постоянный адрес в интернете, который закреплён за вашим логином.

Далее, поскольку у нас ноутбук, который работает через WiFi роутер, нам нужно, чтобы к нему можно было подключиться с с любого компьютера в интернете, иначе зачем нам все это. Для этого нам нужно сделать, так называемый проброс портов.

Для этого нам нужно добавить немного изменений в настройки своего роутера.

Для начала нам нужно узнать MAC-адрес нашего компьютера. Для этого переходим выбираем сетевое подключение (возле часов внизу экрана справа), правой кнопкой выбираем Состояние -> Сведения, копируем свойство Физический адрес — это MAC-адрес компьютера.

После этого в браузере в строке поиска нужно ввести адрес роутера, а потом логин и пароль доступа. Эти данные обычно пишутся на наклейке на задней крышке роутера. Например для роутера TP-LINK они выглядят они примерно так: адрес 192.168.0.1 логин: admin, пароль: admin.

После того как мы вошли в панель управления роутером, нам нужно привязать MAC-адрес компьютера к внутреннему IP адресу нашей маленькой домашней сети. Для этого нужно перейти в раздел DHCP -> Резервирование адресов и нажать кнопку добавить новую и вставить MAC-адрес и внутренний IP адрес, который мы резервируем, например 192.168.0.100.

После чего нам нужно будет сделать проброс портов. Для этого переходим в раздел Переадресация -> Виртуальные Серверы, Жмем кнопку добавить новую.

Указываем

Порт сервиса: 8545
Внутренний порт: 8545
IP-адрес: 192.168.0.100 (зарезервированный адрес за этим компьютером)
Протокол: Все
Состояние: Включено

Далее идем на вкладку Безопасность -> Настройки базовой защиты -> Межсетевой экран — Выключить.

Теперь качаем клиент Geth сети Ethereum для Windows с официального сайта и устанавливаем его.
Открываем командную строку (кнопка Win+R -> cmd)

В командной строке вводим следующий текст

geth --ropsten --rpc --rpcaddr "192.168.0.100" --rpccorsdomain "*" --rpcapi "admin,debug,shh,txpool,personal,eth,net,web3"

Поясню по командам

geth — запуск это программы, остальные штуки будут параметрами
--ropsten — запуск ноды в тестовой среде Ropsten, если параметр опустить, то будет качаться полная нода рабочей сети, для тестов не рекомендую, ибо весит она на сегодняшний день порядка 170 гигабайт в мелких файлах и все транзакции в ней стоят денег.
--rpc — позволяет работать со смартконтрактами
-rpcaddr «192.168.0.100» — адрес нашей ноды
--rpccorsdomain "*" — позволяет обращаться к функциям со сторонних сайтов
--rpcapi «admin,debug,shh,txpool,personal,eth,net,web3» — доступные методы

После выполненных процедур при тестировании смартконтрактов вы сможете обращаться к своей ноде по адресу вида 111.222.333.444:8545

Автор: Лунтик

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js