Завершённые
December 5, 2021

Archway | torii-1

1package & Let's Node

⠀Archway — это платформа смарт-контрактов на базе Cosmos SDK, которая вознаграждает разработчиков за создание полезных dApps’ов.


Содержание


Информация о проекте

К содержанию

Описание

⠀Archway — это платформа смарт-контрактов на базе Cosmos SDK, которая вознаграждает разработчиков за создание полезных dApps’ов.

⠀Проект использует:

  • Cosmos SDK, который поддерживает исполнение WebAssembly (WASM) для смарт-контрактов, что позволяет писать dApps’ы на более чем 40 языках программирования высокого уровня, таких как: C, C++, Python, Go, Rust, Java и др.
  • Gravity Bridge, который позволяет разработчикам использовать в своих dApps’ах Ethereum активы (ERC-20s и ERC-721s) и выводить свои собственные активы в Ethereum сеть.
  • Inter-Blockchain Communication Protocol (IBC), открывающий доступ к пользователям и средствам других сетей в экосистеме Cosmos, поддерживающих данный протокол.

⠀У разработчиков существует 3 источника получения дохода:

  • 50% от комиссии за использование смарт-контракта;
  • 25% от части заработанных со стейкинга пользователями токенов;
  • Плата за использование смарт-контракта.

⠀Валидаторы получают:

  • 50% от комиссий обработанных транзакций;
  • 75% от части заработанных со стейкинга пользователями токенов.

Фазы

⠀На данном этапе известны следующие фазы:

  • 11 апреля 12:00 UTC / 15:00 МСК — начало подачи заявок в генезис;
  • 12 апреля 12:00 UTC / 15:00 МСК — окончание подачи заявок в генезис;
  • 14 апреля — публикация сформированного генезис файла;
  • 14 апреля 12:00 UTC / 15:00 МСК — запуск тестовой сети;
  • 30 мая — объявление победителей и публикация формы для прохождения KYC;
  • 20 июня — закрытие формы для прохождения KYC;
  • 2-я половина 2022 г. — запуск основной сети.

Награды

⠀На тестовую сеть выделено ~0.5% от общего предложения токена.

⠀Деятельность во время этого события делится на 4 направления:

  1. Запуск, управление валидатором и выполнение технических заданий;
  2. Поиск уязвимостей;
  3. Разработка dApps'ов и инструментов;
  4. Публикация контента для повышения узнаваемости проекта.

⠀Для подтверждения выполненных задач необходимо заполнить форму. Нет записи в форме — нет зачтённого выполнения задачи.

⠀В генезис рандомно выберут 125 валидаторов, которым дадут токены для делегации. Тем, кого не выберут, вряд ли получится попасть в активный сет, однако в форме есть пункт Run a Post-Genesis Validator, поэтому стоит попробовать запустить валидатора после запуска сети и заполнить форму.


Требования к серверу

К содержанию

⠀По документации (VPS/VDS/DS):
2 Cores, 4 GB RAM, 512 GB SSD

⠀Думаем, что подойдёт (VPS/VDS/DS):
2 Cores, 4 GB RAM, 200 GB SSD

⠀Подходящие сервера:


Запуск

К содержанию

Подготовка

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

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/golang.sh)

⠀Скомпилировать бинарный файл ноды

git clone https://github.com/archway-network/archway; cd archway && git checkout main && make install; cd

⠀Переместить бинарный файл в папку с бинарными файлами

mv `which archwayd` /usr/bin/

⠀Удалить папку с файлами для компиляции бинарного файла

rm -rf $HOME/archway

⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_moniker

⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_wallet_name

⠀Инициализировать ноду

archwayd init "$archway_moniker" --chain-id torii-1

⠀Задать настройки

archwayd config chain-id torii-1
archwayd config keyring-backend file

Если уже есть кошелёк

⠀Восставить аккаунт валидатора

⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды

