shine-solana/shine/scripts/dao/README.md

1.7 KiB

DAO scripts (актуальные)

1) Проверка конфигурации

scripts/dao/create_realm_dao_full_test.sh scripts/dao/dao.config.env

2) Реальное создание FULL DAO

node scripts/dao/create_realm_dao_full_build_exec.js scripts/dao/dao.config.env

Что делает:

  1. Создает governance mint (SPL, decimals=0, supply из конфига).
  2. Добавляет on-chain metadata для mint (URI и картинка из Arweave).
  3. Создает Realm / Governance / Native Treasury.
  4. Депозитит governance токены в Realm.
  5. Пишет отчеты в scripts/dao/runs/*.json и *.txt.

3) Revoke/Burn membership токенов

Вариант A (рекомендуется): через DAO голосование

node scripts/dao/propose_vote_execute_revoke_full_exec.js \
  scripts/dao/dao.config.env \
  <REALM_PUBKEY> \
  <GOVERNANCE_PUBKEY> \
  <MINT_PUBKEY> \
  <TARGET_OWNER_PUBKEY> \
  [AMOUNT]

Скрипт делает полный цикл:

  1. create proposal
  2. insert revoke instruction
  3. sign off
  4. cast vote
  5. execute

Вариант B (технический/админский): прямой revoke

node scripts/dao/revoke_member_token_full_exec.js \
  scripts/dao/dao.config.env \
  <REALM_PUBKEY> \
  <MINT_PUBKEY> \
  <TARGET_OWNER_PUBKEY> \
  [AMOUNT]

Важное:

  1. Для RevokeGoverningTokens токен должен быть membership-типом (в full-скрипте это уже так).
  2. Для сценария “только DAO голосованием” используйте вариант A.
  3. Вариант B оставлен как технический инструмент.