CREATOR_Deploy_Solana_Program - my-crypto-datascience-portfolio/my_crypto_donations_bank_solana GitHub Wiki
Создание банка донатов и инициализация сборов
В процесс создания банка донатов входит:
- Deploy RUST-программы банка
- Генерация дополнительных аккаунтов (для сбора комиссии Владельцем, для..)
- PRE-MINT токена платформы (CHRT) (аккаунт для раздачи наград USER'ам)
- Запуск первой транзакции по установке рабочих настроек банка
Результат деплоя и инициализации:
- Получили Program ID для следующих шагов
- Получили аккаунт Банка (на который перечислять донаты SOL и CHRT). CREATOR - владелец Private key
- К аккаунту программы банка донатов привязан PDA настроек банка (PDA OWNER - Program ID; аккаунт банка - платит за создание PDA; должен быть начальный airdrop на аккаунт банка)
- Получили отдельный аккаунт с PRE-MINT токена платформы (CHRT) - Не ассоциированный с аккаунтом банка донатов
- Получили ассоциированный аккаунт токена CHRT (для сбора донатов в CHRT)
- Получили аккаунт для сбора комиссии Владельцем платформы банка донатов
В результате у Владельца банка появились (после DEPLOY и инициализации):
-
Аккаунты для сборов (SOL + CHRT)
-
Аккаунт для комиссии (SOL)
-
Аккаунт с PRE-MINT (для наград - CHRT)
В ИТОГЕ, У СИСТЕМЫ (БАНКА) МОЖЕТ БЫТЬ НЕСКОЛЬКО ADMIN АДРЕСОВ (5 основных)
-
Адрес админа загрузчика программы (кто может изменять контракт)
-
Адреса для MINT токена системы
-
Адрес самого токена
-
Адрес для раздающего награды USER'ам (в токенах CHRT) - сам банк
- Адрес для сборов донатов в SOL
- Кто может выводить сборы из системы
- Адрес самой программы контракта
- Program ID
В идеале - адреса не должны пересекаться по зависимостям (соображения безопасности)