archwayd keys add "$archway_wallet_name" --recover --keyring-backend file

⠀Восстановить приватный ключ валидатора (команда отображает путь)

echo $HOME/.archway/config/priv_validator_key.json

Если нет кошелька

⠀Создать кошелёк

archwayd keys add "$archway_wallet_name" --keyring-backend file

⠀Необходимо задать пароль, запомнить его и

Сохранить вывод команды в надёжном месте

Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)

echo $HOME/.archway/config/

Продолжение

Запуск ноды

⠀Скачать генезис файл

wget -qO $HOME/.archway/config/genesis.json https://raw.githubusercontent.com/archway-network/testnets/main/torii-1/genesis.json

⠀На всякий случай сбросить БД ноды

archwayd unsafe-reset-all

⠀Отредактировать конфиг набором команд

sed -i -e "s%^moniker *=.*%moniker = \"$archway_moniker\"%; "\
"s%^seeds *=.*%seeds = \"\"%; "\
"s%^persistent_peers *=.*%persistent_peers = \"`wget -qO- https://raw.githubusercontent.com/SecorD0/Archway/main/persistent_peers.txt | tr '\n' ',' | sed 's%,$%%'`\"%; "\
"s%^external_address *=.*%external_address = \"`wget -qO- eth0.me`:26656\"%; " $HOME/.archway/config/config.toml

⠀Если на сервере стоит ещё одна нода, использующая Tendermint (Stratos, Findora и пр.), то дополнительно настроить конфиг в соответствии со статьёй

⠀Создать сервисный файл

printf "[Unit]
Description=Archway node
After=network-online.target

[Service]
User=$USER
ExecStart=`which archwayd` start --x-crisis-skip-assert-invariants
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/archwayd.service

⠀Запустить сервис

sudo systemctl daemon-reload
sudo systemctl enable archwayd
sudo systemctl restart archwayd

⠀Добавить команды в систему в виде переменных:

  • Просмотр лога ноды;
  • Просмотр информации о ноде.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_log -v "sudo journalctl -fn 100 -u archwayd" -a
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Archway/main/node_info.sh) -l RU 2> /dev/null" -a

⠀Открыть лог и увидеть время запуска сети

archway_log

Создание валидатора

К содержанию

⠀Дождаться полной синхронизации ноды. Текущее состояние можно посмотреть при помощи команды

archway_node_info

⠀По окончании синхронизации необходимо запросить токены:

1) Скопировать адрес кошелька

archway_node_info

2) Перейти на сайт и запросить токены

3) Проверить поступление токенов

archway_node_info

⠀Создать валидатора

⠀Для установки аватара необходимо добавить опцию --identity и указать Keybase ключ.

archwayd tx staking create-validator \
  --amount 900000utorii \
  --moniker "$archway_moniker" \
  --pubkey `archwayd tendermint show-validator` \
  --commission-rate 0.01 \
  --commission-max-rate 0.1 \
  --commission-max-change-rate 0.1 \
  --min-self-delegation 1 \
  --from "$archway_wallet_name" \
  --chain-id torii-1

Информация о ноде

К содержанию

⠀Если не была добавлена ранее, то добавить команду для просмотра информации о ноде в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Archway/main/node_info.sh) -l RU 2> /dev/null" -a

⠀Посмотреть информацию о ноде

archway_node_info

Обновление

К содержанию

⠀Остановить сервисный файл

sudo systemctl stop archwayd

⠀Удалить папку с файлами для компиляции бинарного файла

rm -rf $HOME/archway

⠀Скомпилировать бинарный файл ноды

git clone https://github.com/archway-network/archway; cd archway && git checkout main && make install; cd

⠀Переместить бинарный файл в папку с бинарными файлами

mv `which archwayd` /usr/bin/

⠀Удалить папку с файлами для компиляции бинарного файла

rm -rf $HOME/archway

⠀Запустить сервисный файл

