December 1, 2022

Aleo | Testnet 3

1package

⠀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

⠀Установить Rust

. <(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

⠀Перейти в папку с snarkOS

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

Скрипт перезапускается каждые 5 минут

⠀Для просмотра лога скрипта автоматического обновления используется команда

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 — изучение проекта, написание статьи