Технический справочник

Архитектура

Как устроен стек Kaz Smart Chain: исполнение, оркестрация, хранилище и прикладной слой.

Обзор#

Kaz Smart Chain — многослойная система. В основе — узлы Hyperledger Besu, исполняющие EVM и достигающие согласия по QBFT. Поверх них работает Hyperledger FireFly как оркестратор контрактов и токенов, IPFS — для внеблокчейнового хранения, а прикладной слой (NestJS + Next.js) предоставляет портал разработчика, Explorer и REST API.

Слои#

СлойКомпонентРоль
ИсполнениеBesu (EVM, QBFT)Транзакции, блоки, состояние, консенсус
ПодписьFireFly Signer / EVMConnectПодпись и отправка транзакций, события
ОркестрацияFireFly CoreAPI к контрактам, токены, события, namespace
ХранилищеIPFS (Kubo)Файлы, метаданные активов
ПриложениеNestJS APIПортал, Explorer, gateway, метеринг
ИнтерфейсNext.jsВеб-портал, Explorer UI, документация

Besu и EVM#

Узлы Besu исполняют стандартный байткод EVM и поддерживают форки London и Berlin (активны с нулевого блока). Это означает полную совместимость с инструментами Ethereum на уровне контрактов. Каждая сеть (mainnet/testnet) имеет собственный genesis, набор валидаторов и изолированное состояние.

Hyperledger FireFly#

FireFly работает в gateway-режиме (без мультипартийного броадкаста) и предоставляет унифицированный API для регистрации контрактов, вызова методов, подписки на события и операций с токенами. Портал использует FireFly, чтобы по ABI поднять REST-эндпоинты к вашему контракту. Каждая сеть имеет свой инстанс FireFly с namespace default.

Зачем FireFly
FireFly снимает с разработчика низкоуровневую работу: кодирование вызовов, управление nonce, подписи, отслеживание подтверждений и событий. Вы работаете с контрактом как с обычным REST-сервисом.

IPFS#

Для данных, которые не должны лежать в блокчейне целиком (изображения, метаданные, файлы), используется IPFS (Kubo). Публичный шлюз доступен на ipfs.kazsmartchain.org/ipfs/<CID> (только чтение; запись через API закрыта).

Прикладной слой#

  • NestJS API — бизнес-логика портала: аутентификация по ЭЦП, кастодиальные кошельки, компиляция и деплой, gateway-вызовы, метрики использования.
  • Next.js — веб-портал разработчика, Explorer и эта документация.
  • PostgreSQL / Redis — хранение метаданных (разработчики, контракты, ключи, записи использования) и кеш.

Путь транзакции#

Когда вы вызываете метод записи контракта через gateway:

  • Запрос с API-ключом приходит в NestJS API и проверяется (скоуп, владение контрактом).
  • API формирует вызов и подписывает его кастодиальным ключом вашего кошелька.
  • Транзакция уходит в Besu через слой подписи; по достижении блока возвращаются txHash, blockNumber, gasUsed и статус.
  • Операция записывается в метрики использования для аналитики и истории кошелька.