mcpField
F
flare-general

flare-general

github.com/flare-foundation开发22120 次安装2 周前更新
代码仓库

关于 flare-general

flare-general 是面向 Flare 开发者的网络与协议参考技能,涵盖架构、链配置、开发工具和系统协议。它提供概念与集成指导,不执行链上操作或管理钱包密钥。

主要功能

  1. 01介绍 Flare 网络架构与协议
  2. 02列出网络参数和 RPC 端点
  3. 03说明合约注册表用法
  4. 04汇总开发包与工具
  5. 05提供 Hardhat 和 Foundry 入门信息

适用场景

  1. 01配置 Flare 或测试网络开发环境
  2. 02查阅 FTSO、FDC 等协议概念
  3. 03确定合约接口和运行时地址解析方式
  4. 04规划 Hardhat 或 Foundry 项目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/flare-foundation/flare-ai-skills --skill flare-general

安装后在 Claude Code 中输入/flare-general确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

flare-contracts-registry-guide.md
flare-for-go-guide.md
flare-for-javascript-guide.md
flare-for-python-guide.md
flare-for-react-guide.md
flare-for-rust-guide.md
hardhat-foundry-starter-kit-guide.md
reference.md
secure-random-numbers-guide.md
wnat-guide.md

详细介绍

范围与限制

此技能仅提供文档和参考资料。它介绍 Flare 网络、其协议和开发者工具,不会代替用户执行任何操作。

此技能明确不会:

  • 执行、签署或广播任何区块链交易
  • 访问、存储或传输私钥或钱包凭据
  • 发起或授权任何代币转账、质押操作或金融操作
  • 直接调用任何智能合约方法或 API
  • 处理资金、代币或任何加密资产

外部数据处理:

  • 指南中引用的区块浏览器 API、RPC 响应和合约 ABI 数据均为外部提供的不可信内容
  • 开发者必须先验证公共 API(例如区块浏览器、RPC 节点)返回的所有数据,再在合约或脚本中使用
  • API 响应必须先解码为经过验证的类型化值,之后才能传入提示词或大模型输入
  • 开发者须全权负责在自己的实现中安全处理所有外部数据

开发者 SDK 和钱包文档:

  • 此处介绍的 flare-tx-sdk、钱包 SDK 和合约交互示例均为面向开发者的参考资料
  • 所有钱包签名、代币转账、质押和链上操作,都必须在由开发者控制的环境中,针对每项操作取得用户的明确确认
  • 私钥绝不会离开用户控制的硬件设备或钱包扩展程序——此技能无法访问签名凭据
  • 代码示例仅供参考;开发者有责任在执行前进行安全审查

此技能的作用:

  • 介绍 Flare 网络架构、核心协议、链 ID、RPC 端点和开发者工具
  • 引用 Flare Developer Hub 官方文档和经过审计的软件包
  • 为在 Flare 上构建应用的开发者提供只读的概念说明和集成指导

所有交易签名、密钥管理和链上执行都必须完全在此技能之外、由用户控制且由开发者管理的环境中进行。

Flare 网络 — 常识介绍

Flare 是什么

Flare 是一个互操作、兼容 EVM 的 Layer 1 区块链,专为数据丰富、互联互通的应用而构建。其关键差异在于内嵌数据协议直接集成在核心协议中,这意味着所有验证者都会参与数据提供,整个网络的经济安全性为每个数据源提供保障。

核心价值主张:

  • 内嵌预言机——FTSO 和 FDC 属于协议层功能,而非第三方附加服务。
  • 快速最终性——区块时间约为 1.8 秒,并具备单槽最终性(Snowman++ 共识)。
  • 兼容 EVM——可部署任意 Solidity/Vyper 合约;支持 Cancun 硬分叉操作码。
  • 可互操作——通过 FAssets 提供连接 XRP Ledger、Bitcoin 和 Dogecoin 的原生桥接;通过 FDC 提供跨链数据。

核心协议

