Cosmos Nodes
May 11, 2023

Nibiru Smart Contaract Deploy | Развертывание смарт контракта Нибиру

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

2/4/50 - минимальные

я взяла СPХ31 хетцнере

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq chrony -y
curl -s https://get.nibiru.fi/! | bash

nibid version

nibid config node http://95.217.35.186:46657

nibid config chain-id nibiru-itn-1

nibid config broadcast-mode block

wget https://github.com/NibiruChain/cw-nibiru/raw/main/artifacts-cw-plus/cw20_base.wasm

nibid keys add wallet --recover
#попросит вставить мнемонику

KEY_NAME="<NAME>"               
#заменить <NAME> на имя своего кошелька(выдает предыдущая команда после восстановления)

CONTRACT_WASM="cw20_base.wasm"

NIBI=000000unibi

nibid tx wasm store $CONTRACT_WASM --from $KEY_NAME --gas 7000000 --fees 200000unibi

Из вывода необходимо сохранить себе два значения:

1. Находим строку - key: code_id и копируем значение value (цифры)
2. Последней строкой нам выдало хеш, его тоже сохраняем

Теперь записываем их в переменные:

id=<VALUE>
#заменить <VALUE> на ваши цифры
tx=<TXHASH>
#заменить <TXHASH> на хеш

Создаем файл inst.json

nano inst.json
#в него вставляем следующий текст:

{
  "name": "Custom CW20 token",
  "symbol": "CWXX",
  "decimals": 6,
  "initial_balances": [
    {
      "address": "YOUR_ADDRESS",
      "amount": "555444000"
    }
  ],
  "mint": { "minter": "YOUR_ADDRESS" },
  "marketing": {}
}

Замените в файле YOUR_ADDRESS на свой адрес дважды!
Поля name, symbol, amount можно менять по своему усмотрению
После чего сохраняем и выходим из нано

nibid tx wasm instantiate $id "$(cat inst.json)" --label="mint CWXX contract" --no-admin --from $KEY_NAME --fees 300000unibi
#значение поля label так же можно менять по своему усмотрению

Опять запоминаем значения:

  1. Строка - key: _contract_address, записываем ee value
  2. И хеш транзакции (в последней строке)

И задаем переменные:

contract_address=<VALUE>
#заменить <VALUE> на ваше значение

tx2=<TXHASH>
#заменить <TXHASH> на хеш

Выполнение смарт контракта:

Создадим файл cw_transfer.json

nano cw_transfer.json
#в него вставляем следующий текст:

{
  "transfer": {
    "recipient": "YOUR ADDRESS HERE",
    "amount": "50"
  }
}

Замените в файле YOUR_ADDRESS на адрес получателя монет(на него мы отправим часть наших токенов следующей командой)
Поле amount можно менять по своему усмотрению
После чего сохраняем и выходим из нано

nibid tx wasm execute $contract_address "$(cat cw_transfer.json)" --from $KEY_NAME --fees 300000unibi -y

Теперь осталось проверить пришли ли токены получателю:

balance='{"balance": {"address": "<RECIPIENT>"}}'
#заменить <RECIPIENT> на адрес того, кому вы отправляли токены
nibid query wasm contract-state smart $contract_address "$balance" --output json

В выводе вы получите строку - {"data":{"balance":"50"}} с тем количеством, которое отправляли!
Поздравляю! Вы успешно выполнили таску по развертыванию смарт контракта!

Спасибо за внимание!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!