Archway | torii-1
⠀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 направления:
- Запуск, управление валидатором и выполнение технических заданий;
- Поиск уязвимостей;
- Разработка dApps'ов и инструментов;
- Публикация контента для повышения узнаваемости проекта.
⠀Для подтверждения выполненных задач необходимо заполнить форму. Нет записи в форме — нет зачтённого выполнения задачи.
⠀В генезис рандомно выберут 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
Запуск
Подготовка
. <(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
⠀По окончании синхронизации необходимо запросить токены:
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
⠀Удалить директорию с данными ноды
rm -rf $HOME/.archway
Побег из тюрьмы
⠀Чтобы узнать, находится ли нода в тюрьме, необходимо использовать команду
archway_node_info
⠀Если нода находится в заточении, то необходимо выполнить команду, чтобы выбраться из него
archwayd tx slashing unjail --from "$archway_wallet_name"
⠀Через некоторое время нода должна выбраться из заточения
Установка аватара
⠀Зарегистрировать или авторизоваться на сайте KeyBase
⠀Нажать на 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"
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! — администрирование русскоязычного сообщества