Кошелёк Karbowanec можно запустить на Android после компиляции на Андроид с использованием специальных средств.
1. Установите F-droid
Это плеймаркет только со свободными программами (с открытым исходным кодом). Скачайте с официального сайта https://f-droid.org . Для установки этого приложения нужно в настройках разрешить установку из неизвестных источников (из файла f-droid.apk, который вы скачаете).
2. Установите UserLand
Возможно, это приложение есть и на плеймаркете, но в F-Droid оно точно есть. Запустите приложение F-droid и найдите UserLand и установите.
Альтернативой UserLand может быть termux из плеймаркета, но он не такой надёжный, падает при высокой нагрузке (хотя тут, возможно, нагрузки будут небольшие).
3. Создайте сессию Ubuntu в UserLand
Когда вы откроете Userland, найдите сессию Ubuntu и запустите. Логин и пароль можно указать любые.
4. Установите софт разработчика
Когда вы успешно зайдёте в сессию Ubuntu, и появится приглашение с долларом $, введите команды, нажимая "y" каждый раз, когда вас будут спрашивать о продолжении
su -
apt update
apt upgrade
apt install wget curl gcc g++ make build-essential git cmake libboost-all-dev libssl-dev
теперь разлогиньтесь из рута, то есть нажмите ctrl + d или напишите exit (тогда строка приглашения будет опять с долларом $ а не с решёткой #, как это было у root после команды "su -").
5. Скачайте karbowanec
karbo.org > Начать > Command-Line suit > Исходный код > https://github.com/seredat/karbowanec/
В терминале UserLand под обычным пользователем напишите:
6. Скомпилируйте karbowanec
По обычной инструкции https://github.com/seredat/karbowanec/
cd karbowanec
mkdir build
cd build
cmake ..
cd ..
make
Если компиляция не завершается, возможно, нужно доставить дополнительные пакеты для компиляции.
Результирующие файлы демона и кошелька будет иметь такой адрес:
~/karbowanec/build/release/src/karbowanecd
~/karbowanec/build/release/src/simplewallet
Чтобы пользоваться ими, можно запустить две сессии Ubuntu в UserLand и запустить демона и пользоваться кошельком в другой сессии. Сессии показываются в шторке Андроида (при движении сверху вниз по экрану).
Для работы кошелька потребуется 12Гб под блокчейн.
7. Создать кошелёк, получить ключи, начать майнинг
Читайте в документации
https://docs.karbo.org/#/?id=mining-guides
https://github.com/KarboDuck/karbo-wiki/wiki
8. Бутстрап Карбованец на Андроид. Bootstrap Karbowanec на Android
Чтобы ускорить скачивание блокчейна, используйте архив bootstrap:
Скачать можно через компьютер, а затем скопировать на Android, подключив его по USB. Или можно скачать на телефон так:
mkdir blockchain_data
wget https://bootstrap.karbo.io/blockchain-2022-03-08.tar.gz
tar -xzf blockchain-2022-03-08.tar.gz
Используйте актуальную дату, посетив страницу сайта бутстрапа.
Если скачивать через компьютер, то для перенесения файла с компьютера на Андроид, в папку UserLand:
- Скопируйте файл с копиьютера в любую папку на Android через USB
- Затем откройте файловый менеджер на Android, найдите файл и скопируйте его
- Нажмите кнопку Меню верху, найдите внизу UserLand
- Вставьте файл в папку UserLand
- В сессии UserLand папку блокчейна можно найти тут: /storage/internal/
9. Запустить демон karbowanecd с указанием папки блокчейна:
Демон нужен для майнинга или для обращения к демону кошелька. К сожалению, в UserLand нет воможности запускать две сессии параллельно, поэтому для работы с кошельком с одновременным запуском демона используйте walletd (шаг 11).
~/karbowanec/build/release/src/karbowanecd --data-dir /storage/internal/blockchain_data
Для удобства можно сделать символическую ссылку для более удобного запуска:
ln -s ~/karbowanec/build/release/src/karbowanecd ~/karbowanecd
~/karbowanecd --data-dir /storage/internal/blockchain_data
10. Майнинг Karbowanec на Android
В сессии Userland, если у вас установлен karbowanec и присутствует папка с блокчейном:
~/karbowanec/build/release/src/karbowanecd --data-dir /storage/internal/blockchain_data --mining-spend-key ВАШ_КЛЮЧ_SPEND --mining-view-key ВАШ_КЛЮЧ_VIEW --mining-threads 6
6 - количество процессов, зависит от числа ядер на устройстве. Можно узнать так: nproc. Или посмотреть в Настройках -> Об устройстве.
11. Работа с кошельком Karbowanec на Android
При работе с кошельком на Андроид, можно смотреть баланс адреса, на который вы майните на компьютере, а также можно принимать и отправлять переводы.
В UserLand невозможно запустить две сессии, чтобы в одной работал karbowanecd, а в другой - simplewallet (или greenwallet). Но можно сделать процесс karbowanecd фоновым, добавив значок & в конце команды:
~/karbowanec/build/release/src/karbowanecd --data-dir /storage/internal/blockchain_data
Когда демон полностью прочитает блокчейн и подгрузит нужные данные, появится приглашение консоли, в котором можно запустить simplewallet, для удобства создаим символическую ссылку в домашнюю папку:
ln -s ~/karbowanec/build/release/src/simplewallet ~/simplewallet
~/simplewallet --wallet-file wallet.wallet
где файл wallet.wallet нужно скопировать с компьютера так же, как копировали блокчейн.
Файл кошелька /internal/storage/wallet.wallet предварительно можно загрузить в андроид, как и blockchain_data.
12. Красивый адрес Karbowanec
Если вам нужен адрес, который начинается или заканчивается нужной строкой, используйте vanitygen:
https://github.com/KarboDuck/karbo-wiki/wiki/Karbo-address-generator
./vanitygen --prefix Karboha --threads 32 --count 1
13. Уведомления о найденных блоках в Телеграм
Если вы майните с помощью karbowanecd, то логи он пишет в файл karbowanec.log тут:
build/release/src/karbowanecd.log
grep 'Found block' karbowanecd.log
2022-Mar-08 13:01:11.438887 INFO [miner] Found block for difficulty 7540000 at height 724806 v. 5
2022-Mar-08 21:04:51.711299 INFO [miner] Found block for difficulty 7440000 at height 724927 v. 5
Можно следить за этим логом и отправлять уведомления себе в Телеграм - в чат с ботом.
Для этого создайте бота с помощью https://t.me/botfather, получите его API Key
Напишите этому боту что-либо и выясните id чата, открыв страницу:
https://api.telegram.org/botA_P_I_K_E_Y_H_E_R_E/getupdates
Вместо "A_P_I_K_E_Y_H_E_R_E" вставьте свой API Key. На этой странице будут сообщения в формате jsON, которые бот получил, там можно узнать ... chat: {id ...}.
Теперь запустите процесс слежения за логом и отправки сообщений в чат через вашего бота:
tail -fn0 build/release/src/karbowanecd.log | while read line; do echo "$line" | grep 'Found block'; if [ $? = 0 ]; then mess=$(echo $line | cut -d' ' -f1,2 | cut -d. -f1); curl -s -H "Accept: application/json" -H "Content-Type:application/json" -X POST --data "{\"chat_id\":\"C_H_A_T_I_D_H_E_R_E\",\"text\":\"$mess\"}" "https://api.telegram.org/botA_P_I_K_E_Y_H_E_R_E/sendMessage"; fi; done &
Замените C_H_A_T_I_D_H_E_R_E и A_P_I_K_E_Y_H_E_R_E на ваши значения.
Я запускаю этот процесс до старта процесса майнинга в bash-скрипте так:
$ cat krb_mining.sh
#!/bin/sh
## Youni Karbo Miner
###send to telegram youni dates block found and log to found_block_date.log
#start background job and get its pidtail -fn0 build/release/src/karbowanecd.log | while read line; do echo "$line" | grep 'Found block'; if [ $? = 0 ]; then mess=$(echo $line | cut -d' ' -f1,2 | cut -d. -f1); curl -s -H "Accept: application/json" -H "Content-Type:application/json" -X POST --data "{\"chat_id\":\"C_H_A_T_I_D_H_E_R_E\",\"text\":\"$mess\"}" "https://api.telegram.org/botA_P_I_K_E_Y_H_E_R_E/sendMessage"; fi; done &
log_pid=$!
echo log pid: $log_pid/home/user/crypto/krb/karbowanec-last/build/release/src/karbowanecd --data-dir /home/user/crypto/krb/blockchain_data --mining-spend-key К_Л_Ю_Ч_Т_Р_А_Т_Ы --mining-view-key К_Л_Ю_Ч_П_Р_О_С_М_О_Т_Р_А --mining-threads 6 #--no-console
echo Try to kill log pid:
echo kill $log_pid
kill $log_pid
В результате получаю такие сообщения:
Также стоит заметить, что майнинг нужно останавливать командой exit в демоне, чтобы скрипт завершился, и процесс слежения за логом был остановлен, иначе (при остановке с помощью CTRL + C) процесс слежения за логом и отправки сообщений в телеграм продолжится, и это приведёт к дублированию сообщений при следующем запуске майнера (если не было перезагрузки).
Ссылки
- Официальный репозиторий Karbowanec https://github.com/seredat/karbowanec/
- Документация Karbowanec https://docs.karbo.org/
- Wiki Karbowanec https://github.com/KarboDuck/karbo-wiki/wiki
- Бутстрап Karbowanec https://bootstrap.karbo.io/
- Подробнее о переносе файлов в UserLand https://github.com/CypherpunkArmory/UserLAnd/wiki/Importing-and-exporti…