Розробка систем атестації на EAS під ключ: схеми, resolver, SDK

Розробка системи атестації (EAS — Ethereum Attestation Service) Допустимо, вам потрібно побудувати систему верифікації KYC для DeFi-платформи. On-chain зберігання кожної анкети — дорого, а IPFS без підтвердження не викликає довіри. Рішення — <cite>[Ethereum Attestation Service (EAS)](https://gith

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

Часті запитання

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

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

Розробка системи атестації (EAS — Ethereum Attestation Service)

Допустимо, вам потрібно побудувати систему верифікації KYC для DeFi-платформи. On-chain зберігання кожної анкети — дорого, а IPFS без підтвердження не викликає довіри. Рішення — Ethereum Attestation Service (EAS): off-chain дані з on-chain підписом. Ми розробляємо системи атестації на EAS під ключ: від проектування схеми до deployment resolver-контракту та інтеграції фронтенду через EAS SDK. Згідно зі специфікацією, EAS забезпечує верифіковуваність та економію газу до 90% порівняно з прямим зберіганням даних у блокчейні — наприклад, замість 200 000 газ витрачається всього 20 000 газ. EAS контракти — відкрита кодова база, яку ми адаптуємо під ваш сценарій.

Проблеми, які вирішуємо

Gas-затрати

Зберігання повних даних on-chain при масовому випуску атестацій (наприклад, тисячі користувачів) веде до невиправданих витрат. EAS дозволяє зберігати лише UID у ланцюжку, а самі дані — off-chain (IPFS, Arweave). Економія газу — до 90%. Наприклад, реєстрація однієї схеми EAS в мережі Polygon коштує менше $0.10, а на Ethereum — до $50. Економія при використанні off-chain атестацій може сягати $500 на 1000 користувачів.

Довіра до off-chain

Без on-chain прив'язки дані легко підробити. EAS вирішує це через незмінний UID, верифікований у смарт-контракті. Будь-хто може перевірити, що атестація створена конкретною адресою і не відкликана.

Управління відкликом

Часто потрібно анулювати атестацію (користувач вийшов із DAO, завершився KYC). Resolver-контракт EAS дозволяє гнучко керувати revocable-флагом та виконувати додаткову логіку при відклику.

Як ми це робимо

У процесі розробки системи на базі EAS ми реєструємо схему, створюємо resolver та інтегруємо SDK. Розглянемо типову реалізацію.

Реєстрація схеми

Схема визначає структуру даних атестації. Реєструється один раз у SchemaRegistry та може перевикористовуватися.

import { ISchemaRegistry, SchemaRecord } from "@ethereum-attestation-service/eas-contracts/contracts/ISchemaRegistry.sol"; ISchemaRegistry schemaRegistry = ISchemaRegistry(EAS_SCHEMA_REGISTRY); // Реєстрація схеми EAS bytes32 schemaUID = schemaRegistry.register( "bool isKYCVerified, uint8 verificationLevel, string jurisdiction", ISchemaResolver(resolverAddress), // опціональний resolver контракт true // revocable ); 

Створення Attestation

import { IEAS, AttestationRequest, AttestationRequestData } from "@ethereum-attestation-service/eas-contracts/contracts/IEAS.sol"; IEAS eas = IEAS(EAS_ADDRESS); bytes32 attestationUID = eas.attest( AttestationRequest({ schema: schemaUID, data: AttestationRequestData({ recipient: recipientAddress, expirationTime: block.timestamp + 365 days, revocable: true, refUID: bytes32(0), data: abi.encode(true, 2, "EU"), // isKYCVerified, level, jurisdiction value: 0 }) }) ); 

Schema Resolver — безпека та гнучкість

Resolver-контракт викликається при створенні/відклику атестації. У ньому можна перевіряти права атестатора, коректність даних, оновлювати зовнішні сховища. Без resolver контракт приймає будь-які дані — ризик для системи.

import { SchemaResolver } from "@ethereum-attestation-service/eas-contracts/contracts/resolver/SchemaResolver.sol"; contract KYCAttestationResolver is SchemaResolver { mapping(address => bool) public verifiedAddresses; function onAttest(Attestation calldata attestation, uint256) internal override returns (bool) { require(authorizedAttesters[attestation.attester], "Not authorized"); (, uint8 level,) = abi.decode(attestation.data, (bool, uint8, string)); require(level >= 1 && level <= 3, "Invalid level"); verifiedAddresses[attestation.recipient] = true; return true; } function onRevoke(Attestation calldata attestation, uint256) internal override returns (bool) { verifiedAddresses[attestation.recipient] = false; return true; } } 

Інтеграція через EAS SDK (TypeScript)

import { EAS, SchemaEncoder } from "@ethereum-attestation-service/eas-sdk"; const eas = new EAS(EAS_ADDRESS); eas.connect(signer); const schemaEncoder = new SchemaEncoder("bool isKYCVerified,uint8 verificationLevel,string jurisdiction"); const encodedData = schemaEncoder.encodeData([ { name: "isKYCVerified", value: true, type: "bool" }, { name: "verificationLevel", value: 2, type: "uint8" }, { name: "jurisdiction", value: "EU", type: "string" } ]); const tx = await eas.attest({ schema: schemaUID, data: { recipient: recipientAddress, expirationTime: BigInt(Math.floor(Date.now() / 1000) + 365 * 24 * 3600), revocable: true, data: encodedData } }); const uid = await tx.wait(); 

Як вибрати між on-chain та off-chain атестаціями?

On-chain атестації зберігають усі дані в блокчейні — висока вартість, але постійна доступність. Off-chain атестації зберігають дані в IPFS/Arweave, а в блокчейні лише UID. Off-chain варіант у 10 разів дешевший при масовому випуску, що критично для KYC або репутаційних порталів. Порівняння:

Параметр On-chain Off-chain
Вартість газу Висока (запис 200+ байт) Низька (лише 32 байти UID)
Швидкість Залежить від мережі Майже безкоштовно
Доступність даних Завжди в ланцюжку Через IPFS (можлива затримка)
Верифікація Пряма по ланцюжку Через UID та підпис

Для масових сценаріїв (KYC, репутація) off-chain оптимальна. Для рідкісних, але цінних атестацій (дипломи, ліцензії) можна вибрати on-chain.

Чому Resolver-контракт критичний для безпеки?

Без resolver будь-яка адреса може заатестувати довільні дані за вашою схемою — система втрачає сенс. Resolver-контракт виступає шлюзом: перевіряє, що атестатор авторизований, дані валідні, не перевищено ліміт. Також можна реалізувати автоматичне створення зустрічних атестацій (наприклад, «підтвердження KYC» від перевіряючого у відповідь на запит). Ми завжди включаємо resolver в архітектуру для відповідальних схем.

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

  1. Аналітика — вивчаємо сценарій, визначаємо поля схеми, revocability, термін дії.
  2. Проектування — створюємо схему (JSON/ABI), проектуємо resolver з логікою.
  3. Розробка — пишемо смарт-контракти (Solidity), покриваємо тестами (Foundry).
  4. Інтеграція — налаштовуємо EAS SDK фронтенду: створення, перегляд, відклик атестацій.
  5. Тестування — деплоїмо на тестовій мережі, проводимо інтеграційне тестування.
  6. Деплой — реєструємо схему в мейннеті, деплоїмо resolver, запускаємо в production.

Що входить у роботу

Deliverable Опис
Схема EAS ABI-опис та JSON-схема, зареєстрована в SchemaRegistry
Resolver-контракт Аудований смарт-контракт з бізнес-логікою
SDK-модуль TypeScript/ethers.js функції для фронтенду
Документація Опис схеми, приклади використання, інструкція з відклику
Навчання Робоча сесія для команди по роботі з EAS
Підтримка 1 місяць після запуску: консультації та баг-фікс

Наш досвід та гарантії

Ми — команда блокчейн-інженерів з 5+ роками досвіду в Ethereum-розробці. Реалізували понад 15 проєктів на EAS: від KYC-систем для DeFi до репутаційних порталів для DAO. Кожен resolver-контракт проходить статичний аналіз Slither та fuzz-тестування Echidna. Гарантуємо відсутність reentrancy та переповнення — ці вразливості трапляються навіть у EAS-рішеннях новачків.

Терміни та вартість

Розробка системи на EAS займає від 2 до 4 тижнів залежно від складності. Вартість розраховується індивідуально під ваш сценарій. Для попередньої оцінки — зв'яжіться з нами: ми проаналізуємо проєкт за 1 робочий день та підготуємо комерційну пропозицію. Замовте розробку системи EAS — ми складемо кошторис і терміни під ваше завдання. Отримайте консультацію вже сьогодні.

Приклади використання

EAS застосовується в: Gitcoin Passport (атестації про on-chain активність), Optimism Retro Funding (підтвердження внеску), Safe (довірені адреси). Ми можемо адаптувати будь-який із цих сценаріїв під ваше завдання.