协议功能
FTSO(Flare Time Series Oracle)去中心化、区块级延迟的价格源(约 1.8 秒),约有 100 个数据提供者,并采用基于质押权重的选择机制。还每 90 秒提供一次 Scaling 锚定数据源。
FDC(Flare Data Connector)通过证明共识和 Merkle 证明验证来自其他链的外部数据。(Web2Json 已弃用——Web2 数据请使用 FCC 扩展。)
FAssets无需信任的包装代币(FXRP、FBTC、FDOGE),让 XRP、BTC 和 DOGE 持有者能够使用 Flare DeFi。
Smart Accounts账户抽象功能,让 XRPL 用户无需持有 FLR 即可与 Flare 交互。
FCC(Flare Confidential Compute)通过可信执行环境(TEE)扩展 Flare,支持安全的链下计算、跨链交易签名和快速数据证明。

Flare 验证者承担双重职责:既参与共识,也充当 FTSO 和 FDC 的数据提供者。

网络

网络角色原生代币链 ID
Flare Mainnet生产环境FLR(18 位小数)14
Coston2dApp 测试网C2FLR(18 位小数)114
SongbirdCanary / 协议实验SGB(18 位小数)19
Coston协议测试网CFLR(18 位小数)16

开发路径:

  • dApp 开发: Coston2 → Flare Mainnet
  • 协议开发: Coston → Songbird → Coston2 → Flare Mainnet

RPC 端点

Flare Mainnet
  • HTTPS:https://flare-api.flare.network/ext/C/rpc
  • WSS:wss://flare-api.flare.network/ext/C/ws
Coston2(测试网)
  • HTTPS:https://coston2-api.flare.network/ext/C/rpc
  • WSS:wss://coston2-api.flare.network/ext/C/ws
Songbird
  • HTTPS:https://songbird-api.flare.network/ext/C/rpc
  • WSS:wss://songbird-api.flare.network/ext/C/ws
Coston
  • HTTPS:https://coston-api.flare.network/ext/C/rpc
  • WSS:wss://coston-api.flare.network/ext/C/ws

区块浏览器

网络浏览器
Flare Mainnethttps://flare-explorer.flare.network
Coston2https://coston2-explorer.flare.network
Songbirdhttps://songbird-explorer.flare.network
Costonhttps://coston-explorer.flare.network
系统浏览器(所有网络)https://flare-systems-explorer.flare.network

水龙头(测试网代币)

技术属性

属性值
共识Snowman++(单槽最终性)
区块时间~1.8 秒
Sybil 抵抗机制权益证明
EVM 版本Cancun(在 Hardhat/Foundry 中设置 evmVersion: "cancun")
地址格式20 字节 ECDSA(兼容 Ethereum)
交易格式EIP-2718;支持 Type 0(Legacy)和 Type 2(EIP-1559)
费用销毁所有交易费用均会销毁
原生代币小数位数18

主要 npm 包

包用途
@flarenetwork/flare-periphery-contracts用于 Hardhat/Foundry 的 Solidity 接口(特定网络:coston2/、flare/、songbird/)
@flarenetwork/flare-periphery-contract-artifacts用于链下脚本的 ABI 工件(interfaceToAbi())
@flarenetwork/flare-wagmi-periphery-package用于 Flare 周边合约的 Wagmi/viem 类型化合约交互

合约解析

Flare 使用 ContractRegistry 模式——切勿硬编码合约地址。始终在运行时解析:

import {ContractRegistry} from "@flarenetwork/flare-periphery-contracts/coston2/ContractRegistry.sol";

// Examples
IFtsoV2 ftso = ContractRegistry.getFtsoV2();
IFdcHub fdcHub = ContractRegistry.getFdcHub();

ContractRegistry 地址本身在每个网络上都是固定的。使用特定网络的导入(coston2/、flare/、songbird/、coston/)。

开发者快速入门

