KiChain | kichain-t-3
⠀KiChain — сеть, позволяющая стейкать токены $XKI на валидаторов. О тестовой сети с наградами в этой статье.
Содержание
- Информация о проекте
- Требования к серверу
- Запуск
- Информация о ноде
- Побег из тюрьмы
- Установка аватара
- Изменение комиссии
- Обновление
- Возможные проблемы
- 1) Переменная
$kichain_moniker
или$kichain_wallet_name
не работает - 2) Нода работает, но в explorer’е uptime 0%
- Задания
- Полезные команды
- Полезные ссылки
- Благодарности
Информация о проекте
Описание проекта
⠀Ki — платформа по объединению традиционных активов и DeFi экосистемы. Довольно интересный, а самое главное актуальный проект, так как разработчики стремятся осуществить массовый переход на крипто-технологии, связывая реальный мир и DeFi в единый продукт. Ki уже объединяет в себе два продукта — Klub и KiChain.
⠀Klub — инвестиционная платформа, позволяющая взаимодействовать с традиционными финансовыми рынками. Кроме того, эксклюзивом здесь является то, что Klub позволяет своим клиентам взаимодействовать с миром криптовалют без посредников (например, пополнение из фиата, причем легальное — что является важным пунктом для многих инвесторов). Еще одной интересной фишкой является возможность участвовать в ранних размещениях различных проектов. Построение сильной экосистемы, доступ к ранним раундам финансирования, различные возможности интеграции реального мира с миром криптовалют и ещё множество фишек — это именно то, что может предоставить Klub своим пользователям.
⠀KiChain — сеть, позволяющая взаимодействовать валидаторам и делегаторам между собой. Делегаторы стейкают на валидаторов токены $XKI и получают процент со своих вложений, а последние получают комиссионные (до 10%).
⠀С целью популяризации и набора новых валидаторов в основную сеть была анонсирована стимулирующая тестовая сеть, в ходе которой нужно будет выполнять задания, сложность которых с каждым разом будет увеличиваться. Обязательное условие — аккаунту GitHub должно быть не менее 3 месяцев. Далее речь идёт об этой тестовой сети.
Фазы тестовой сети
⠀Тестовая сеть продлиться чуть больше 1 месяца и включает в себя 4 фазы:
- 2-15 августа — регистрация
- 15-23 августа — начало испытания
- 23 августа - 5 сентября — секретная фаза
- 5 сентября — подведение итогов
Награды
⠀KiChain запустили испытание для сообщества с наградным фондом в размере 100'000$ в токенах $XKI:
⠀На выигранные монеты будете распространяться 12-ти месячная система вестинга — каждый месяц будет становиться доступным для вывода 1/12 от награды
⠀В дополнении к фиксированным наградам, участники, которые займут 11-20 место получат делегацию от фонда по 100'000$ каждый в токенах $XKI. Благодаря этому нода будет генерировать доход для делегаторов взамен на награду с комиссий (не больше 10%).
⠀Для получения наград будет необходимо пройти KYC верификацию.
⠀Для участников не занявших какие-либо места награда не предусмотрена, однако кто знает, что могут дать за участие.
⠀Появилась возможность участия для тех, кто не заполнил заявку до 16 августа. Что по наградам в таком случае — не известно
Требования к серверу
⠀VPS/VDS/DS: 4 CPU, 4 GB RAM, 80 GB SSD, Ubuntu 20.04
Запуск
Подготовка
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget git build-essential make jq -y
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/golang.sh)
cd; git clone https://github.com/KiFoundation/ki-tools.git && cd ki-tools && git checkout testnet-ibc && make install; cd
mkdir -p $HOME/kichain/kid
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
Без пробелов, "
и '
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_moniker
kid init "$kichain_moniker" --chain-id kichain-t-3 --home $HOME/kichain/kid/
⠀Указанные файлы заменить файлами из резервной копии папки config
(команды отображают пути)
echo $HOME/kichain/kid/config/node_key.json echo $HOME/kichain/kid/config/priv_validator_key.json
kid unsafe-reset-all --home $HOME/kichain/kid/
⠀Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)
echo $HOME/kichain/kid/config
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_wallet_name
⠀Восставить аккаунт валидатора
kid keys add "$kichain_wallet_name" --recover --home $HOME/kichain/kid/
⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды
kid keys add "$kichain_wallet_name" --home $HOME/kichain/kid/
⠀Необходимо задать пароль, запомнить его и
Сохранить вывод команды в текстовый файл
⠀Экспортировать приватные ключи командой (необходимо ввести заданный ранее пароль и тот же или другой для шифрования)
kid keys export "$kichain_wallet_name" --home $HOME/kichain/kid/
⠀Сохранить выведенную информацию в текстовый файл на своём ПК и запомнить указанный вторым пароль
Желательно не хранить данную информацию и пароль в одном месте
⠀Попросить токены на кошелёк, начинающийся на tki1...
, у сообщества. Сделать это можно в:
- Русскоязычной группе Telegram
- Чате валидаторов на Discord канале
- Чате тестовой сети на Discord канале
- Чате крана на Discord канале
Запуск ноды
wget -qO $HOME/kichain/kid/config/genesis.json https://raw.githubusercontent.com/KiFoundation/ki-networks/v0.1/Testnet/kichain-t-3/genesis.json
sed -i -e "s%^moniker *=.*%moniker = \"$kichain_moniker\"%; s%^seeds *=.*%seeds = \"`wget -qO - https://raw.githubusercontent.com/SecorD0/KiChain/main/settings/seed-nodes.txt | tr '\n' ', '`\"%; s%^persistent_peers *=.*%persistent_peers = \"`wget -qO - https://raw.githubusercontent.com/KiFoundation/ki-networks/v0.1/Testnet/kichain-t-2/peer-nodes.txt | tr '\n' ',' | sed 's%,$%%'`\"%" $HOME/kichain/kid/config/config.toml
⠀Если на сервере стоит ещё одна нода, использующая Tendermint (Stratos, Findora и пр.), то дополнительно настроить конфиг в соответствии со статьёй
sudo tee /etc/systemd/system/kichaind.service > /dev/null <<EOF [Unit] Description=KiChain Node After=network-online.target [Service] User=$USER ExecStart=`which kid` start --home $HOME/kichain/kid/ Restart=always RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable kichaind sudo systemctl restart kichaind
⠀Добавить команду для просмотра лога ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_log -v "sudo journalctl -fn 100 -u kichaind" -a
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/KiChain/main/node_info.sh) -l RU 2> /dev/null" -a
Ожидание
⠀Дождаться окончания синхронизации ноды (пройдёт несколько (десятков) часов)
kichain_node_info
⠀После того, как на ноду пришлют монеты, создать валидатора
kid tx staking create-validator --commission-max-change-rate 0.1 --commission-max-rate 0.1 --commission-rate 0.09 --min-self-delegation 1 --amount 4995000utki --pubkey `kid tendermint show-validator --home $HOME/kichain/kid/` --moniker "$kichain_moniker" --chain-id kichain-t-3 --gas auto --gas-prices 0.025utki --from "$kichain_wallet_name" --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid/
⠀Записать адрес кошелька (вывод первой команды) и оператора для заполнения формы (есть в выводе второй команды)
kid keys show "$kichain_wallet_name" -a --home $HOME/kichain/kid/ kichain_node_info
⠀Если форма заполнялась, то дальнейшие шаги пропустить
Создание кошелька
⠀Для заполнения формы необходим KiChain адрес основной сети, для этого нужно создать кошелёк.
⠀Сделать это можно как минимум двумя способами
В мобильном приложении Cosmostation Wallet
- Найти приложение в Google Play или App Store (ссылки на приложения можно найти на официальном сайте)
- Скачать и установить его
- Запустить
- Выбрать «CREATE»
- Найти «Ki Foundation Mainnet»
- Нажать «Show Mnemonic»
- Задать пароль, состоящий из 4 цифр и 1 буквы
- Сохранить мнемоническую фразу
- Нажать «Create wallet»
- Записать адрес кошелька для заполнения формы
- Скачать установщик под необходимую ОС из официального репозитория
- Установить приложение (может ругаться на вирус при запуске файла установщика)
- Запустить приложение (в Windows ярлык не создаётся, нужно запустить либо из поиска меню пуск, либо EXE файл из папки с приложением)
- Нажать «Generate a new Wallet»
- Ввести название кошелька
- Сохранить мнемоническую фразу
- Повторить мнемоническую фразу
- Ввести пароль
- Записать адрес кошелька для заполнения формы
Заполнение формы
⠀Присоединиться к каналу Discord
⠀Открыть и заполнить форму
First Name
— имяLast Name
— фамилияEmail address
— адрес почтыCompany
— компания/проект (если находитесь в ряду такой)Github handle
— логин GitHub (аккаунту должно быть более 3 месяцев)Discord Handle
— логин Discord типа xxxxxx#0000 (необходимо вступить в канал)Validator Moniker
— название ноды, можно узнать командой
echo $kichain_moniker
Validator testnet wallet address
— записанный ранее адрес кошелькаValidator testnet operator address
— записанный ранее адрес оператораMainnet reward address
— записанный ранее адрес кошелькаAre you willing to launch a validator on the mainnet
— YesDo you already validate on the following chains?
— валидируете ли в указанных сетях? (вероятно можно указать Cosmos Hub, но это не точно)If it applies, on what other chains do you already validate?
— указать тестовые сети, в которых принимаете участие (например Stratos, OmniFlix и т. п.)KYC/AML
— перевести и прочитать- Поставить галочку и отправить форму, если согласны с правилами
Информация о ноде
kichain_node_info
Побег из тюрьмы
⠀Чтобы узнать, находится ли нода в тюрьме, необходимо использовать команду
kichain_node_info
⠀Если нода находится в заточении, то необходимо выполнить команду, чтобы выбраться из него
kid tx slashing unjail --from "$kichain_wallet_name" --chain-id kichain-t-3 --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid
⠀Через некоторое время нода должна выбраться из заточения
Установка аватара
⠀Зарегистрировать или авторизоваться на сайте KeyBase
⠀Нажать на PGP ключ и скопировать его для дальнейшей установки аватара
⠀Подставить свои значения в команду для редактирования валидатора (в блокноте), выполнить её, подтвердить транзакцию и ввести пароль
kid tx staking edit-validator \ --moniker "ANY_NAME" \ --identity "1A1A2B2B3C3C4D4D" \ --details "ANY_TEXT" \ --gas auto \ --gas-prices 0.025utki \ --from "$kichain_wallet_name" \ --chain-id kichain-t-3 \ --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` \ --home $HOME/kichain/kid
Изменение комиссии
⠀По условиям испытания 11-20 места получат делегацию 100'000$ на каждого, при этом одним из условий получения является комиссия, ниже 10%. Включительно или нет — непонятно, поэтому для снижения комиссии до 9% необходимо выполнить команду
kid tx staking edit-validator --commission-rate 0.09 --gas auto --gas-prices 0.025utki --from "$kichain_wallet_name" --chain-id kichain-t-3 --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid
Обновление
⠀Подразумевается, что нода была остановлена на 219'800 блоке
⠀Удалить старые резервные копии
rm -rf $HOME/kichain/unsucc_backup $HOME/kid-backup/
⠀Сделать резервную копию папки kid
⠀Копирование может занять несколько десятков минут, поскольку размер папки ~30 ГБ
cp -r $HOME/kichain/kid $HOME/kid_backup_kt3/
Короткий путь
⠀Сделать резервную копию как в начале раздела
kid unsafe-reset-all --home $HOME/kichain/kid
wget -qO $HOME/kichain/kid/config/genesis.json https://raw.githubusercontent.com/KiFoundation/ki-networks/v0.1/Testnet/kichain-t-4/genesis.json
sed -i "s%^halt-height *=.*%halt-height = 0%" $HOME/kichain/kid/config/app.toml
⠀Изменить сервисный файл обратно
sudo tee /etc/systemd/system/kichaind.service > /dev/null <<EOF [Unit] Description=KiChain Node After=network-online.target [Service] User=$USER ExecStart=`which kid` start --home $HOME/kichain/kid/ Restart=always RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable kichaind sudo systemctl restart kichaind
⠀Перейти к пункту «Проверка»
Длинный путь
⠀Сделать резервную копию как в начале раздела
⠀Экспортировать состояние блокчейна
kid export --height 219800 --home $HOME/kichain/kid > $HOME/kichain/kichain-t-3_genesis_export.json
⠀Вывести хэш экспортированного генезис файла
jq -S -c -M '' $HOME/kichain/kichain-t-3_genesis_export.json | shasum -a 256
⠀Хэш должен быть таким. Что делать, если не совпадает — непонятно
3377744f812972a82dac855e357046152905d6a407bd526b55e45b874895d817
⠀Обновить экспортированный генезис
sed -i -e "s%\"receive_enabled\":false%\"receive_enabled\":true%g; s%\"send_enabled\":false%\"send_enabled\":true%g; s%\"voting_period\":\"1209600s\"%\"voting_period\":\"7200s\"%g; s%\"kichain-t-3\"%\"kichain-t-4\"%g" $HOME/kichain/kichain-t-3_genesis_export.json
⠀Найти последовательность каналов
prev=`cat $HOME/kichain/kichain-t-3_genesis_export.json | jq .app_state.ibc.channel_genesis.ack_sequences[] | jq 'map(split("-"))[0][1] | tonumber' | sort -n | tail -1` && next=$(($prev+1)) && echo $next
⠀Должно вывести 42
. Что делать, если не совпадает — непонятно
⠀Обновить последовательность каналов
sed -i "s%\"next_channel_sequence\":\"0\"%\"next_channel_sequence\":\"$next\"%g" $HOME/kichain/kichain-t-3_genesis_export.json
⠀Удостовериться, что значение изменилось на 42
cat $HOME/kichain/kichain-t-3_genesis_export.json | jq | grep "next_channel_sequence"
⠀Переименовать изменённое состояние в genesis.json
mv $HOME/kichain/kichain-t-3_genesis_export.json $HOME/kichain/genesis.json
⠀Вывести хэш мигрированного генезис файла
jq -S -c -M '' $HOME/kichain/genesis.json | shasum -a 256
⠀Хэш должен быть таким. Что делать, если не совпадает — непонятно
83e8d8b9b883f1d478fb8d9f0e32c138904d0cbc30e939fa0490f988fd0b78d7
⠀Удостовериться, что резервное копирование было проведено успешно
⠀Размер папок должен быть примерно одинаковым
du $HOME/kichain/kid -BM du $HOME/kid_backup_kt3/ -BM
⠀Сделать резервную копию настроек
cp $HOME/kichain/kid/config/config.toml $HOME/kichain/kid/config/config.toml.kichain-t-3.bak cp $HOME/kichain/kid/config/app.toml $HOME/kichain/kid/config/app.toml.kichain-t-3.bak
kid unsafe-reset-all --home $HOME/kichain/kid
⠀Скопировать созданный ранее генезис файл в папку с нодой
cp $HOME/kichain/genesis.json $HOME/kichain/kid/config/
sed -i "s%^halt-height *=.*%halt-height = 0%" $HOME/kichain/kid/config/app.toml
⠀Изменить сервисный файл обратно
sudo tee /etc/systemd/system/kichaind.service > /dev/null <<EOF [Unit] Description=KiChain Node After=network-online.target [Service] User=$USER ExecStart=`which kid` start --home $HOME/kichain/kid/ Restart=always RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable kichaind sudo systemctl restart kichaind
Проверка
kichain_log
⠀Через некоторое время посмотреть информацию о ноде удостовериться, что обработка блоков идёт
kichain_node_info
Возможные проблемы
1) Переменная $kichain_moniker
или $kichain_wallet_name
не работает
⠀Вероятнее всего, переменная не была записана в систему. Чтобы проверить так ли это, необходимо выполнить команду с подозреваемой переменной
echo $kichain_moniker echo $kichain_wallet_name
⠀Если вывод команды пустой, то вспомнить название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_moniker
⠀Или вспомнить название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_wallet_name
⠀Проверить, записалась ли переменная, выполнив команду с подозреваемой переменной
echo $kichain_moniker echo $kichain_wallet_name
2) Нода работает, но в explorer’е uptime 0%
⠀Нода запущена с другого аккаунта валидатора, чтобы удостовериться в этом необходимо узнать публичный ключ валидатора командой
kid tendermint show-validator --home $HOME/kichain/kid/
⠀Если он не совпадает с тем, который подавался в генезис через GitHub (нет в генезис файле), то необходимо найти сохранённую при регистрации папку (команда отображает путь)
echo $HOME/kichain/kid/config
⠀Если резервная копия папки не была сделана, то можно не продолжать, а перейти к разделу «Если не приняли в генезис или заявка на добавление не подавалась» и запомнить, что
У нод, работающих на базе Tendermint всегда нужно сохранять папку с настройками DIR_WITH_NODE/config/
sudo systemctl stop kichaind
rm -rf $HOME/kichain/kid/config
⠀Сохранённую при регистрации папку config
поместить в папку (команда отображает путь)
echo $HOME/kichain/kid/
sudo systemctl start kichaind
⠀Зайти explorer’е на страницу своей ноды и удостовериться, что она начала обрабатывать блоки
Задания
⠀Как заявляли разработчики в официальном посте, предусмотрены задания.
Ретранслятор
⠀IBC позволяет осуществлять кроссчейн передачу криптовалюты и данных. Для этого необходим так называемый ретранслятор. Начиная с 6 сентября участникам предлагается запустить ретранслятор с существующей цепочкой с поддержкой IBC в экосистеме Cosmos.
- Запустить ретранслятор
- Выполнить несколько кроссчейн транзакций
- Опубликовать техническую документацию (в Medium или Readme на Github)
⠀Материалы должны быть отправлены через Pull Request в этот репозиторий (шаблон отправляемого JSON файла находится в конце страницы).
⠀Крайний срок подачи — перенесли, пока не понятно
⠀Любой запрос на добавление, отправленный после дедлайна или в неправильную директорию, будет отклонен автоматически.
⠀Приведённое ниже делать на том же сервере, где стоит KiChain нода
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Cro/main/installer.sh)
⠀Сохранить выведенную мнемоническую фразу
cro_node_info
cd; git clone https://github.com/cosmos/relayer.git; cd relayer; make install; cd
⠀Инициализировать ретранслятор
rly config init
⠀Создать файл настроек KiChain и Cro сетей
echo '{"chain-id":"kichain-t-4","rpc-addr":"https://rpc-challenge.blockchain.ki:443","account-prefix":"tki","gas-adjustment":1.5,"gas-prices":"0.025utki","trusting-period":"10m"}' > $HOME/.relayer/config/kichain_config.json echo '{"chain-id":"testnet-croeseid-4","rpc-addr":"'`grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/.chain-maind/config/config.toml`'","account-prefix":"tcro","gas-adjustment":1.5,"gas-prices":"0.025basetcro","trusting-period":"10m"}' > $HOME/.relayer/config/croeseid_config.json
rly chains add -f $HOME/.relayer/config/kichain_config.json rly chains add -f $HOME/.relayer/config/croeseid_config.json
⠀Создать кошельки в ретрансляторе
rly keys add kichain-t-4 "$kichain_wallet_name" > $HOME/rly_kichain_wallet.txt rly keys add testnet-croeseid-4 "$cro_wallet_name" > $HOME/rly_croeseid_wallet.txt
⠀Сделать резервную копию файлов с мнемоническими фразами, сохранив себе на ПК (команды отображают пути)
echo $HOME/rly_kichain_wallet.txt echo $HOME/rly_croeseid_wallet.txt
rly chains edit kichain-t-4 key "$kichain_wallet_name" rly chains edit testnet-croeseid-4 key "$cro_wallet_name"
⠀Перевести со своей KiChain ноды 10 токенов на KiChain адрес
kid tx bank send "$kichain_wallet_name" `rly keys show kichain-t-4 "$kichain_wallet_name"` 10000000utki --gas auto --chain-id kichain-t-4 --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid/
⠀На сервере с графическим интерфейсом необходимо добавить флаг --keyring-backend file
, заранее импортировав ключи с таким же параметром параметром в KiChain ноду
kid keys add "$kichain_wallet_name" --recover --home $HOME/kichain/kid/ --keyring-backend file
⠀Запросить токены с крана на Cro адрес
rly keys show testnet-croeseid-4 "$cro_wallet_name"
rly light init kichain-t-4 -f rly light init testnet-croeseid-4 -f
successfully created light client for kichain-t-4 by trusting endpoint https://rpc-challenge.blockchain.ki:443... successfully created light client for testnet-croeseid-4 by trusting endpoint tcp://127.0.0.1:26667...
⠀Добавить каналы в config.yaml
(необходимо ввести любые названия для KiChain и Cro каналов по очереди)
sed -i.bak -e 's%timeout: *.*%timeout: 3m%; s% {}%%' $HOME/.relayer/config/config.yaml; \ . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n kichain_path; \ . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n cro_path; \ cat >> $HOME/.relayer/config/config.yaml <<EOF $kichain_path: src: chain-id: kichain-t-4 port-id: transfer order: UNORDERED version: ics20-1 dst: chain-id: testnet-croeseid-4 port-id: transfer order: UNORDERED version: ics20-1 strategy: type: naive $cro_path: src: chain-id: testnet-croeseid-4 port-id: transfer order: UNORDERED version: ics20-1 dst: chain-id: kichain-t-4 port-id: transfer order: UNORDERED version: ics20-1 strategy: type: naive EOF
⠀Проверить, всё ли готово к работе
rly chains list
0: kichain-t-4 -> key(✔) bal(✔) light(✔) path(✔) 1: testnet-croeseid-4 -> key(✔) bal(✔) light(✔) path(✔)
⠀Если у bal
стоит крестик, значит на кошельке нет токенов, надо закинуть их
⠀Запустить клиенты сетей ещё раз
rly light init kichain-t-4 -f rly light init testnet-croeseid-4 -f
⠀Открыть KiChain канал (дождаться надписи Channel created
)
rly tx link $kichain_path
⠀Открыть Cro канал (дождаться надписи Channel created
)
rly tx link $cro_path
⠀При любых ошибках, из-за которых не открывается канал, например
failed to get trusted header, please ensure header at the height
⠀Необходимо открыть файл (команда отображает путь)
echo $HOME/.relayer/config/config.yaml
⠀Удалить указанные строки (содержание файла будет другим)
rm -rf $HOME/.relayer/light/
⠀Заново запустить клиенты и открыть каналы
⠀Отправить 1tki на Cro адрес и сохранить hash транзакции
rly tx transfer kichain-t-4 testnet-croeseid-4 1000000utki `rly keys show testnet-croeseid-4 "$cro_wallet_name"` --path $kichain_path
⠀При ошибке ниже необходимо заново запустить клиенты
failed to update off-chain light client for chain
⠀Если не поможет, то удалить в config.yaml
3 строки ниже в cro-src и cro-dst, заново запустить клиенты и открыть каналы
client-id: ... connection-id: ... channel-id: ...
I[2021-09-12|23:44:57.052] ✔ [kichain-t-4]@{303033} - msg(0:transfer) hash(A7150C2D83EFF3B50CBAB6872B351213410B56C26E32128433B667865712EBD1)
⠀Отправить 1tcro на KiChain адрес и сохранить hash транзакции
rly tx transfer testnet-croeseid-4 kichain-t-4 1000000basetcro `rly keys show kichain-t-4 "$kichain_wallet_name"` --path $cro_path
⠀Написать гайд с ходом действий в ReadMe на GitHub или в Medium
⠀Создать Pull request с выполненной работой на странице GitHub
⠀О том, как это сделать в разделе "ГИТХАБ" в гайде у mzonder
⠀Только JSON файл выглядеть должен так (список состоит из 5 строк - хешей транзакций)
{ "moniker": "SecorD", "documentationURL": "https://github.com/SecorD0/KiChain/blob/main/README.md", "ibcTransferTxHashs": ["A7150C2D83EFF3B50CBAB6872B351213410B56C26E32128433B667865712EBD1", "1A59A91015E4C58BDF9AE426688464CF7B2AFB25C12973466B9C67B9A0BF24F7", "1F75CC13861388E444F6E8C232EE8436F096BEF4ED673131998CA2A0677A475E", "2329B555368D457215A30F3457BAC12617394F015813A1CE276CBC2DD6833A76", "E2100B6DEF7ADD322899EB266AAC1763068BEEC2177CFA06E6C263BAF14876EE"], "additionalComments": "Cro to KiChain transaction: 58BE6C694FE77DA8B2F65EDF09B372041C3B0208727C63D554A2CF17DCEF95F0" }
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $kichain_moniker echo $kichain_wallet_name
kichain_log sudo journalctl -fn 100 -u kichaind
kichain_node_info . <(wget -qO- https://raw.githubusercontent.com/SecorD0/KiChain/main/node_info.sh) -l RU
⠀Посмотреть статус ноды (используется в kichain_node_info
)
kid status --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid/ 2>&1 | jq
⠀Посмотреть информацию о ноде (используется в kichain_node_info
)
kid query staking validators --limit 1500 --output json | jq -r '.validators[] | select(.description.moniker=='\"$kichain_moniker\"')'
⠀Отправить токены на другой кошелёк (подставить адрес и изменить 5 TKI на своё значение)
kid tx bank send "$kichain_wallet_name" tki1... 5000000utki --gas auto --chain-id kichain-t-4 --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid/
⠀Делегировать токены на валидатора (подставить адрес и изменить 5 TKI на своё значение)
kid tx staking delegate tkivaloper1... 4995000utki --from "$kichain_wallet_name" --chain-id kichain-t-4 --gas auto --gas-prices 0.025utki --node `grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")" $HOME/kichain/kid/config/config.toml` --home $HOME/kichain/kid
sudo systemctl restart kichaind
Полезные ссылки
Официальный сайт проекта | Официальная группа Telegram
Русскоязычная группа Telegram | Twitter | Discord | GitHub
Explorer | Описание тестовой сети | Описание испытания
Cosmostation Wallet | KiChain Desktop Wallet
Благодарности
Алексей — помощь сообществу, администрирование чата, гайд по работе с ретранслятором
mzonder — установка Cro ноды, гайд по работе с ретранслятором
Freesson — установка аватара
Команда 1package — изучение проекта, написание статьи