sudo systemctl restart archwayd

Удаление

К содержанию

⠀Остановить сервисный файл

sudo systemctl stop archwayd; \
sudo systemctl disable archwayd

⠀Сбросить БД

archwayd unsafe-reset-all

⠀Удалить файлы

rm -rf $HOME/{archway,testnet-signer} /etc/systemd/system/archwayd.service `which archwayd` `which testnet-signer`

⠀Обновить список сервисных файлов

sudo systemctl daemon-reload

⠀Если не была сделана резервная копия:

  • Папки $HOME/.archway/config/ с приватными ключами, то сохранить её у себя в надёжном месте;
  • Мнемоническая фраза от кошелька, то сохранить папку $HOME/.archway/keyring-file/ в надёжном месте;

⠀Удалить директорию с данными ноды

rm -rf $HOME/.archway

Побег из тюрьмы

К содержанию

⠀Чтобы узнать, находится ли нода в тюрьме, необходимо использовать команду

archway_node_info

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

archwayd tx slashing unjail --from "$archway_wallet_name"

⠀Через некоторое время нода должна выбраться из заточения


Установка аватара

К содержанию

⠀Зарегистрировать или авторизоваться на сайте KeyBase

⠀Подтвердить почту

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

⠀Сгенерировать PGP ключ

⠀Нажать на PGP ключ и скопировать его для дальнейшей установки аватара

⠀Подставить свои значения в команду для редактирования валидатора (в блокноте), выполнить её, подтвердить транзакцию и ввести пароль

archwayd tx staking edit-validator \
  --moniker "ANY_NAME" \
  --identity "1A1A2B2B3C3C4D4D" \
  --details "ANY_TEXT" \
  --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.archway/config/config.toml` \
  --from "$archway_wallet_name"
  • moniker — можно указать как старый, так и новый;
  • identity — скопированный ранее PGP ключ;
  • details — любое описание валидатора.

Testnet signer для заполнения формы

К содержанию

⠀Для заполнения формы для документирования выполненных задач необходимо сгенерировать специальный JSON словарь.

⠀Для этого нужно установить GO

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/golang.sh)

⠀Скомпилировать бинарный файл signer’а

git clone https://github.com/archway-network/testnet-signer.git; cd testnet-signer && make install; cd

⠀Добавить название кошелька в систему в виде переменной, если это не было сделано ранее

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_wallet_name

Если выполняется не на том же сервере, где был валидатор

⠀Скомпилировать бинарный файл ноды

git clone https://github.com/archway-network/archway; cd archway && git checkout main && make install; cd

⠀Восставить аккаунт валидатора

⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды

archwayd keys add "$archway_wallet_name" --recover --keyring-backend file

Продолжение

⠀Сгенерировать JSON словарь, вписав:

  • Имя и фамилию (такие же как в первой части формы);
  • Имя пользователя Github;
  • E-mail адрес (такой же как в первой части формы).
testnet-signer sign_id "$archway_wallet_name" --keyring-backend file

⠀Выведенный JSON словарь необходимо вставить в форму


Вклад сообщества

К содержанию

Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов

Как сюда попасть?

⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:

  • Название проекта;
  • Краткое название в 2-3 слова (будет использоваться как заголовок);
  • Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).

⠀Что это даёт?

  • Пользу сообществу;
  • Возможность заявить о себе;
  • Дополнительную возможность представления доказательств контрибуции в различных проектах.

Полезные ссылки

К содержанию

Официальный сайт проекта | Русскоязычная группа Telegram

Discord | Twitter | GitHub | Blog

Форма для фиксации выполненных задач

Официальная документация | Explorer


Благодарности

К содержанию

Всем из раздела «Вклад сообщества»

Команда 1package — изучение проекта, написание статьи, администрирование русскоязычного сообщества

Команда Let’s Node! — администрирование русскоязычного сообщества

Выразить благодарность