Nibiru Smart Contaract Deploy | Развертывание смарт контракта Нибиру
Требования к серверу:
я взяла С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> на хеш
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 так же можно менять по своему усмотрению
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"}} с тем количеством, которое отправляли!
Поздравляю! Вы успешно выполнили таску по развертыванию смарт контракта!