使用 Hardhat
git clone https://github.com/flare-foundation/flare-hardhat-starter
cd flare-hardhat-starter
npm install
cp .env.example .env  # add your private key and API keys
npx hardhat compile
npx hardhat run scripts/your-script.ts --network coston2
使用 Foundry
git clone https://github.com/flare-foundation/flare-foundry-starter
cd flare-foundry-starter
forge install
forge build
forge script script/YourScript.s.sol --rpc-url https://coston2-api.flare.network/ext/C/rpc
Hardhat 配置(网络设置)
networks: {
  coston2: {
    url: "https://coston2-api.flare.network/ext/C/rpc",
    chainId: 114,
    accounts: [process.env.PRIVATE_KEY],
  },
  flare: {
    url: "https://flare-api.flare.network/ext/C/rpc",
    chainId: 14,
    accounts: [process.env.PRIVATE_KEY],
  },
}

重要: 使用 Flare 周边合约时,务必在 Solidity 编译器设置中将 evmVersion: "cancun" 设为 Cancun。

Flare Systems Protocol(FSP)

Flare Systems Protocol(FSP) 是为 Flare 内置协议(FTSO、FDC)提供支持的基础设施。它通过 数据提供者(也称为投票者)的加权投票实现去中心化共识;他们通过社区委托的 WFLR 或 P 链质押获得投票权。

投票权重

投票权重来自两个来源:

来源描述
P 链质押(WP)验证者在 P 链上质押或委托给验证者的 FLR
WNat 委托(WWFLR)通过 WNat 合约委托的包装 FLR(WFLR)

