Вступ

Orbit Utils — рівень примітивів Етапу 1 екосистеми TUWA: headless-помічники для роботи з мережами EVM і Solana, які не залежать від фреймворку. Він надає кешовані RPC-клієнти, виявлення гаманців, збереження підключень, резолвінг імен і смарт-акаунти ERC-4337 у вигляді звичайних функцій і типів, без UI, керування станом чи прив’язок до фреймворків.
🏛️ Місце Orbit у TUWA
TUWA побудовано етапами. Кожен етап спирається на попередні, а Orbit лежить у самій основі:
| Етап | Проєкти | Роль |
|---|---|---|
| 1 — Базова автентифікація та примітиви | SIWX , Orbit Utils | Автентифікація CAIP-122 і мультичейн-примітиви |
| 2 — Стан та підключення | Satellite Connect , Pulsar | Машина станів підключення гаманців і відстеження транзакцій |
| 3 — Бекенд та синхронізація | Quasar Cloud або Quasar Community на власному сервері | Індексація транзакцій і синхронізація між пристроями |
| 4 — Інтерфейс користувача | Nova UI Kit | Дизайн-система та компоненти React |
Orbit не залежить від жодного іншого проєкту TUWA. Вищі рівні імпортують його типи й помічники (наприклад, OrbitAdapter визначає сімейство мереж у Satellite Connect і Pulsar), але ніколи навпаки. Orbit можна використовувати й окремо, у будь-якому застосунку.
🧭 Принципи
- Headless і без прив’язки до фреймворку: жодних CSS, компонентів, хуків чи прив’язок до фреймворків. Усе є звичайною функцією або типом, які можна використовувати з React, Vue, Svelte, Solid, Node.js або чистим JavaScript.
- Лише сучасні Web3-бібліотеки:
viemі@wagmi/coreдля EVM,@solana/kitі Wallet Standard для Solana. Жоднихethers.js,web3.js,@solana/web3.jsчиgill. - Некастодіальність, без Wallet-as-a-Service: гаманці залишаються в користувача. Абстракція акаунтів спирається на відкриту інфраструктуру ERC-4337 (смарт-акаунти Solady, будь-який бандлер, сумісний із Pimlico), а не на пропрієтарні платформи гаманців.
- Peer-залежності замість вбудованих SDK: бібліотеки мереж є peer-залежностями, тож ваш застосунок сам керує їхніми версіями й тримає лише одну копію.
- Прозорі побічні ефекти: помічники документують, коли вони записують у
localStorage, кешують дані в пам’яті або звертаються до зовнішнього сервісу. Пакет для Solana перелічує всі сторонні хости, до яких надсилає запити.
🧩 Пакети
| Пакет | Рівень | Що надає | Peer-залежності |
|---|---|---|---|
@tuwaio/orbit-core | L1 | Мультичейн-типи, помічники для конекторів і адрес, нормалізація помилок, SSR-безпечне збереження підключень | — |
@tuwaio/orbit-evm | L2 | Кешовані клієнти viem, перемикання мереж, резолвінг ENS, смарт-акаунти ERC-4337 (Solady + Pimlico) | viem 2.x, @wagmi/core 3.x |
@tuwaio/orbit-solana | L2 | Кешовані RPC-клієнти @solana/kit, виявлення гаманців Wallet Standard, підписувачі транзакцій і повідомлень, помічники для кластерів і експлорерів, пошук імен SNS | @tuwaio/orbit-core, @solana/kit ≥ 6, @wallet-standard/* 1.x |
Кожна сторінка пакета показує README пакета, а за ним — довідник усіх експортів, згенерований із вихідного коду TypeScript.
💾 Встановлення
Встановіть основний пакет і пакети тих мереж, з якими працює ваш застосунок:
# L1 core
pnpm add @tuwaio/orbit-core
# L2 EVM
pnpm add @tuwaio/orbit-evm @wagmi/core viem
# L2 Solana
pnpm add @tuwaio/orbit-solana @tuwaio/orbit-core @solana/kit @wallet-standard/app @wallet-standard/ui-core @wallet-standard/ui-registry📚 Що далі
- Перегляньте розділ Пакети: там приклади використання та повний довідник кожного пакета.
- Пройдіть посібник з ERC-4337 : повний сценарій роботи зі смарт-акаунтом з Orbit EVM, Pulsar і Quasar.
- Більше посібників екосистеми — на docs.tuwa.io/guides .
- Вихідний код — на GitHub .