2022-04-28

Bitcoin Core для самых маленьких

Сегодня, наконец, получилось скомпилировать и запустить клиент Bitcoin Core на Raspberry PI Zero W.

Есть у меня идея сделать подобие аппаратного кошелька, который будет умещаться на SD карте и запускаться на устройстве ценой десять евро. Raspberry PI Zero W для этого подходит как нельзя лучше. Проблема только в том что самая дешевая малинка использует не очень ходовой процессор и скомпилированное приложение на него не поставишь, по крайней мере я такого не нашел. Не беда, можно скомпилировать самим из исходников.

У меня получились такие команды:

# install all needed packages:

sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3

sudo apt-get install libevent-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev

sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools

#install modules for gui compilation

sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools

sudo apt-get install libzmq3-dev

# download sources 

wget https://bitcoin.org/bin/bitcoin-core-0.20.1/bitcoin-0.20.1.tar.gz 

tar xvf bitcoin-0.20.1.tar.gz cd bitcoin-0.20.1 

# compile Berkley DB 

./contrib/install_db4.sh `pwd` 

export BDB_PREFIX='/home/pi/bitcoin-0.20.1/db4' 

./autogen.sh 

./configure --prefix=/usr/local --enable-cxx CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" ./configure --enable-cxx CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" --with-boost-libdir=/usr/lib/arm-linux-gnueabihf 

make 

sudo make install

Сама компиляция заняла около суток. Я лишь время от времени подсоединялся к устройству и смотрел что там происходит. Процесс несклько раз прерывался из-за разных причин - то не хватало памяти, то необходимых библиотек. В конце концов удалось получить работоспособное приложение.

Осталось прокачать через устройство все транзакции - этот процесс и на нормальном компьютере занимает долгое время так, сколько это займет времени на этом миниатюром устройстве я боюсь себе даже представить...

 

комментарии:

 

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться