Документація SolanaІнфраструктура як код

Початок роботи з IaC

Surfpool впроваджує інфраструктуру як код (IaC) в екосистему Solana, дозволяючи розробникам досягати відтворюваних, безпечних та автоматизованих розгортань з мінімальними витратами. Хоча симуляція є ключовою функцією Surfpool, базова система IaC не менш важлива для підтримки сучасних робочих процесів розробки на Solana.

Огляд

Концепція Crypto Infrastructure as Code (Crypto IaC) привносить ті самі переваги, відомі з традиційного DevOps — автоматизацію, можливість аудиту, модульність — у простір Web3. Ця модель розроблена для забезпечення послідовних і масштабованих практик розгортання в складних крипто-середовищах.

Підхід Surfpool до Crypto IaC сформований роками практичної роботи з передовими протоколами, зокрема Pyth, Wormhole Core, Circle CCTP, Bitcoin Ordinals та іншими.

Надійна система Crypto IaC зазвичай охоплює три категорії компонентів: Onchain-інфраструктура, інфраструктура підписання та Offchain-інфраструктура.

Onchain-інфраструктура

Ця категорія включає:

  • Розгортання програм Solana
  • Оновлення
  • Міграції стану

Добре структурована реалізація IaC гарантує, що ці дії є відтворюваними, версійно-контрольованими та придатними для аудиту. Розробники можуть відстежувати кожне розгортання та розуміти його вплив до виконання.

Інфраструктура підписання

Безпечне підписання транзакцій є основоположним у виробничих середовищах. Замість використання локальних keypairs (що становлять значні ризики безпеки), сучасна система IaC підтримує:

  • Апаратні гаманці
  • Порогову криптографію
  • Мультипідписні гаманці

Модулі підписання в Surfpool IaC є модульними та налаштовуваними. Перехід від закодованого приватного ключа до складної схеми підписання (наприклад, мультипідпис Squads) можна здійснити шляхом оновлення конфігурації — без переписування коду.

Offchain-інфраструктура

Це включає:

  • Індексатори
  • Спостерігачі стану
  • Сентинели гаманців
  • Скрипти автоматизації

Ці компоненти часто реагують на події в мережі та мають розглядатися як частина конвеєра розгортання — такі, що підлягають тестуванню, є переносними та версіонованими, як будь-який інший артефакт коду.

Примітка: IaC Surfpool навмисно не охоплює забезпечення RPC та вузлів. Ці питання нижчого рівня вже добре підтримуються такими інструментами, як Terraform, Ansible та хмарні сервіси, і виходять за рамки управління інфраструктурою на рівні застосунків.

Принципи проєктування мови

Ключова мета проєктування — статичний аналіз. Розробники повинні мати змогу сформувати план виконання — із зазначенням задіяних програм, очікуваних підписантів, задіяних акаунтів та орієнтовних витрат — без запуску коду.

Основні принципи:

  • Декларативний синтаксис (без JS DSL, без імперативних shell-скриптів)
  • Компонована структура
  • Мінімальний поріг входу
  • Розділення відповідальності між інфраструктурою та логікою

Це забезпечує плавний перехід від локальної розробки до розгортання в основній мережі шляхом простої заміни компонентів, таких як провайдери підписів або кінцеві точки мережі.

Runbook'и Web3

Рушій IaC Surfpool працює на основі Web3 Runbooks — спеціалізованого фреймворку, створеного для розгортання блокчейн-рішень. Система розроблялася протягом кількох місяців, щоб забезпечити:

  • Простоту використання
  • Компонованість процедур
  • Безпечне виконання в середовищі виконання

Підтримуються як Solana, так і сумісні з Ethereum мережі.

У середовищах Ethereum Runbook'и вже використовуються високопродуктивними командами — зокрема командою Infura в Consensys — для складних розгортань протоколів із залученням Eigenlayer та кількох мереж рівня 2.

Інтеграція з Surfpool

Із Surfpool ми зробили Runbook'и ще кращими — вдосконалили досвід розробника та адаптували їх для сценаріїв використання Solana. Мета — зробити розробку на Solana модульною, придатною для тестування та готовою до виробничого середовища з першого дня.

Поєднуючи Surfnets і Crypto IaC, Surfpool пропонує:

  • Локальний стек розробника
  • Плавний перехід до основної мережі через прості оновлення конфігурації
  • Повністю визначені та відтворювані мережеві середовища

Is this page helpful?

Зміст

Редагувати сторінку