派生的权重类型:

  • 镜像质押(WM) — 镜像到 C 链智能合约的 P 链状态
  • 封顶委托权重(W'WFLR) — WFLR 委托上限为 WFLR 总权重的 2.5%
  • 注册权重 — (W'WFLR + WM)^0.75
  • 签名权重(WS) — 归一化后的注册权重,每个提供者压缩为 2 字节值
时间安排
周期时长
投票周期90 秒
奖励周期3,360 个投票周期(约 3.5 天)
系统协议

FSP 由四个核心协议组成:

协议触发时机用途
签名策略定义奖励周期结束前约 2 小时锁定下一周期的数据提供者及其权重
验证者在线率投票每个奖励周期之后提供者投票选出在线率达到 ≥80% 的验证者
奖励投票在线率投票之后提供者将奖励申领汇总为 Merkle 树;RewardManager 执行付款
随机数生成每个投票周期根据 FTSOv2 提交-揭示机制生成;存储在 Relay 合约中

**共识阈值:**需要超过 50% 的签名权重。若有延迟,则升至 60% 以上。

奖励

奖励由 RewardManager 合约按奖励周期发放。提供者初始有 0 张通行证(最多 3 张),并根据最低参与要求获得或失去通行证:

协议最低参与要求
质押验证者在线率 ≥80%,且有效自我绑定质押 ≥1M FLR
FTSO 锚定价格馈送在 ≥80% 的轮次中,估值与共识中位数的偏差不超过 0.5%
FTSO 区块延迟馈送提交 ≥80% 的预期更新(权重 <0.2% 时免除此要求)
FDC参与 ≥60% 的投票轮次

**奖励申领类型:**直接奖励、费用(提供者委托/质押费用)、WFLR(委托者奖励)、镜像(质押委托者奖励)。

参考:dev.flare.network/network/fsp

开发者工具

跨链桥
工具描述
LayerZero V2用于链间消息传递和资产转移的全链互操作协议
Stargate V2采用统一流动性池的跨链流动性协议
zkBridge基于零知识证明的跨链桥
RPC
工具描述
QuickNode用于查询、交易和跨链操作的高性能 API
Ankr用于部署区块链应用的基础设施和开发者工具
NOWNodes提供 Flare RPC 访问的区块链节点服务商
ChainList支持 Flare(链 ID 14)的所有公共 RPC 目录
OFT(全链同质化代币)
代币描述
USD₮0Tether 的稳定币全链同质化代币
flrETHDinero 的流动性质押 ETH OFT
USDC.e、WETH、USDTStargate Hydra 的包装 OFT
索引器
工具描述
Envio现代化的多链 EVM 索引器,支持实时和历史数据
Goldsky提供索引 API 和子图托管服务的区块链数据平台
sqd针对速度、可靠性和数据转换进行优化的索引解决方案
SubQuery用于组织和查询区块链数据的开放索引协议
钱包 SDK
工具描述
Wagmi用于钱包连接和合约交互的 React Hooks 库
RainbowKit用于钱包连接的可自定义 React 组件
MetaMask Embedded Wallets支持 OAuth 社交登录和非托管式密钥管理
Etherspot Prime SDKERC-4337 账户抽象(赞助交易、ERC-20 Gas 支付)
Etherspot Modular SDKERC-7579 智能账户模块
Turnkey用于嵌入式钱包、智能签名者和链上自动化的 API
Dfns面向数字资产操作的钱包即服务
全栈基础设施
工具描述
Tenderly用于调试、监控和模拟的开发平台
Thirdweb用于构建、发布和管理 Web3 应用的 SDK
分析
工具描述
Dune用于查询和可视化链上数据的区块链分析工具
Sentora面向加密资产和 DeFi 的情报平台
Arkham Intel用于对链上钱包和交易进行去匿名化分析的工具
Flare MetricsFlare 上 DeFi 机会的追踪工具
CatenalyticaFTSO 性能、投票权重、奖励分析和网络监控
FlareBase用于 Flare 数据和洞察的 Web 和 REST API
区块链浏览器
工具描述
Flare Explorer基于 Blockscout 的 Flare Mainnet 浏览器
Flare Systems Explorer用于查看 FTSO、FDC、提供者和纪元指标的浏览器
Flare SpaceFlare 的 C-chain 和 P-chain 分析工具

完整列表和链接:dev.flare.network/network/developer-tools

Flare TX SDK

@flarenetwork/flare-tx-sdk 是官方 Node.js 工具包,可用于在所有 Flare 网络上执行常见操作。

**支持的操作:**领取奖励(FlareDrops、质押、FTSO 委托、rFLR)、委托给 FTSO 提供者、在 P-chain 上质押、对治理提案投票、转移原生代币/包装代币,以及与 C-chain 合约交互。

安装
npm install @flarenetwork/flare-tx-sdk
核心概念
  • Network — 表示链(Network.FLARE、Network.COSTON2、Network.SONGBIRD、Network.COSTON)。使用 Flare 的公共 RPC 提供查询和交易方法。
  • Wallet — 表示用户账户,不存储私钥。兼容 MetaMask(EIP-1193)、Ledger、Trezor 或自定义签名器。
  • Amount — 单位转换辅助工具:Amount.nats(10) = 10 FLR(以 wei 为单位),Amount.wnats(10) = 10 WFLR(以 wei 为单位)。
快速入门(MetaMask)
import { Network, EIP1193WalletController } from "@flarenetwork/flare-tx-sdk";

const network = Network.FLARE;
await window.ethereum.request({ method: "eth_requestAccounts" });
const controller = new EIP1193WalletController(window.ethereum);
const wallet = await controller.getActiveWallet();
const publicKey = await wallet.getPublicKey();
const balance = await network.getBalance(publicKey);
// { availableOnC, wrappedOnC, availableOnP, stakedOnP } — all in wei
常见操作
// Balances
await network.getBalance(publicKey);
await network.getBalanceOnC(cAddress);
await network.getBalanceWrappedOnC(cAddress);
await network.getBalanceOnP(publicKey);

// Wrap / transfer
await network.transferNative(wallet, recipient, Amount.nats(1));
await network.wrapNative(wallet, Amount.nats(1));
await network.transferWrapped(wallet, recipient, Amount.wnats(1));
await network.unwrapToNative(wallet, Amount.wnats(1));

// Claim rewards
await network.claimFlareDropReward(wallet);
await network.claimStakingReward(wallet);
await network.claimFtsoReward(wallet);
await network.claimRNatReward(wallet, [projectId1, projectId2]);

// FTSO delegation
await network.delegateToFtso(wallet, providerAddress, Amount.percentages(100));
await network.undelegateFromFtso(wallet);

// P-chain staking
await network.transferToP(wallet, Amount.nats(100));
await network.delegateOnP(wallet, Amount.nats(50), nodeId, startTime, endTime);
await network.transferToC(wallet);  // move back to C-chain
// NOTE: do not stake from one address to more than 3 validators at once (see warning below)

// Governance
await network.castVoteForFoundationProposal(wallet, proposalId, FoundationProposalSupport.FOR);
await network.delegateGovernanceVotePower(wallet, delegateAddress);

// C-chain contract calls
await network.invokeContractCallOnC(contractAddress, abi, "methodName", [params]);
await network.invokeContractMethodOnC(wallet, contractAddress, abi, "methodName", value, [params]);

质押限制——每个地址最多可质押给 3 个验证者。请勿从同一地址同时质押给超过 3 个验证者。虽然在技术上可以在质押门户之外进行额外质押,但质押镜像服务只会处理前 3 笔,超出的质押将无法获得奖励。请参阅质押 FLR 时需要考虑的事项。

钱包集成
钱包包
MetaMask / WalletConnect(EIP-1193)内置(EIP1193WalletController)
Ledger(Zondax Flare App)@zondax/ledger-flare
Ledger(ETH App)@ledgerhq/hw-app-eth
Trezor@trezor/connect

私钥绝不会离开硬件设备或钱包扩展程序。

完整指南:dev.flare.network/network/flare-tx-sdk

封装原生代币(WNat)

每个 Flare 网络都有原生 gas 代币(FLR、SGB、C2FLR、CFLR)。WNat 可将原生代币封装为标准 ERC-20 代币,这是进行 FTSO 委托和治理投票所必需的。

以下操作需要 WNat:

  • FTSO 委托 — 将投票权委托给数据提供者,以赚取质押奖励
  • 治理投票 — 参与 FIP、STP 和 SIP
  • DeFi — 任何需要 ERC-20 代币的协议
操作方法说明
封装deposit()payable — 将原生代币作为 msg.value 发送
封装至地址depositTo(recipient)代表另一个地址进行封装
解封withdraw(amount)销毁 WNat,按 1:1 比例返还原生代币
解封至地址withdrawTo(recipient, amount)将代币解封至指定地址

通过 ContractRegistry.getWNat() 获取 WNat 合约。完整指南(含 Solidity 和 TypeScript 示例):wnat-guide.md

共识

Flare 使用 Snowman++,这是一种来自 Snow 系列的拜占庭容错概率共识协议(最初由 Avalanche 引入)。

协议层
层说明
Slush节点对等节点进行采样,并通过多数投票更新偏好(参数:K = 采样数量,Alpha = 投票阈值)
Snowball增加置信度计数器,用于跟踪连续成功的轮询,以提升最终确定性
Snowman使用 Kahn 拓扑算法对区块链进行线性排序;每个区块高度运行多个 Snowball 实例
Snowman++增加按质押权重选择提议者的机制,并为每个验证者设置基于时间的资格延迟
关键参数
参数值说明
maxWindows6每个区块高度选出的验证者数量
WindowDuration5 秒提议者资格窗口之间的延迟
Beta—最终确定所需的连续成功查询次数
验证者选择

验证者根据质押量,通过加权无放回采样选出。选择过程具有确定性,以验证者集合和链高度作为输入。

特性
  • 最终性: 单槽最终性 — 置信度达到 Beta 阈值后,区块即为最终区块。
  • 出块时间: 约 1.8 秒。
  • 容错能力: 拜占庭容错。
  • 链: 在 Flare 网络的 P-chain 和 C-chain 上运行。
  • 验证者双重角色: 验证者也为 FTSO 和 FDC 提供数据。

参考:dev.flare.network/network/consensus

治理

Flare 使用链上治理进行协议变更。两个网络上共有三种提案类型。

提案类型
类型网络投票代币机制
FIP(Flare 改进提案)Flare 主网WFLR + 已质押的 FLR基于通过:赞成票超过 50%,无需达到法定人数
STP(Songbird 测试提案)SongbirdWSGB基于否决:需要达到 75% 的法定人数,且反对票超过 50% 才能否决
SIP(Songbird 改进提案)SongbirdWSGB基于通过:赞成票超过 50%,无需达到法定人数

STP 用于先在 Songbird 上测试变更,再将其作为 FIP 提交至 Flare 主网。

投票
  • 资格: 在快照区块(“投票计数区块”)持有代币的持有者;该区块在提案公布后随机选出。
  • 投票权: 与快照时的代币持有量成正比。
  • 委托: 可将投票权委托给另一个地址,而无需转移代币所有权。委托会一直有效,直到明确取消。
提案生命周期
  1. 提案公布 + 社区讨论期
  2. 随机选择投票计数区块的窗口期
  3. 投票期(通常为一周)
  4. 执行 — 由智能合约自动执行,或由 Flare Foundation 手动执行
管理组

在 FIP.02/STP.03 中引入,是由 FTSO 数据提供方组成的治理机构,负责投票决定:

  • 对违规提供方采取惩罚措施
  • 新增数据馈送
  • 为 FDC 新增证明类型
  • 调整协议参数

参考:dev.flare.network/network/governance

Flare Confidential Compute(FCC)

**Flare Confidential Compute(FCC)通过可信执行环境(TEE)**扩展 Flare 区块链,以支持安全的链下计算、跨链交易签名和快速数据证明。

**状态:**FCC 目前处于开发的最后阶段,尚未公开提供。

参考:dev.flare.network/fcc/overview

主要功能
功能描述
安全的链下计算TEE 机器在硬件隔离环境中运行可验证代码,防范不可信运营方
跨链交易签名协议管理钱包允许智能合约以编程方式组装并签署外部区块链(XRPL、Bitcoin)上的交易
快速数据证明基于 TEE 的 Flare Data Connector 可快速证明外部数据;TEE 签名可证明数据提供方达成了共识
可扩展架构开发者可构建自定义 Flare Compute Extensions(FCE),在 TEE 机器中运行任意计算,并生成可在链上验证的结果
去中心化共识指令只有在获得 Flare 数据提供方 50% 以上的签名权重后,才会发送至 TEE 机器
私钥管理TEE 机器可为多重签名钱包操作安全地生成、存储、备份和恢复私钥
架构

三个核心组件协同工作:

组件作用
智能合约管理逻辑,并管理计算扩展、TEE 注册、指令发布和密钥管理
数据提供方和联合签名方中继指令、解析事件、补充外部数据,并在发送至 TEE 机器前进行签名
TEE 机器验证按共识权重加权的指令、执行计算,并使用私钥签署结果
系统应用

**协议管理钱包(PMW):**通过 Flare 智能合约支持在外部区块链上以编程方式组装和签署交易,并支持多重签名操作和 nonce 管理。

**通过 TEE 使用 Flare Data Connector(FDC):**数据提供方响应证明请求,实现快速证明;TEE 签名则用于验证共识。

**Flare Compute Extensions(FCE):**开发者可部署的自定义计算模块,可在 TEE 机器中运行任意链下逻辑,并生成可在链上验证的结果。

何时使用此技能

  • 回答有关 Flare 是什么以及如何运作的一般问题。
  • 提供网络配置(链 ID、RPC URL、区块浏览器、水龙头)。
  • 解释 Flare 核心协议(FTSO、FDC、FAssets、Smart Accounts)之间的关系。
  • 帮助开发者为 Flare 配置工具(Hardhat、Foundry、viem/wagmi)。
  • 解释 Flare Confidential Compute(FCC/TEE),包括其定义、工作原理、协议管理钱包和 Flare Compute Extensions。
  • 回答任何不完全属于 FTSO、FDC、FAssets 或 Smart Accounts 范畴的 Flare 相关问题。

附加资源

评论

支持 Markdown