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 trufflea następnie
truffle initPierwsza 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-clia 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:
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