Aleo | Testnet 3
⠀Aleo — это блокчейн, использующий технологию доказательства с нулевым разглашением, обеспечивающий высокий уровень конфиденциальности.
Содержание
Информация о проекте
Описание
⠀Aleo — это блокчейн, использующий технологию доказательства с нулевым разглашением. Применение этой технологии позволяет обеспечить высокий уровень конфиденциальности при работе с сетью — неразглашение кошелька отправителя и суммы транзакции.
⠀Основная фишка Aleo заключается в том, что он поддерживает работу смарт-контрактов, а как следствие, возможность создания на нём DApp’ов. Специально для этого был разработан собственный язык разработки приложений и собственная среда разработки (IDE).
⠀На венчурном раунде проект собрал 298М$ от таких фондов, как: a16z, Coinbase Ventures, Polychain, Slow Ventures и т. д.
Фазы
⠀На данном этапе известны следующие фазы:
- 2 декабря 2022 г. 00:00 UTC — начало стимулирующей фазы тестнета;
- 31 января 2023 г. 23:59 UTC — окончание стимулирующей фазы.
Награды
⠀На текущую компанию выделено 25М токенов Aleo, из них 30% или 7.5М на награды проверяющим. Токены, полученные в период стимулирующего тестнета, будут по курсу 5 токенов из тестовой сети = 1 из основной сети. При этом, если сеть наберёт 7.5М токенов ранее 26 января, то стимулирующая фаза закончится досрочно.
⠀Есть риск, что не удастся пройти KYC резидентам следующих регионов: Cuba, Iran, North Korea, Russia, Syria, Crimea, Donetsk, and Luhansk Regions of Ukraine.
Требования к серверу
⠀Минимальные (VDS/DS):
16 CPU, 16 GB RAM, 128 GB SSD, Ubuntu 20.04
⠀Рекомендуемые (VDS/DS):
32 CPU, 32 GB RAM, 128 GB SSD, Ubuntu 20.04
⠀Также в скором времени можно будет использовать GPU для повышенного фарма.
Запуск
⠀Каждый подраздел — отдельный вид установки, нужно выбрать один из них.
Linux (ручной)
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget jq git build-essential pkg-config libssl-dev -y
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh)
⠀Версия Rust должна быть не младше 1.65.0
rustc --version
⠀Если нет, то удалить командой ниже и установить ещё раз
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh) \ -un
⠀Клонировать репозиторий с нодой
cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd snarkOS
⠀Собрать бинарный файл snarkOS
cargo build --release
⠀Скопировать бинарный файл в стандартное хранилище бинарных файлов
mv $HOME/snarkOS/target/release/snarkos /usr/bin
⠀Поместить файл под названием aleo_account.txt
, обязательно содержащий строку
Private key APrivateKey1___
⠀По пути (команда отображает путь)
echo $HOME/aleo_account.txt
snarkos account new > $HOME/aleo_account.txt
Сделать резервную копию файла с данными кошелька, сохранив его в надёжном месте (команда отображает путь)
echo $HOME/aleo_account.txt
⠀Добавить адрес кошелька в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_wallet_address -v `grep -oPm1 "(?<=Address )([^%]+)(?=$)" $HOME/aleo_account.txt`
⠀Добавить приватный ключ кошелька в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_private_key -v `grep -oPm1 "(?<=Private Key )([^%]+)(?=$)" $HOME/aleo_account.txt`
⠀Проверить добавление переменных в систему
echo $aleo_wallet_address $aleo_private_key
⠀Если одна из них отсутствует, то вернутся к шагу с работой с кошельком.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 3033 4133
printf "[Unit] Description=Aleo Prover After=network-online.target [Service] User=$USER ExecStart=`which snarkos` start --nodisplay --prover $aleo_private_key Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target" > /etc/systemd/system/aleod.service
sudo systemctl daemon-reload sudo systemctl enable aleod sudo systemctl restart aleod
⠀Добавить команду для просмотра лога ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_log -v "sudo journalctl -fn 100 -u aleod" -a
⠀Удостовериться в запуске ноды
aleo_log
Linux (автоматический)
⠀Запустить скрипт и дождаться окончания установки
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh)
⠀Для запуска прувера на уже существующий кошелёк необходимо поместить файл под названием aleo_account.txt
, обязательно содержащий строку
Private Key APrivateKey1___
⠀По пути (команда отображает путь)
echo $HOME/aleo_account.txt
Обновление
Ручное
⠀Если не скачан GitHub репозиторий с нодой (папка snarkOS
), то клонировать его
cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd $HOME/snarkOS && \ git stash; \ git pull; \ cargo clean; \ cargo build --release; \ mv $HOME/snarkOS/target/release/snarkos /usr/bin; \ cd
sudo systemctl restart aleod
Полу-автоматическое
⠀Запустить скрипт и дождаться окончания обновления
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh) -up
Автоматическое
⠀Создать папку для файлов ноды
mkdir -p $HOME/.aleo
sudo tee <<EOF >/dev/null /etc/systemd/system/aleou.service [Unit] Description=Aleo auto-updater After=network.target [Service] type=forking User=$USER Environment="HOME=$HOME" WorkingDirectory=$HOME ExecStartPre=`which wget` -qO $HOME/.aleo/multi_tool.sh https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh ExecStartPre=`which chmod` +x $HOME/.aleo/multi_tool.sh ExecStart=$HOME/.aleo/multi_tool.sh -up Restart=always RestartSec=5m [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable aleou sudo systemctl restart aleou
⠀Для просмотра лога скрипта автоматического обновления используется команда
sudo journalctl -fn 100 -u aleou
Удаление
sudo systemctl stop aleod
sudo systemctl disable aleod rm -rf /etc/systemd/system/aleod.service sudo systemctl daemon-reload
⠀Удалить папку с проектом и бинарный файл
rm -rf $HOME/snarkOS /usr/bin/snarkos
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $aleo_wallet_address echo $aleo_private_key
# Прувер aleo_log sudo journalctl -fn 100 -u aleod # Скрипта автоматического обновления sudo journalctl -fn 100 -u aleou
sudo systemctl restart aleod
⠀Остановить скрипта автоматического обновления
sudo systemctl stop aleou
Полезные ссылки
Официальный сайт проекта | Русскоязычная группа Telegram
Discord | Twitter | GitHub | Blog
Официальная документация | Explorer
1package
Telegram | Chat | Discord | Twitter | Learning | Admitix
Благодарности
Команда Let’s Node! — администрирование русскоязычного сообщества
Команда 1package — изучение проекта, написание статьи