Uruchomienie Electrum (z Lightning Network) na Testnet

in #polish6 years ago

Electrum to portfel programowy na Bitcoina. Umożliwia przyjmowanie i wysyłanie Bitcoinów innym. Niestety wersje rozwojowe (z gita) mogą się okazać trudne do przetestowania. A tam znajduje się testnetowa wersja Electrum z lightning network, czyli technologią znacznie zwiększającą szybkość transakcji. Dzisiaj napiszę jak zainstalować testową wersję Electrum z Lightning.

Oczywiście wszystko jest przygotowane na systemy Pingwinowe, czyli Linuksy. Sam używam Devuan Ceres.

Git, pobranie repozytorium

Git to program, który kontroluje wersje kodu. Pozwala on nie tylko cofać się w tył z kodem, ale także ma system tzw. branch - gałęzi. Na oddzielnych gałęziach mogą być pisane i testowane nowe rozwiązania, które z powodu swojej wagi - nie są tworzone na głównej linii (tzw. master).

Najpierw pobierzmy cały projekt na dysk, wykonujemy to poleceniem:

git clone https://github.com/spesmilo/electrum

Pobieramy ogólnie repozytorium i zostajemy na domyślnej gałęzi czyli master. Aby zmienić na "lightning" należy wpisać:

cd electrum
git checkout lightning

Ogólnie wchodzimy do katalogu electrum i zmieniamy gałąź na lightning.

Interfejs graficzny

Możliwe, że nie mamy bibliotek do obsługi interfejsu graficznego. Electrum można używać również w konsoli co umożliwia np. oprogramowywanie botów.

Jeśli używamy Debiana lub pochodną tego systemu, w konsoli wpisujemy:

sudo apt-get -y install python3-pyqt5

Co doinstaluje biblioteki QT5 dla Pythona.

Ikona

Z jakiegoś powodu Electrum z interfejsem wymaga wygenerowania ikony dla QT5? Aby tego dokonać należy wpisać:

pyrcc5 icons.qrc -o electrum/gui/qt/icons_rc.py

Odpalamy

Możemy spróbować uruchomić Electrum uruchamiając plik ./run-electrum. Wyrzuci jednak błąd, że ta wersja działa tylko na testnet. W takim razie polecenie wygląda:

./run-electrum --testnet

obraz.png

Brawo - działa :)

A gdyby tak Mainnet?

O ile Lightning Network to technologia używana przez wiele firm (może nie ma tak dużo jak na onchain, ale jednak) - Electrum z jakiegoś powodu jest na testnet i nie chce z Lightningiem iść na Mainnet. Można oczywiście oszukać nasz program by uruchomił się normalnie.

Aby tego dokonać należy wedytować plik run_electrum i usunąć (lub zahaszować) linie od 393 do 400. To one odpowiadają za blokadę uruchomienia programu na czystej sieci, oto jak wygląda ten kawałek kodu:

    if config.get('testnet'):
        constants.set_testnet()
    elif config.get('regtest'):
        constants.set_regtest()
    elif config.get('simnet'):
        constants.set_simnet()
    else:
        raise Exception('lightning branch not available on mainnet')

Oczywiście używasz wtedy sieci Lightning na własną odpowiedzialność :)

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.029
BTC 64572.94
ETH 2630.79
USDT 1.00
SBD 2.82