Интеграция с Akash Network: децентрализованные вычисления для Web3

Мы интегрируем Akash Network в вашу инфраструктуру, чтобы размещать AI-инференс (LLM, Stable Diffusion), blockchain-ноды (Ethereum, Cosmos), бэкенды DApp и вычислительные задачи на децентрализованном облаке. Провайдеры предлагают GPU/CPU мощности, клиенты управляют workload через SDL-манифесты, опла

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1004
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1270
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1011

Мы интегрируем Akash Network в вашу инфраструктуру, чтобы размещать AI-инференс (LLM, Stable Diffusion), blockchain-ноды (Ethereum, Cosmos), бэкенды DApp и вычислительные задачи на децентрализованном облаке. Провайдеры предлагают GPU/CPU мощности, клиенты управляют workload через SDL-манифесты, оплата — в AKT. Ключевое преимущество: поддержка стандартных Docker-контейнеров без кастомного runtime, что упрощает перенос существующих приложений. Типичный сценарий: ML-команде нужно развернуть инференс-сервер для Llama 3 на GPU, но AWS или GCP обходятся дорого, а Kubernetes — избыточен. Akash позволяет разместить тот же Docker-образ на децентрализованных провайдерах с экономией до 50% и полным контролем через блокчейн.

Как устроен SDL-манифест и почему он критичен?

Stack Definition Language (SDL) — YAML-формат описания деплоя. Внешне напоминает docker-compose, но есть отличия, которые ломают деплой без подготовки. Вот пример манифеста для инференс-сервера:

--- version: "2.0" services: inference-api: image: your-org/llm-inference:sha256-abc123 expose: - port: 8080 as: 80 to: - global: true env: - MODEL_PATH=/models/llama-7b - MAX_CONCURRENT=4 resources: cpu: units: 4.0 memory: size: 16Gi storage: - size: 50Gi attributes: persistent: true class: beta3 profiles: compute: inference-api: resources: cpu: units: 4 memory: size: 16Gi gpu: units: 1 attributes: vendor: nvidia: - model: rtx3090 placement: dcloud: pricing: inference-api: denom: uakt amount: 1000 deployment: inference-api: dcloud: profile: inference-api count: 1 

Akash Network Documentation подчёркивает важность атрибута persistent: true для хранения данных, переживающих рестарт. Без него контейнер стартует с чистого листа при каждом перемещении на другого провайдера. Используйте class: beta3 (NVMe) для высокого IOPS — это критично для ML-моделей и баз данных.

Подводные камни SDL:

  • persistent storage — обязателен для данных, которые должны пережить рестарт контейнера. Без него — эфемерное хранилище.
  • Класс storage — beta3 (NVMe) значительно быстрее beta2 (HDD). Разница в IOPS критична для БД и ML-моделей.
  • Пиннинг образа — используйте digest (sha256), а не тег latest. Провайдеры кэшируют образы, и latest может отличаться.
  • GPU-ресурсы — доступны не у всех провайдеров. Указание конкретной модели (rtx3090, a100) сужает пул, но гарантирует совместимость.
  • Отсутствие health check — деплой не получит IP, платить будете даже за неработающий сервис.
  • Неправильный порт expose — приложение будет недоступно извне.

Как запрограммировать деплой на Akash?

Для автоматизации из вашего приложения используем Akash JavaScript SDK или прямые вызовы REST API (Cosmos-based). Ниже — пример создания деплоя через SDK:

