2022-05-08

Биткоин клиент на Raspberry Pi Zero W

Эксперимент по запуску Bitcoin Core на Raspberry Pi завершился неудачей. Несмотря на то, что клиент удалось скомпилировать из исходников, запустить и даже, путем копирования файлов с другой машины увидеть текущий баланс кошелька, по факту, быстродействия устройства не хватает даже для того чтобы поддерживать локальное состояние актуальным. Возможно, если перенести хранилище в оперативную память и подкрутить настройки, то получится его все-же использовать, но, оказалось, есть вариант проще.

Существует легковесный клиент Electrum! Сам клиент написан на Питоне и его инсталляция не представляет проблем.

У меня сработали следующие команды:

# install all needed packages:

sudo apt-get install python3-pyqt5 python3-setuptools python3-pip libsecp256k1-0 python3-cryptography

# install client with pip
python3 -m pip install --user Electrum-4.2.1.tar.gz

# create startup link
sudo ln -s ~/.local/bin/electrum /usr/local/bin/electrum

# start the client
electrum


Если все прошло успешно программа попросит создать кошелек по умолчанию, создаст сид и попросит ввести пароль чтобы зашифровать кошелек.

 

Вот и все, можно пользоваться! Физически мы создали аппаратный биткойн кошелек, имеющий размер в половину визитной карточки, а если вытащить SD карту, которая, по факту и является аппаратным кошельком, то еще меньше!

 

 

Оставить комментарий

 
  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

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

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

 

Оставить комментарий