fbpixel

Lokalna sieć Ethereum na potrzeby dewelopmentu

Dzisiaj pokażę jak postawić naszą lokalną w pełni niezależną sieć Ethereum na naszej deweloperskiej maszynie. Pozwoli to nam uniezależnić się od sieci testowych i np. braku aktywnych górników w tych sieciach.

Jest to wpis powiązany z serią o deployment-cie inteligentnych kontraktów. Jeżeli nie widziałeś poprzedniego wpisu to odsyłam do zapoznania się z nim tutaj.

Środowisko deweloperskie

Zacznijmy od wyboru środowiska deweloperskiego, które pozwoli nam symulować własną sieć Ethereum jako process naszego komputera. Mamy do wyboru dwa różne środowiska:

  • truffle development – wbudowany we framework truffle, dostępne wyłącznie z poziomu konsoli/terminala (cli)
  • Genache – Oddzielna aplikacja udostępniająca dwa sposoby dostępu. Jeden przez konsolę/terminal jak w przypadku truffle i drugi w pełni graficzny interfejs.(cli i gui)

Truffle

Musimy zacząć od zainstalowania czegoś co się nazywa Truffle, a służy on do znacznie prostrzego komunikowania się z siecią Ethereum z poziomu naszego projektu. Aby to zrobić w konsoli/terminalu wpisujemy:

npm install -g truffle
a następnie
truffle init
Pierwsza komenda zainstaluje nam paczkę truffle i pozwoli korzystać z komend truffle <command> z każdego folderu w naszym systemie. Druga zaś stworzy strukturę folderów wymaganą do poprawnego działania deploymentu i testowania jednostkowego naszej implementacji inteligentnego kontraktu.

Aby uruchomić emulator przy użyciu truffle development wystarczy po zainstalowaniu wywołać komendę:

truffle development

Cała konfiguracja znajdować się będzie w jednym z dwóch plików truffle.js lub truffle-config.js(do wyboru ja będę umieszczał całą konfigurację w pliku truffle.js)

Genache

Jak w przypadku <code>truffle</code> musimy zacząć od zainstalowania oprogramowania <code>Genache</code>. Możemy to zrobić dwojako albo wchodząc na stronę: https://www.trufflesuite.com/ganache i pobierając instalator (jeżeli chcemy mieć możliwość korzystania z <code>GUI (Graphical User Interface)</code> lub przy pomocy npm wywołując następującą komendę:

npm install -g genache-cli
a następnie w celu uruchomienia sieci:
genache-cli

Na początku warto sobie zainstalować genache z GUI, żeby móc w prosty sposób sprawdzać adres zdeployowanego kontraktu, listę transakcji, listę portfeli (domyślnie założonych jest 10 i każdy ma na koncie 100 jednostek testowego ETH). A tak wygląda Genache po zainstalowaniu:

Genache

Na dzisiaj to by było tyle. Uprzedzając pytania tak można odpalić klienta w docker, ale na potrzeby tych wpisów celowo pominąłem tę opcję.

Do następnego!
Łukasz