import { Registry, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing"; import { SigningStargateClient } from "@cosmjs/stargate"; import { MsgCreateDeployment } from "@akashnetwork/akash-api/akash/deployment/v1beta3"; const AKASH_RPC = "https://rpc.akashnet.net:443"; const AKASH_DENOM = "uakt"; async function createDeployment(sdlContent: string, walletMnemonic: string) { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(walletMnemonic, { prefix: "akash", }); const [account] = await wallet.getAccounts(); const client = await SigningStargateClient.connectWithSigner(AKASH_RPC, wallet, { registry: new Registry(/* akash proto types */), }); const dseq = Math.floor(Date.now() / 1000); const msg = { typeUrl: "/akash.deployment.v1beta3.MsgCreateDeployment", value: MsgCreateDeployment.fromPartial({ id: { owner: account.address, dseq: BigInt(dseq), }, groups: parseSDLGroups(sdlContent), deposit: { denom: AKASH_DENOM, amount: "5000000" }, }), }; const result = await client.signAndBroadcast( account.address, [msg], { amount: [{ denom: AKASH_DENOM, amount: "20000" }], gas: "800000" } ); return { dseq, txHash: result.transactionHash }; } 

После создания деплоя запускается аукцион: провайдеры делают биды, клиент выбирает оптимальный и создаёт lease. Это асинхронный процесс — нужно подписаться на события блокчейна (WebSocket или polling).

async function watchBidsAndCreateLease(dseq: number, ownerAddress: string) { const bids = await pollBids(dseq, ownerAddress, { timeoutMs: 120000 }); if (bids.length === 0) throw new Error("No bids received"); const bestBid = bids.sort((a, b) => Number(a.bid.price.amount) - Number(b.bid.price.amount) )[0]; await createLease(bestBid.bid.bidId, wallet); await sendManifestToProvider(bestBid.bid.bidId.provider, dseq, sdlContent); } 

Как управлять жизненным циклом деплоя?

После создания lease деплой управляется через Provider Service API — HTTP-эндпоинты провайдера. Endpoint получается из on-chain данных провайдера.

async function getDeploymentStatus(providerAddress: string, dseq: number, owner: string) { const providerInfo = await queryProviderInfo(providerAddress); const providerHost = providerInfo.hostUri; const response = await fetch( `${providerHost}/lease/${owner}/${dseq}/1/1/status`, { headers: { Authorization: `Bearer ${await getProviderToken()}` } } ); return response.json(); } 

Для production мы интегрируем мониторинг через Prometheus/Grafana, поднимая sidecar-контейнер в том же деплое. Регулярно проверяем баланс депозита — при исчерпании деплой завершится без возможности восстановления. Чтобы избежать этого, настраиваем автоматическое пополнение.

Какие нагрузки лучше всего подходят для Akash?

Тип нагрузки Требования Рекомендации
AI inference GPU, persistent storage для моделей Init-контейнер для скачивания, health check с таймаутом 5–10 минут
Blockchain ноды 1+ TB persistent, UDP для P2P Используйте snapshot bootstrap, указывайте proto: UDP в expose
Stateless бэкенды Minimal resources Horizontal scaling через count, внешний load balancer
Базы данных Persistent, I/O Только с репликацией; критичные данные — вне Akash

Ценообразование и контроль расходов

Стоимость формируется в uAKT за блок (~6 секунд). Для оценки до деплоя используйте API Cloudmos: отправьте SDL и получите цену за блок. Типичная цена для ML-инференса с GPU RTX 3090 составляет несколько десятков центов в час, что даёт значительную экономию по сравнению с облачными провайдерами. Для production настраиваем автоматическое пополнение депозита — иначе деплой закрывается без предупреждения.

Сравнение ручного и программного деплоя

Метод Время настройки Автоматизация Масштабирование
Ручной (CLI) 1–3 дня Нет Ручное
Программный (SDK) 1–2 недели Полная По событиям
Полный (EVM-интеграция) 3–5 недель On-chain escrow Через смарт-контракт

Что входит в работу

  • Анализ вашего приложения и подготовка SDL-манифеста
  • Разработка скриптов деплоя (CLI или программная интеграция)
  • Настройка мониторинга и алертинга
  • Интеграция с EVM-контрактами (опционально)
  • Документация и обучение вашей команды
  • Поддержка после запуска

Опыт: более 5 лет в Web3, 30+ проектов по интеграции децентрализованных вычислений. Используем Foundry, Cosmos SDK и TypeScript.

Сроки интеграции

  • Базовая (ручной SDL, CLI) — от 1 до 3 дней
  • Программная (автоматический деплой, мониторинг) — от 1 до 2 недель
  • Полная (EVM-контракт, escrow, lifecycle) — от 3 до 5 недель

Оценим ваш проект в течение 1–2 рабочих дней. Свяжитесь с нами — обсудим детали. Получите консультацию по интеграции Akash.