这个项目能做什么

Fuel Core 是 Fuel 官方客户端实现,使用 Rust 编写,作为 Fuel v2 协议的全节点。该仓库包含节点二进制文件、配套 crate,以及用于构建、测试和运行 Fuel 节点的工具。 ## 网络版本 README 列出了当前在不同 Fuel 网络中使用的版本: - Fuel Ignition:0.48.1 - Testnet:0.48.1 - Devnet:0.48.1 该仓库还引用了 v0.45.1 的检出标签,用于从源码运行 Ignition 节点,这可能与最新表格中的版本不同。 ## 构建 系统要求包括常见构建工具,如 cmake、pkg-config、clang,以及带有 `wasm32-unknown-unknown` target 的 Rust。针对 macOS(Homebrew)、Debian(apt)和 Arch(pacman)提供了特定平台的设置命令。 构建命令: - `make build` 用于 release 风格的节点二进制构建 - `cargo xtask build` 用于开发构建,同时会重新生成 GraphQL schema ## 运行节点 文档链接指向 Fuel 文档,供节点运营者运行主网(Ignition)或本地网络节点。也可以直接使用 `fuel-core run` 启动节点;示例展示了使用 `--db-type in-memory` 实现非持久化状态,以及使用 `--poa-instant=false` 禁用自动出块。默认数据库是 RocksDB,除非使用内存模式,否则状态会被持久化。 ## 测试与贡献 项目鼓励贡献者在推送更改或打开 pull request 之前运行 `source ci_checks.sh`。该脚本会运行所有 CI 检查,包括测试。此外还有关于发布 crate、数据库过期错误(`rm -rf ~/.fuel/db`)、macOS 文件描述符限制,以及通过 `RUST_LOG` 或 `HUMAN_LOGGING` 配置日志级别的故障排除说明。 ## GraphQL 服务 客户端功能通过位于 `/v1/graphql` 的 GraphQL 服务端点暴露。构建后,schema 会出现在 `crates/client/assets/schema.sdl`。根据 Fuel 规范,该服务期望一个 `submit` mutation,它接受十六进制编码二进制格式的 Transaction。 ## Docker 与 Kubernetes 部署资产包含在 `deployment/` 下,其中包括 Dockerfile 和 Kubernetes manifest。命令展示了如何构建 Docker 镜像,以及创建/删除 Kubernetes volume、deployment 和 service 资源。