testnet
March 8, 2022

Akash Testnet установка клиента

По идее инструкция для новичков (потому что как мне сегодня сказали - "профи инструкциии не нужны") но не совсем. Если вы не знаете что такое командная строка, линукс, впс, терминал и где все это взять - то в этой статье вы этого не найдете. Она написана с расчетом на то, что вы уже сидите перед открытым окном терминала linux и перед вами моргает курсор ожидая вашего ввода.

Ставим последнюю версию AKASH

apt install unzip
cd ~/
AKASH_VERSION=v0.15.0-rc14
curl https://raw.githubusercontent.com/ovrclk/akash/master/godownloader.sh | sh -s -- "$AKASH_VERSION"

Дописываем в PATH "/root/bin" в конец строки

nano /etc/environment

После изменения содержимое окна должно выглядеть так:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin"

ctrl+s, ctrl+x

Делаем новый PATH активным

sudo -s
source /etc/environment

Проверяем что получилось:

akash version

Эхо должно быть такое:

v0.15.0-rc14

Задаем переменные

AKASH_NET="https://raw.githubusercontent.com/ovrclk/net/master/edgenet"
export AKASH_KEYRING_BACKEND=os
export AKASH_NODE="$(curl -s "$AKASH_NET/rpc-nodes.txt" | shuf -n 1)"
export AKASH_CHAIN_ID="$(curl -s "$AKASH_NET/chain-id.txt")"

Делаем кошелек

Меняем MyWallet на имя вашего кошелька
(не тупите пожалуйста - с последней инструкции нашел 3 ноды в телеметрии которые называются NODENAME - рукалицо тем кто так делает)

AKASH_KEY_NAME=myWallet

Проверяем что получилось:

echo $AKASH_KEY_NAME

Генерируем кошелек:

akash keys add $AKASH_KEY_NAME

После ввода этой команды вы увидите инфу о вашем кошельке - сам адрес, паблик кей и снизу будет ваша сид фраза из 24 слов которую нужно сохранить

Задаем переменные на будущее:

export AKASH_ACCOUNT_ADDRESS="$(akash keys show $AKASH_KEY_NAME -a)"
echo $AKASH_ACCOUNT_ADDRESS

Идем на страницу крана и берем тестовые токены. Если кран выделывается например вот так :

{"error":"Broadcasting transaction failed with code 32 (codespace: sdk). Log: account sequence mismatch, expected 6318, got 6317: incorrect account sequence"}

открываем чистое окно чистого профиля чистого браузера и повторяем попытку

Результатом успешной транзакции будет такое сообщение:

{"transactionHash":"814754BE19AC394768E7308EFB5B7DEF622BFBC1D76FC4A43AC2A07A3A80F8A1"}

Сертификаты

Генерируем серт:

akash tx cert generate client --from $AKASH_KEY_NAME --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5

И отправляем его в блокчейн:

akash tx cert publish client --from $AKASH_KEY_NAME --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.15
это пример успешного результата

Проверяем все с помощью создания деплоя

Копипастим и следим за тем чтобы выводы совпадали c картинками:

curl -s https://raw.githubusercontent.com/mando222/testnetSDL/main/deploy.yaml > deploy.yaml
akash tx deployment create deploy.yaml --from $AKASH_KEY_NAME --node $AKASH_NODE --chain-id $AKASH_CHAIN_ID --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 -y

Получаем примерно следующее:

Ищем в тесксте параметр DSEQ (если у вас MobaXterm, то поиск ctrl+shift+f)

Записываем это дело в переменную вместо <dseq-number> вставив номер:

AKASH_DSEQ=<dseq-number>

Получаем список провайдеров:

akash query market bid list --owner=$AKASH_ACCOUNT_ADDRESS --node $AKASH_NODE --dseq $AKASH_DSEQ

Задаем переменную провайдера вместо <provider-address> вставляем параметр который так и называется и найти его можно в предыдущем выводе (далее писать не буду, все по аналогии - видите треугольные скобки значит нужно поменять значение):

AKASH_PROVIDER=<provider-address>

Сдаем активы провайдеру:

akash tx market lease create --chain-id $AKASH_CHAIN_ID --node $AKASH_NODE --owner $AKASH_ACCOUNT_ADDRESS --dseq $AKASH_DSEQ --provider $AKASH_PROVIDER --from $AKASH_KEY_NAME --gas-prices="0.025uakt" --gas="auto" --gas-adjustment=1.5 -y

Получаем простыню с транзакцией и проверяем что у нас получилось:

akash query market lease list --owner $AKASH_ACCOUNT_ADDRESS --node $AKASH_NODE --dseq $AKASH_DSEQ

Отправляем манифест:

akash provider send-manifest deploy.yaml --node $AKASH_NODE --dseq $AKASH_DSEQ --provider $AKASH_PROVIDER --home ~/.akash --from $AKASH_KEY_NAME

Далее вводим:

akash provider lease-status --node $AKASH_NODE --home ~/.akash --dseq $AKASH_DSEQ --from $AKASH_KEY_NAME --provider $AKASH_PROVIDER

Если наблюдаем такой вывод то все хорошо и можно переходить к выполнению заданий.

По мере выполнения задания буду дописывать и коментировать

Информация собрана из официальной документации и дополнена каналом @OxCryptos