Інтеграція з Snapshot (голосування) під ключ
Ми допомогли вже 15+ DAO інтегрувати Snapshot — від Uniswap-подібних протоколів до невеликих NFT-спільнот. Нещодавно до нас звернувся DAO з 15 000 учасників, які щомісяця витрачали $5000 на газ при on-chain голосуванні. Явка падала, а витрати зростали. Після переходу на Snapshot витрати на газ зникли, а явка зросла на 40%. Якщо ваша спільнота витрачає $2000–$5000 на місяць на газ при кожному голосуванні — ви втрачаєте учасників. Snapshot вирішує це: голос — це підпис, не транзакція. Верифікація off-chain, результати в IPFS. Для 80% DAO цього достатньо.
Чому Snapshot, а не on-chain голосування?
On-chain голосування через Governor коштує дорого: при 5000 голосуючих кожен платить газ за виклик castVote(). При цінах газу 50 gwei це $1–3 за голос. Snapshot повністю усуває ці витрати — він у 100 разів дешевший за on-chain. Мінус — відсутність автоматичного виконання. Але для зняття сигналів — ідеально. Snapshot виконує голосування в 100 разів швидше і дешевше, ніж on-chain. Це дозволяє проводити часті сигнальні голосування без фінансового тягаря для учасників.
Як влаштована архітектура Snapshot?
Snapshot використовує розподілену архітектуру: фронтенд завантажує список пропозицій з Snapshot Hub через GraphQL API, а голоси підписуються і відправляються в IPFS. Конфігурація Space зберігається в ENS. Це дає високу відмовостійкість.
Як налаштувати Snapshot Space правильно?
Space створюється на snapshot.org і конфігурується JSON-файлом, який зберігається в ENS-записі вашого домену. Критичні параметри: стратегія підрахунку голосів (які токени і в яких мережах враховуються), мінімальний поріг (наприклад, 100 токенів для створення пропозиції) та тривалість голосування (зазвичай 3–7 днів). Приклад конфігу Space.json:
{ "name": "My DAO", "network": "1", "strategies": [ { "name": "erc20-balance-of", "params": { "address": "0x...", "symbol": "TKN", "decimals": 18 } } ], "members": [], "filters": { "minScore": 100 } } Що входить в інтеграцію
Ми надаємо повний пакет: налаштування Space (конфігурація стратегій, ENS-запис, тестування), фронтенд голосування (виведення активних пропозицій, форма голосування, історія), backend API (проксі для Snapshot Hub, кешування, обробка помилок), повідомлення про нові пропозиції та закінчення голосування, а також документація та техпідтримка протягом 2 тижнів після запуску. Зв'яжіться з нами для детального обговорення вашого проекту.
Технічні вимоги для інтеграції
- ENS-домен для Space
- Доступ до Snapshot Hub API
- Web3-провайдер для підписання
- Сервер для API-проксі (за потреби)
Порівняння Snapshot vs On-chain голосування
| Критерій | Snapshot | On-chain (Governor) |
|---|---|---|
| Вартість для учасника | 0 газу | $1–5 за голос |
| Швидкість | Миттєво | Залежить від мережі |
| Автоматичне виконання | Ні | Так (Timelock) |
| Прозорість | IPFS | Ланцюжок |
| Гнучкість стратегій | Висока | Середня |
| Ідеально для | Сигналів | Виконання |
Приклад інтеграції через Snapshot API
Для отримання активних пропозицій використовуємо GraphQL: https://hub.snapshot.org/graphql. Приклад запиту:
query GetActiveProposals($space: String!) { proposals( where: { space: $space, state: "active" } orderBy: "created" orderDirection: desc ) { id title choices start end state scores scores_total votes } } Подача голосу через Snapshot SDK:
import { Client } from '@snapshot-labs/snapshot.js'; import { Web3Provider } from '@ethersproject/providers'; async function vote(proposalId, choiceIndex, provider) { const hub = 'https://hub.snapshot.org'; const client = new Client.Client(hub); const web3 = new Web3Provider(provider); const [account] = await web3.listAccounts(); const result = await client.vote(web3, account, { space: 'yourspace.eth', proposal: proposalId, type: 'single-choice', choice: choiceIndex, reason: '', app: 'your-app' }); return result; } Коли потрібен on-chain execution
Якщо результат голосування повинен автоматично змінити параметри протоколу (наприклад, відсоток комісії), одного підпису недостатньо. У таких випадках ми використовуємо гібрид: Snapshot як перший етап (сигнал), потім on-chain голосування через Governor з Timelock. Цей патерн застосовується, наприклад, в DAO.
Для повної картини розглянемо основні стратегії Snapshot:
-
erc20-balance-of: голос пропорційний балансу токена на момент снэпшоту. -
erc20-votes: голос з делегуванням (стандарт ERC-20Votes). -
delegation: облік переданих голосів. -
whitelist: голосувати можуть тільки обрані гаманці. - Комбінація стратегій з вагами: наприклад, 50% по токенах + 50% по NFT.
Вибір стратегій впливає на захист від атак і залученість спільноти. Наприклад, комбінація erc20-balance-of і whitelist дозволяє уникнути захоплення пропозицій неактивними власниками. Ми допомагаємо підібрати оптимальний набір для вашого DAO.
Гарантія результату: ми сертифіковані Snapshot Partner, маємо 5+ років досвіду у Web3 та 15+ реалізованих проектів. 100% задоволених клієнтів. Наша інтеграція Snapshot забезпечує off-chain голосування для вашого DAO, що дозволяє економити до 90% на операційних витратах.
Процес роботи
- Аналіз — вивчаємо поточне управління, підбираємо стратегії.
- Прототип — створюємо Space і тестову голосувалку (вартість від $2000).
- Інтеграція — вбудовуємо у ваш додаток, налаштовуємо API.
- Тестування — перевіряємо всі сценарії, включаючи edge cases.
- Деплой — запуск в mainnet, моніторинг.
Після запуску ми надаємо документацію та техпідтримку протягом 2 тижнів. Замовте інтеграцію вже сьогодні та заощаджуйте $2000–$5000 на місяць на газі.
Орієнтовні терміни
| Етап | Термін |
|---|---|
| Базовий UI з голосуванням | від 1 тижня |
| Повноцінна інтеграція з повідомленнями та делегуванням | 2–3 тижні |
| Гібрид з on-chain виконанням | від 4 тижнів |
Для оцінки вашого проекту зв'яжіться з нами — ми підготуємо пропозицію за 1–2 дні. Наш досвід: 5+ років у Web3, десятки інтеграцій, включаючи DeFi-протоколи та NFT-спільноти. Отримайте консультацію вже сьогодні.







