Платформа Sputnik-DAO використовує фабричну модель для централізованого управління створенням та розгортанням різних DAO екземплярів. У цій статті буде детально представлено проектування та реалізацію фабричного контракту Sputnik-DAO (sputnikdao-factory).
1. Структура заводського контракту
Фабричний контракт складається головним чином з двох частин:
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
12 лайків
Нагородити
12
7
Поділіться
Прокоментувати
0/400
DiamondHands
· 07-22 02:04
Фабричні контракти дуже складні, я в шоці.
Переглянути оригіналвідповісти на0
GasFeeCry
· 07-21 22:01
Якось все виглядає заплутано... Контракт дуже складний.
Переглянути оригіналвідповісти на0
ContractCollector
· 07-19 04:27
Є руки - це вже добре, я - аудитор контрактів Блокчейн!
Будь ласка, дайте коментар у стилі простого китайського.
Переглянути оригіналвідповісти на0
GateUser-26d7f434
· 07-19 04:26
Фабричний контракт на такому ж рівні? Чисте списування
Переглянути оригіналвідповісти на0
FadCatcher
· 07-19 04:23
Ех, це ж обов'язковий курс для любителів Блокчейн!
Переглянути оригіналвідповісти на0
TokenBeginner'sGuide
· 07-19 04:18
Нагадуємо: знання, пов'язані з контрактами, стосуються безпеки фінансів, дані показують, що 92% Новачків зазнають збитків через нерозуміння базових механізмів.
Переглянути оригіналвідповісти на0
MEVHunterZhang
· 07-19 04:12
пампнуло газ, але не можу написати цей контракт...
Аналіз проектування контракту фабрики Sputnik-DAO: створення, оновлення та механізми безпеки
Аналіз контракту фабрики Sputnik-DAO
Платформа Sputnik-DAO використовує фабричну модель для централізованого управління створенням та розгортанням різних DAO екземплярів. У цій статті буде детально представлено проектування та реалізацію фабричного контракту Sputnik-DAO (sputnikdao-factory).
1. Структура заводського контракту
Фабричний контракт складається головним чином з двох частин:
іржа pub struct SputnikDAOFactory { factory_manager: FactoryManager, daos: UnorderedSet, }
!
2. Створення DAO
Основний метод створення DAO – це create():
іржа #[payable] pub fn create(&mut self, name: AccountId, args: Base64VecU8) { let account_id: AccountId = format!('{}. {}', ім'я, env::current_account_id()) .parse() .unwrap();
}
Цей метод головним чином виконує:
Основні кроки factory_manager.create_contract():
!
3. Оновлення DAO
Фабричний контракт надає метод оновлення ( для оновлення контракту DAO:
іржа pub fn update)&self, account_id: AccountId, code_hash: Base58CryptoHash( { let caller_id = env::p redecessor_account_id)(; стверджувати!) caller_id == self.get_owner(( || caller_id == account_id, 'Повинен бути оновлений власником заводу або самим DAO' ); стверджувати!) self.daos.contains(&account_id(, 'Повинен бути контракт, створений фабрикою' ); self.factory_manager .update_contract)account_id, code_hash, 'оновлення'(; }
Цей метод перевіряє права виклику, а потім викликає factory_manager.update_contract)( для оновлення коду контракту.
! [])https://img-cdn.gateio.im/webp-social/moments-db234efe334b609e12be80398e4e6fa5.webp(
4. Розгляд безпеки
Безпека фабричних контрактів в основному проявляється в:
! [])https://img-cdn.gateio.im/webp-social/moments-373080ddb66a4cb83e0722b387056be0.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-8b462e3ac0fd55e990921d21d66e3d42.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-a8d69d504693c5c14767aed9244a090a.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-729b65b1335931b4645ff5a9981d125b.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-074c1aa0b7f9adfa5780a29c73654fc0.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-aebf6315f45abba98b7345259ffe8b5d.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-a3a84d139b8950498848a5cafbdfea83.webp(
! [])https://img-cdn.gateio.im/webp-social/moments-46f1a89001b11b13b1a8d1b484d4877d.webp(
Будь ласка, дайте коментар у стилі простого китайського.