Jak uruchomić pełny węzeł Bitcoin Cash (Bitcoin Unlimited) na Raspberry Pi?
Dostępny również w: deutsch, english, italiano https://read.cash/@Telesfor/wie-betreibe-ich-einen-bitcoin-cash-full-node-bitcoin-unlimited-auf-raspberry-pi-erfahrungsbericht-10aa6147 https://read.cash/@Telesfor/how-to-operate-a-bitcoin-cash-full-node-bitcoin-unlimited-on-raspberry-pi-3030f63e https://read.cash/@Ocro/come-installare-un-nodo-completo-bitcoin-cash-bitcoin-unlimited-su-raspberry-pi-06052ca6 Parę tygodni temu Jamie Redman napisał artykuł o pełnym węźle Bitcoin Cash. Wspomniał w nim o tym, że pełny węzeł Bitcoin Cash może być uruchomiony na Raspberry Pi. Ponieważ ja taki węzeł posiadam i pytano mnie o to jak to zrobić, zdecydowałem się o tym napisać, jak ja to robię. https://news.bitcoin.com/running-bitcoin-cash-an-introduction-to-operating-a-full-node/ Aby go uruchomić używam: Raspberry Pi 3 (32 Bit, 1 GB RAM, 16 GB SD-Karte) twardy dysk 1 TB USB Bitcoin Unlimited Full Node Software połączenie z internetem ↓ 90,0 Mbit/s ↑ 32,0 Mbit/s
Kupiłem Raspberry Pi z zainstalowanym systemem operacyjnym, więc nie musiałem go instalować. Jeśli chcecie go instalować sami, można tu przeczytać jak to zrobić. https://www.raspberrypi.org/documentation/installation/ Aby połączyć się z routerem używam kabla, ale można do tego celu również użyć WiFi. Jak zainstalować Bitcoin Unlimited na Raspberry Pi, można przeczytać tutaj . Jaki rodzaj pliku (arm32 oder arm64) musi być pobrany, zależy od tego, jakiego systemu operacyjnago używacie. Ja używam systemu 32-bitowego. https://www.bitcoinunlimited.info/download Aby pobrać i zainstalować software użyłem następujących komend: wget https://www.bitcoinunlimited.info/downloads/bch-unlimited-1.9.0.0-arm32.tar.gz tar xvfz bch-unlimited-1.9.0.0-arm32.tar.gz cd bch-unlimited-1.9.0.0/ sudo mv ./bin/bitcoind /usr/local/bin/bitcoind sudo mv ./bin/bitcoin-cli /usr/local/bin/bitcoin-cli sudo mv ./bin/bitcoin-miner /usr/local/bin/bitcoin-miner sudo mv ./bin/bitcoin-tx /usr/local/bin/bitcoin-tx sudo mv ./bin/bitcoin-qt /usr/local/bin/bitcoin-qt sudo mv ./bin/testbitcoin /usr/local/bin/testbitcoin sudo mv ./include/bitcoinconsensus.h /usr/local/include/bitcoinconsensus.h sudo mv ./lib/libbitcoinconsensus.so /usr/local/lib/libbitcoinconsensus.so sudo mv ./lib/libbitcoinconsensus.so.0 /usr/local/lib/libbitcoinconsensus.so.0 sudo mv ./lib/libbitcoinconsensus.so.0.0.0 /usr/local/lib/libbitcoinconsensus.so.0.0.0 sudo mv ./lib/libbitcoincash.so /usr/local/lib/. sudo mv ./lib/libbitcoincash.so.0 /usr/local/lib/. sudo mv ./lib/libbitcoincash.so.0.0.0 /usr/local/lib/. sudo mv ./share/* /usr/local/share/. Łączę się z Raspberry Pi zdalnie i nie podłączam do niej monitora. Synchronizacja całego blockchaina na Raspberry Pi trwa długo, dlatego połączyłem twardy dysk do mojego peceta i zsynchronizowałem go tam. W tym celu zainstalowałem na moim pececie wersję windowsową Bitcoin Unlimited. Na twardym dysku utworzyłem dla blockchaina katalog "Bitcoin", ale można go nazwać dowolnie. Następnie uruchomiłem programm bitcoin-qt i podałem katalog "Bitcoin" jako katalog docelowy. Synchronizacja blockchaina trwała ok. 22 godzin. Po dokonaniu synchronizacji, zamknąłem program bitcoin-qt i połączyłem twardy dysk za pomocą kabla USB z Raspberry Pi. Trardy dysk został automatycznie rozpoznany i podłaczony jako /media/pi/Volume . Następnie musiałem w konfiguracji mojego węzła wpisać gdzie znajduje się blockchain. Aby to uczynić otwarłem plik bitcoin.conf za pomocą nano (jeśli tego pliku jeszcze nie ma musi zostać utworzony): pi@raspberrypi:~ $ nano /home/pi/.bitcoin/bitcoin.conf i wpisałem tam następującą linię: datadir=/media/pi/Volume/Bitcoin Teraz wystartowałem węzeł wpisując: bitcoind -daemon Jeśli węzeł jest aktywny można używać różnych komend aby się z nim porozumieć. Aby się dowiedzieć jakich komend można używać należy wpisać: bitcoin-cli help Jeśli się użyje parametru getinfo: pi@raspberrypi:~ $ bitcoin-cli getinfo { "version": 1070000, "protocolversion": 80003, "walletversion": 130000, "balance": 0.00000000, "blocks": 611003, "timeoffset": 0, "connections": 21, "peersgraphene": 9, "peersxthinblock": 9, "peers_cmpctblock": 18, "proxy": "", "difficulty": 352048068313.6447, "testnet": false, "keypoololdest": 1574687063, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00001000, "status": "ready", "errors": "", "fork": "Bitcoin Cash" } otrzyma się informacje ogólne o węźle. Jeśli się wpisze parametr getmempoolinfo: pi@raspberrypi:~ $ bitcoin-cli getmempoolinfo { "size": 313, "bytes": 105558, "usage": 268480, "maxmempool": 300000000, "mempoolminfee": 0.00000000, "tps": 0.17, "peak_tps": 7.83 } otrzyma sie informacje o Mempool. W firewallu na moim routerze otwarłem port 8333, aby mój węzeł był widziany z internetu. Mogę tutaj sprawdźić czy to się udało. https://cash.coin.dance/nodes
Prozes bitcoinid przy normalnym obciążeniu zużywa tylko ok. 5% CPU und 31% RAM. top - 14:16:18 up 17:10, 3 users, load average: 0,14, 0,14, 0,08 Tasks: 134 total, 1 running, 133 sleeping, 0 stopped, 0 zombie %Cpu(s): 1,4 us, 0,4 sy, 0,0 ni, 98,2 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st MiB Mem : 922,1 total, 37,1 free, 381,8 used, 503,2 buff/cache MiB Swap: 100,0 total, 62,2 free, 37,8 used. 479,0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 888 pi 20 0 625044 299700 3872 S 5,6 31,7 65:19.41 bitcoind 2250 pi 20 0 10188 2796 2436 R 1,3 0,3 0:00.40 top Mój Raspberry Pi (wraz z twardym dyskiem) zużywa ok. 5 bis 6 Watt.
Znaczy to, że używanie węzła kosztuje mnie mniej niż 1 € na miesiąc. A ponieważ posiadam Raspberry Pi, mogę używać go również do innych celów. Mam na nim zainstalowany również program do blokowania reklam pi.hole . https://pi-hole.net PS Zalecam wam od czasu do czasu sporządzanie kopii blockchaina.
No comments yet