Об этом проекте

Fuel Core — официальная реализация клиента Fuel, написанная на Rust как полный узел для протокола Fuel v2. Репозиторий включает бинарный файл узла, вспомогательные крейты и инструменты для сборки, тестирования и запуска узла Fuel. ## Версии сети В README перечислены версии, используемые в настоящее время в различных сетях Fuel: - Fuel Ignition: 0.48.1 - Testnet: 0.48.1 - Devnet: 0.48.1 В репозитории также указан тег checkout v0.45.1 для запуска узла Ignition из исходного кода, который может отличаться от последней версии в таблице. ## Сборка Системные требования включают стандартные инструменты сборки, такие как cmake, pkg-config, clang, и Rust с целевой платформой `wasm32-unknown-unknown`. Приведены команды настройки для конкретных платформ: macOS (Homebrew), Debian (apt) и Arch (pacman). Команды сборки: - `make build` для сборки бинарного файла узла в release-режиме - `cargo xtask build` для сборки в режиме разработки, которая также перегенерирует схему GraphQL ## Запуск узла Ссылки на документацию ведут к документации Fuel для операторов узлов по запуску узлов mainnet (Ignition) или локальной сети. Узел также можно запустить напрямую с помощью `fuel-core run`; в примерах показано использование `--db-type in-memory` для непостоянного состояния и `--poa-instant=false` для отключения автоматического производства блоков. База данных по умолчанию — RocksDB, и состояние сохраняется, если не используется режим in-memory. ## Тестирование и участие Проект рекомендует участникам запускать `source ci_checks.sh` перед отправкой изменений или открытием pull request. Этот скрипт запускает все проверки CI, включая тесты. Также есть заметки по устранению неполадок для публикации крейтов, ошибок устаревшей базы данных (`rm -rf ~/.fuel/db`), ограничений на количество файловых дескрипторов в macOS и настройки уровня логирования через `RUST_LOG` или `HUMAN_LOGGING`. ## Служба GraphQL Функциональность клиента доступна через конечную точку службы GraphQL по адресу `/v1/graphql`. Схема становится доступной в `crates/client/assets/schema.sdl` после сборки. Служба ожидает мутацию `submit`, которая принимает Transaction в шестнадцатеричном бинарном формате, согласно спецификациям Fuel. ## Docker и Kubernetes Ресурсы для развёртывания включены в каталог `deployment/`, включая Dockerfile и манифест Kubernetes. Команды показывают, как собрать образ Docker и создать/удалить ресурсы Kubernetes: volume, deployment и service.