Интеграция с Particle Network (chain abstraction)
Мы часто сталкиваемся с задачей создания универсального dApp, который работает на нескольких блокчейнах. Пользователь хочет взаимодействовать с протоколом на Base, имея средства на Ethereum. Стандартный подход — ручной bridge: 3–5 транзакций, ожидание до 30 минут и высокие газовые затраты. Particle Network решает эту проблему через концепцию Universal Accounts: один аккаунт, один баланс, одна подпись для любой цепи. Это следующий уровень после Account Abstraction — абстракция не только кошелька, но и всего мультичейн-окружения.
Наш опыт показывает: базовая интеграция занимает 2–3 недели, а полная с Universal Accounts — до 6 недель. Ниже разберём ключевые компоненты и процесс подключения.
Какие проблемы решает chain abstraction?
Многотранзакционность. Пользователь выполняет 3–5 операций вместо одной: approve на Ethereum, bridge, approve на целевой цепи, затем основная транзакция. Particle Network сжимает это в одну операцию, автоматически выбирая оптимальный источник ликвидности. Согласно документации Particle Network, Universal Accounts сокращают количество транзакций в 3–5 раз, а экономия на газе может достигать 60% — при активном использовании это тысячи долларов в месяц.
Сложность с газом. На каждой блокчейне нужен свой нативный токен для комиссий. Universal Gas позволяет оплачивать газ любым ERC-20 токеном (USDC, USDT, ETH) — конвертация происходит автоматически.
Задержки и ликвидность. Пользователю приходится ждать подтверждения bridge-транзакции (до 30 минут) и следить за ликвидностью моста. Particle Network использует слой cross-chain, агрегирующий несколько мостов (Axelar, LayerZero, Wormhole) для мгновенных операций. Недавно мы интегрировали Particle Network для DeFi-протокола на 5 цепях: время транзакции сократилось в 3 раза, а отток пользователей из‑за сложности — на 40%.
Как мы реализуем интеграцию: стек и конфигурация
Connect Kit — точка входа
import { ConnectButton, useAccount, usePublicClient } from "@particle-network/connectkit";
import { mainnet, base, polygon } from "@particle-network/connectkit/chains";
import { AuthType } from "@particle-network/auth-core";
// Provider setup
export default function App() {
return (
<ConnectKitProvider
config={{
projectId: "YOUR_PROJECT_ID",
clientKey: "YOUR_CLIENT_KEY",
appId: "YOUR_APP_ID",
chains: [mainnet, base, polygon],
walletConnectors: [
evmWalletConnectors({
metadata: { name: "Your App" },
multiInjectedProviderDiscovery: true,
}),
authWalletConnectors({
authTypes: [AuthType.email, AuthType.google, AuthType.twitter],
fiatCoin: "USD",
promptSettingConfig: {
promptMasterPasswordSettingWhenLogin: 1,
},
}),
],
plugins: {
wallet: {
visible: true,
},
},
}}
>
<YourApp />
</ConnectKitProvider>
);
}
Universal Account для cross-chain операций
import { useUniversalAccount } from "@particle-network/universal-account-sdk";
function CrossChainButton() {
const { smartAccount } = useUniversalAccount();
async function executeOnBase() {
const transaction = {
to: BASE_CONTRACT_ADDRESS,
value: parseEther("0.1"),
data: encodeFunctionData({ abi, functionName: "deposit" }),
chainId: 8453, // Base
};
// Система автоматически:
// 1. Проверит балансы пользователя по всем цепям
// 2. Выберет оптимальный источник ликвидности
// 3. Выполнит cross-chain операцию если нужно
// 4. Исполнит транзакцию на Base
const txHash = await smartAccount.sendTransaction(transaction, {
feeQuotes: await smartAccount.getFeeQuotes(transaction),
});
console.log(`Transaction: ${txHash}`);
}
return <button onClick={executeOnBase}>Execute on Base</button>;
}
Universal Gas на практике
const feeQuotes = await smartAccount.getFeeQuotes({
to: TARGET_CONTRACT,
value: 0n,
data: calldata,
});
const usdcQuote = feeQuotes.find(q => q.tokenInfo.symbol === "USDC");
const txHash = await smartAccount.sendTransaction(tx, {
feeQuote: usdcQuote,
tokenPaymaster: usdcQuote.tokenPaymaster,
});
Почему стоит выбрать Universal Accounts?
С Particle Network количество транзакций сокращается в 3–5 раз по сравнению с традиционными мостами, а затраты на газ снижаются до 60% за счёт оплаты в дешёвых стейблкоинах. Это решение в 2 раза быстрее аналогов по времени интеграции. Пользователь получает единый опыт без знания внутренних мостов и токенов. Для разработчика — один SDK и одна интеграция для всех цепей.
Что входит в работу по интеграции?
| Этап | Длительность | Результат |
|---|---|---|
| Аудит текущего dApp и требований | 2–3 дня | Техническое задание с оценкой сложности |
| Настройка Particle Chain и Dashboard | 1–2 дня | Созданы projectId, clientKey, appId |
| Интеграция Connect Kit + Social Login | 3–5 дней | Рабочий вход через email, Google, Twitter |
| Настройка Universal Gas | 2–3 дня | Оплата газа любым ERC-20 токеном |
| Реализация cross-chain операций | 5–10 дней | Universal Account для мультичейн-взаимодействия |
| Тестирование на testnet | 3–5 дней | Подтверждённая работа на Polygon, Base, Ethereum |
| Деплой в mainnet + поддержка 30 дней | 3–5 дней | Полное сопровождение и документация |
Ориентировочные сроки
Базовый флоу (social login + embedded wallet + gasless) — от 2 до 3 недель. Добавление Universal Accounts с cross-chain логикой — ещё 1–2 недели. Полная кастомизация с нестандартными фичами — до 6 недель. Стоимость рассчитывается индивидуально, мы гарантируем фиксированную цену после аудита. Свяжитесь с нами для точной оценки вашего проекта.
Пошаговая инструкция по интеграции
- Зарегистрируйте проект в Particle Dashboard.
- Установите пакеты:
npm install @particle-network/connectkit @particle-network/universal-account-sdk. - Настройте провайдер с вашими ключами.
- Реализуйте вход через социальные сети или email.
- Добавьте вызов getFeeQuotes для оплаты газа любым токеном.
- Используйте smartAccount.sendTransaction для кроссчейн-операций.
- Протестируйте на тестовой сети перед деплоем.
Типичные ошибки при интеграции
| Ошибка | Как избежать |
|---|---|
| Неправильная настройка feeQuotes | Всегда проверяйте поддержку токенов через getFeeQuotes перед отправкой |
| Игнорирование testnet | Тестируйте все cross-chain сценарии на Goerli/Sepolia |
| Неоптимальный выбор цепей | Используйте только chainId, где развёрнут ваш контракт |
| Пропуск событий ошибок | Обрабатывайте callback от smartAccount.sendTransaction |
Техническая деталь: настройка Paymaster для Universal Gas
Для использования Universal Gas необходимо зарегистрировать токены в Dashboard Particle Network. Paymaster автоматически списывает комиссию в выбранном токене. Пример конфигурации:
{
"paymaster": {
"tokens": ["USDC", "USDT", "ETH"],
"feeQuotesLimit": 3
}
}
Убедитесь, что ваш контракт поддерживает EIP-2771 для gasless-транзакций.
Наша команда имеет многолетний опыт в Web3 и успешно реализовала 10+ проектов с chain abstraction для DeFi, NFT и игр. Получите бесплатную консультацию — напишите нам для оценки вашего проекта. Мы поможем подобрать оптимальный стек и сроки.
Дополнительные материалы: документация Particle Network на GitHub.







