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

61 lines
1.7 KiB
Markdown

# DAO scripts (актуальные)
## 1) Проверка конфигурации
```bash
scripts/dao/create_realm_dao_full_test.sh scripts/dao/dao.config.env
```
## 2) Реальное создание FULL DAO
```bash
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 голосование
```bash
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
```bash
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 оставлен как технический инструмент.