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

В сети уже много перепостов на тему «Где взять полную ноду к 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
Tags:
ethereum, solidity, blockchain, ico, node

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.

Similar posts