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"}} с тем количеством, которое отправляли!
Поздравляю! Вы успешно выполнили таску по развертыванию смарт контракта!