Інтеграція з Fetch.ai

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з Fetch.ai
Середній
~3-5 днів
Часті запитання

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

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Інтеграція з Fetch.ai

Fetch.ai — це не просто ще один AI-токен проект. Це специфічний технічний стек: autonomous agents (uAgents), Agentverse (marketplace агентів), ASI Alliance (об'єднання з SingularityNET та Ocean Protocol). Якщо ваш продукт потребує автономних агентів, які взаємодіють один з одним в економічній мережі — це реальний інструмент, а не хайп.

Практичний контекст: uAgents використовуються для автоматизації supply chain (агент-покупець веде переговори з агентом-поставщиком), DeFi (агент мониторит ончейн умови та виконує стратегію), IoT (агент управляє розумним пристроєм та монетизує дані).

uAgents: технічна модель

Структура агента

uAgent — це Python-процес з вбудованим HTTP сервером, крипто-ідентичністю (secp256k1 keypair) та протоколом повідомлень.

from uagents import Agent, Context, Model

class PriceRequest(Model):
    token: str
    currency: str = "USD"

class PriceResponse(Model):
    token: str
    price: float
    timestamp: int

# Агент-оракул цін
price_oracle = Agent(
    name="price-oracle",
    seed="your-deterministic-seed-phrase-here",  # відтворюваний адрес
    port=8001,
    endpoint=["http://localhost:8001/submit"],
)

@price_oracle.on_message(model=PriceRequest, replies=PriceResponse)
async def handle_price_request(ctx: Context, sender: str, msg: PriceRequest):
    # Fetch price from external API
    price = await get_price_from_coingecko(msg.token, msg.currency)
    
    await ctx.send(sender, PriceResponse(
        token=msg.token,
        price=price,
        timestamp=int(time.time())
    ))
    
    ctx.logger.info(f"Sent {msg.token} price {price} to {sender}")

Кожен агент має унікальну адресу вида agent1q... (Bech32-encoded public key). Адрес детермінірован зі seed — відтворюваний між деплоями.

Almanac: реєстрація та discovery

Almanac — on-chain (Fetch.ai mainchain) реєстр агентів. Агент реєструє своє endpoint та протоколи в Almanac, платячи невелику комісію в FET. Інші агенти знаходять потрібних через Almanac query.

# Пошук агентів з певним протоколом
from uagents.query import query
from uagents.envelope import Envelope

# Отримати endpoint агента з Almanac
response = await query(
    destination="agent1qxxxxTargetAgentAddress",
    message=PriceRequest(token="ETH"),
    timeout=30
)

Це ключова відмінність від простого REST API: агент не знає URL іншого агента заздалегідь — він знаходить його через децентралізований реєстр. Протокол взаємодії верифікується через підписи.

Протоколи та схеми повідомлень

Протокол в термінах Fetch.ai — набір типів повідомлень з однозначним digest (SHA256 від Pydantic schema). Два агенти можуть взаємодіяти лише якщо використовують один digest — це забезпечує сумісність.

from uagents import Protocol

# Визначимо протокол явно
defi_protocol = Protocol(name="DeFiStrategy", version="1.0.0")

class ExecuteStrategy(Model):
    strategy_id: str
    params: dict
    max_slippage: float

class StrategyResult(Model):
    success: bool
    tx_hash: str | None
    error: str | None

@defi_protocol.on_message(model=ExecuteStrategy, replies=StrategyResult)
async def execute(ctx: Context, sender: str, msg: ExecuteStrategy):
    # логіка виконання стратегії
    ...

agent.include(defi_protocol)

Інтеграція з DeFi та Web3

Агент з on-chain взаємодією

from web3 import Web3
from uagents import Agent, Context

w3 = Web3(Web3.HTTPProvider("https://arbitrum-one.publicnode.com"))
agent = Agent(name="defi-executor", seed="...")

class ArbitrageOpportunity(Model):
    token_in: str
    token_out: str
    amount: float
    expected_profit: float

@agent.on_message(model=ArbitrageOpportunity)
async def execute_arbitrage(ctx: Context, sender: str, msg: ArbitrageOpportunity):
    if msg.expected_profit < MIN_PROFIT_THRESHOLD:
        ctx.logger.warning(f"Skipping low-profit opportunity: {msg.expected_profit}")
        return
    
    # Формуємо та відправляємо транзакцію
    tx = build_arbitrage_tx(msg.token_in, msg.token_out, msg.amount)
    signed = w3.eth.account.sign_transaction(tx, PRIVATE_KEY)
    tx_hash = w3.eth.send_raw_transaction(signed.rawTransaction)
    
    ctx.logger.info(f"Executed arbitrage: {tx_hash.hex()}")

Періодичні завдання

@agent.on_interval(period=60.0)  # кожну хвилину
async def monitor_positions(ctx: Context):
    positions = await fetch_open_positions(WALLET_ADDRESS)
    for pos in positions:
        if pos.health_factor < LIQUIDATION_THRESHOLD:
            # Відправити алерт іншому агенту
            await ctx.send(ALERT_AGENT_ADDRESS, LiquidationAlert(
                position_id=pos.id,
                health_factor=pos.health_factor
            ))

Agentverse та деплой

Agentverse — hosted платформа для агентів Fetch.ai. Альтернатива self-hosted: агент живе в хмарі Fetch.ai, платите за compute в FET.

Для production: self-hosted агент в Docker, endpoint за reverse proxy (nginx). Almanac реєстрація відбувається при старті агента автоматично якщо передати правильний endpoint.

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install uagents web3
COPY agent.py .
CMD ["python", "agent.py"]

Практичні обмеження

Throughput. uAgents — не високочастотна система. Повідомлення через Almanac + HTTP має latency 100-500ms. Для HFT-стратегій не підходить. Для моніторингу, управління позиціями, оркестрації — достатньо.

Message reliability. Нема built-in retry та delivery guarantees на рівні протоколу. Потрібно реалізовувати на рівні додатку: timeout handling, acknowledgment паттерни.

FET для Almanac. Реєстрація агента в Almanac потребує FET токени. Для production системи з десятками агентів — врахувати в бюджеті.

Процес роботи

Аналітика (3-5 днів). Визначимо scope агентів: що кожен робить, як спілкуються, які on-chain операції виконує, потрібен Almanac discovery або пряме адресування.

Розробка (2-6 тижнів). Створення агентів → інтеграція з Web3/backend API → тестування в локальній мережі агентів → деплой на Agentverse або self-hosted.

Моніторинг. Агенти автономні — потрібен centralized logging (ELK або Grafana + Loki) та alerting на аномальне поведення (агент перестав відповідати, неочікувані транзакції).

Типовий проект: 2 агенти (моніторинг + виконання) з on-chain інтеграцією — 3-4 тижні.