Koios 科普:假如 Blockfrost 关停,Cardano 链上 API 怎么办
-
-
2026 年 7 月 29 日 上午 11:13 #34431
背景:Blockfrost 发生了什么
2026 年 6 月 26 日,Blockfrost 团队向 Cardano 链上治理提交了一笔 Treasury 提款提案,请求 9,832,979 ADA(约 983 万 ADA),用于将其托管基础设施过渡为社区治理的非营利组织,并继续运营免费公开 API。
此前 Blockfrost 曾提交过一个更庞大的提案(合并了 Project Cayley 去中心化索引架构),未获足够的治理支持。本次提案范围收窄,仅聚焦于所有权移交、服务延续和社区监督。
提案的关键时间线:
事件 日期 提案提交 2026-06-26 投票开始 2026-06-26 投票截止 2026-07-28(今天) 投票方 DRep(代表)、宪法委员会(CC) Charles Hoskinson 明确表态:无论提案结果如何,IOG 对 Blockfrost 的所有权和运营责任都将在 2026 年底结束。如果提案通过,Blockfrost 将有序移交社区非营利组织,API 继续运行;如果提案被拒,Blockfrost 将逐步关停其 hosted API 服务。
“关停 Hosted API”具体意味着什么
Blockfrost 提供的不是”一条 API”而是三层服务:
- Cardano 数据查询层——通过 REST API 查询区块、交易、地址、UTxO、原生资产、质押信息等。这是最常见的用法。
- 交易提交层——通过 submit API 向链上提交交易。钱包和 dApp 依赖这个功能将用户交易广播到网络。
- IPFS/Filecoin 网关——存储和检索 IPFS 数据(主要与 NFT 元数据相关)。
关停的顺序和影响:
- Free / Hobby / Developer / Enterprise 所有 tier 逐步下线,Starter tier 曾标注”till hell freezes over”但实际为 marketing 措辞,不受承诺保护
- 依赖 Blockfrost 的钱包(如 Eternl、Typhoon、Flint)和 dApp 前端需要紧急切换数据源
- Cardano 主网约 50% 以上的交易流量经过 Blockfrost 的 submit API(根据 Hoskinson 的陈述),关停后这部分流量需要被其他 submit API 承载
- 对于 SPO 的出块操作本身无影响(SPO 直接运行 cardano-node,不依赖 Blockfrost),但依赖 Blockfrost 的周边工具和查询脚本会失效
如果提案通过会怎样
即使提案通过,过渡也需要时间:
里程碑 时间 成立非营利组织框架,发布过渡架构 2026 Q3 公开 API 使用情况和可用性仪表板 2026 Q3 链上选举社区委员会 2026 Q4 所有公共 API 流量迁移到新栈 2027 Q1 IP、商标、域名移交社区 2027 Q1 在过渡期间,Blockfrost 承诺保持 99% 月度正常运行时间。过渡结束后,新设的非营利组织将继续运营一个免费的公共 API,不设付费 tier。
换句话说:最好的情况下,你在 2027 年 Q1 之前需要迁移。最坏的情况下,你现在就需要迁移。
Koios 是什么
Koios(发音 /ˈkɔɪ.ɒs/,源自古希腊语 Κοιος,意为”提问、探究”,也是泰坦神族的智慧之神)是一个去中心化、弹性、完全开源的 Cardano 区块链 REST API 查询层。
项目始于 2021 年,由 Guild Operators(Cardano 社区最资深的 SPO 工具开发者群体)创建和维护。采用 MIT 开源协议,核心代码、SQL 查询、API 规范、测试套件全部托管于 GitHub。
一句话概括:Blockfrost 能查的数据 Koios 都能查,而且不需要 API Key,没有单点故障,不会被关停。
设计目标
Koios 的设计围绕四个原则:
弹性(Elastic) ——任何人都可以运行自己的实例,也可以选择加入公共集群。节点越多,集群越强。不像传统中心化 API 那样,用户增加 = 供应商成本增加 = 涨价或限流。
去中心化(Decentralized) ——没有单一实体控制 API 层。即使 Koios DAO 明天解散,所有已部署的开源代码和数据库 schema 仍然存在,任何人都可以继续运行。
开放标准(Open Standards) ——所有 SQL 查询、端点定义、测试用例公开。开发者可以审查每一个端点返回的数据是否准确,也可以提交改进。
低门槛(Low Barrier) ——公共端不需要注册、不需要 API Key、不需要 gas 费。5,000 次/天免费额度对个人工具和原型开发完全够用。
架构深度解析
Koios 完整节点(称为 gRest)是一个五层堆栈。理解这五层有助于你判断:你需要在哪一层介入。
┌──────────────────────────────┐ │ HAProxy (端口 8053) │ ← 暴露层 │ 负载均衡 / 健康检查 / SSL │ └──────────┬───────────────────┘ │ ┌──────────▼───────────────────┐ │ PostgREST (端口 8050) │ ← 接口层 │ SQL → JSON RESTful API │ └──────────┬───────────────────┘ │ ┌──────────▼───────────────────┐ │ PostgreSQL (端口 5432) │ ← 存储层 │ 规范化的索引数据 + 缓存表 │ └──────────┬───────────────────┘ │ ┌──────────▼───────────────────┐ │ cardano-db-sync │ ← 解析层 │ 链上数据 → 关系型数据库 │ └──────────┬───────────────────┘ │ ┌──────────▼───────────────────┐ │ cardano-node (端口 6000) │ ← 基底层 │ P2P 同步、验证、存储 │ └──────────────────────────────┘第 1 层:Cardano Node(基底层)
就是标准的
cardano-node进程,通过 P2P 网络同步完整的 Cardano 区块链数据。如果你已经是 SPO,你这层已经跑着,不需要额外配置。关键配置点:
- 拓扑文件(topology.json)配置 peer 连接
- 数据库路径(–database-path)建议放在 SSD 上
- 需要启用
--socket-path供 db-sync 连接
第 2 层:DBSync(解析层)
cardano-db-sync进程持续读取 cardano-node 的链上数据,将其解析并写入 PostgreSQL。这是整个堆栈中最消耗资源的部分。数据覆盖范围:
- 区块头、区块体、交易
- 输入/输出(UTxO)
- 地址、质押地址
- 原生资产(Native Assets)——包括 NFT
- Plutus 脚本和 datum
- 池注册、更新、退休
- 委托操作
- 奖励和 MIR
- 治理操作
全量同步耗时(主网):
- 从 0 开始:约 24-48 小时(取决于硬件和网络)
- 持续同步:基本实时,滞后通常 < 10 秒
第 3 层:PostgreSQL(存储层)
存储 db-sync 写入的原始数据,外加 Koios 自定义的缓存表和物化视图。这是 Koios 性能优化的核心——预计算耗时查询(如池的活跃质押量、地址资产余额),避免每次请求都扫描全表。
关键表(非完整列表):
表名 用途 行数级(主网) block 区块 1.1 亿+ tx 交易 1.5 亿+ tx_out 交易输出 4 亿+ address 地址 2.5 亿+ stake_address 质押地址 500 万+ pool_owner 池所有者 3,000+ pool_hash 池哈希 4,000+ asset 原生资产元数据 1,000 万+ asset_mint 铸造/销毁记录 2,000 万+ ma_tx_out_mint 交易中的资产关联 3 亿+ Koios 额外创建的缓存表(以
grekoiosschema 存储):grekoios.account_info_cache——质押地址缓存信息grekoios.epoch_active_stake_cache——每个 epoch 的活跃质押量grekoios.pool_history_cache——池历史汇总grekoios.asset_registry_cache——代币注册表元数据
第 4 层:PostgREST(接口层)
PostgREST 是一个工具:它读取 PostgreSQL 数据库 schema,自动为每个表/视图生成 RESTful 端点。Koios 团队编写了专门的 SQL 函数(RPC),映射到每个 API 端点。
例如,
account_info端点的背后是一个 PostgreSQL 函数:CREATE FUNCTION grekoios.api_account_info(_stake_addresses text[]) RETURNS TABLE ( stake_address text, status text, delegated_pool text, total_balance numeric, utxo_balance numeric, rewards_available numeric, ... ) LANGUAGE plpgsql STABLE AS $$ -- 复杂的多表 JOIN 和聚合查询 $$;PostgREST 将这个函数暴露为
POST /rpc/account_info(在 Koios 中路由为POST /api/v0/account_info)。这种设计的优势:
- 查询逻辑完全透明——所有 SQL 在 GitHub 上公开可审查
- 性能可预测——每个端点的查询计划(query plan)固定
- 扩展方便——社区成员可直接贡献新的 SQL 函数
第 5 层:HAProxy(暴露层)
HAProxy 作为反向代理,提供:
- TLS 终止——将外部 HTTPS 请求转换为内部 HTTP
- 健康检查——定期检查后端 postgREST 是否响应、数据是否最新(通过对比 tip 时间戳)
- 负载均衡——在多实例集群下分发请求
- 速率限制——根据 tier 级别控制请求频率
- DDoS 防护——尖峰流量时的请求排队和丢弃策略
健康检查的核心逻辑:HAProxy 定期调用
/tip端点,检查返回的block_no是否在可接受的时间窗口内(通常 < 60 秒)。如果某个实例落后太多,HAProxy 自动将其从集群中移除,直到它重新追上。与 Blockfrost 的详细对比
通用维度
维度 Blockfrost Koios 运营主体 Five Binaries OÜ(IOG 子公司) Koios DAO(社区) 治理模型 公司决策 双周公开会议 + 社区投票 开源范围 后端(RYO)开源,核心基础设施闭源 全部开源(MIT) 首次发布 2020 年 2021 年 当前版本 — v1.4.0(主网),v1.4.1(测试网) 网络覆盖 主网、Preview、Preprod、Midnight 主网、Preview、Preprod 认证方式 project_id header(每个项目独立 key) 无需认证(公共层),JWT(注册/付费层) 关停风险 有(2026 年底 IOG 退出) 无(无单一关停决策者) 费用模式 免费 Starter + 付费 Hobby/Developer/Enterprise 公共层免费 + Free(注册)免费 + Pro/Premium 付费 免费额度 50,000 次/天 5,000 次/天(公共),50,000 次/天(注册 Free) API 能力维度
能力 Blockfrost Koios 批量查询 不支持(逐条查) 支持(POST 批量查,一次最多 25-100 条) 端点数量 ~60+ ~50+ 水平过滤 有限(cursor 分页) 完整(任意字段过滤 + 排序 + 分页) 返回格式 JSON JSON OpenAPI 规范 有 有 Webhook 支持 有 无(但可通过 polling 替代) IPFS 网关 有 无 Submit API 有 有(通过 cardano-submit-api) 数据一致性维度
维度 Blockfrost Koios 数据源 自建 node + db-sync 集群 多节点独立 node + db-sync 延迟 亚秒(中心化基础设施) 亚秒至数秒(取决于节点,通常 < 5s) 容错 单集群,多 region 部署 多实例自动 failover 数据校验 不可公开审计 所有 SQL 可审计,端点可独立验证 API 端点逐一详解
以下按功能类别列出每个端点及其典型用途、请求示例和响应字段说明。
账户(Account)
GET /api/v0/account_list获取所有至少有一笔交易的质押地址列表。通常在需要遍历所有活跃账户时使用。
请求参数:
?order=asc——排序方向?limit=1000——每页数量
响应示例(精简):
[ {"stake_address": "stake1u9...", "first_tx_time": 1623456789}, {"stake_address": "stake1ux...", "first_tx_time": 1623456790} ]POST /api/v0/account_info查询一个或多个质押地址的完整信息。这是最常用的端点之一。
请求体:
{ "_stake_addresses": [ "stake1u9fzv...", "stake1uxp3..." ] }响应字段:
字段 说明 stake_address质押地址 bech32 statusregistered或deregistereddelegated_pool委托的池 ID(bech32),未委托时为 null total_balance总余额(UTxO + 奖励 – 已提取奖励) utxo_balance控制 UTxO 中的 ADA 总量 rewards累计奖励总额 withdrawals已提取奖励总额 rewards_available当前 epoch 可提取的奖励 reserves储备金奖励 GET /api/v0/account_utxos查询给定质押地址下的所有 UTxO。
请求参数:
?stake_address=stake1u9...过滤参数:
&order=desc——按交易时间降序&limit=50——每页 50 条&offset=0——偏移量
响应字段:
字段 说明 tx_hash交易哈希 tx_index输出索引 address接收地址 valueADA 金额(lovelace) stake_address关联质押地址 asset_list该 UTxO 中的原生资产列表(policy_id, asset_name, quantity) block_height所在区块高度 block_time区块时间戳 POST /api/v0/account_assets查询质押地址持有的所有原生资产(含 NFT)。如果你需要查某个地址下有哪些 NFT,就是用这个端点。
请求体:
{ "_stake_addresses": ["stake1u9fzv..."] }响应字段:
字段 说明 stake_address质押地址 asset_list数组,每个元素包含 policy_id、asset_name(hex)、quantityasset_list[].fingerprint资产指纹(asset1…) asset_list[].decimals小数位数(NFT 通常是 0) POST /api/v0/account_rewards查询质押地址的奖励历史(含 MIR)。
请求体:
{ "_stake_addresses": ["stake1u9fzv..."] }过滤参数:
?epoch_no=500(指定 epoch)响应字段:
字段 说明 earned_epoch奖励所属 epoch spendable_epoch奖励可花费 epoch amount奖励金额(lovelace) type奖励类型: member(池奖励)、leader(出块奖励)、treasury、reserves、mirPOST /api/v0/account_updates查询质押地址的变更历史:注册、注销、委托更新、提现。
请求体:
{ "_stake_addresses": ["stake1u9fzv..."] }响应字段:
字段 说明 action_typeregistration、deregistration、delegation、withdrawaltx_hash该操作的交易哈希 epoch_no操作所在 epoch epoch_slot操作所在 slot POST /api/v0/account_history查询质押地址在每个 epoch 的委托状态和余额历史。
请求体:
{ "_stake_addresses": ["stake1u9fzv..."] }响应字段:
字段 说明 pool_id该 epoch 委托的池 ID epoch_noepoch 编号 active_stake该 epoch 的活跃质押量 rewards该 epoch 获得的奖励 地址(Address)
POST /api/v0/address_info查询一个或多个地址的详细信息。
请求体:
{ "_addresses": ["addr1qx...", "addr1qy..."] }响应字段:
字段 说明 addressbech32 地址 balance地址余额(lovelace) stake_address关联的质押地址 script是否为脚本地址 utxo_set该地址下的 UTxO 列表(可选展开) POST /api/v0/address_txs查询地址的交易历史(可选指定起始区块高度)。
请求体:
{ "_addresses": ["addr1qx..."], "_after_block_height": 9000000 }响应字段:
字段 说明 tx_hash交易哈希 block_height区块高度 block_time区块时间 epoch_noepoch 编号 POST /api/v0/address_assets查询地址持有的所有原生资产。如果你需要在非质押地址(如合约地址)下查资产,用这个而不是 account_assets。
请求体:
{ "_addresses": ["addr1qx..."] }响应: 每个资产的
policy_id、asset_name、quantity。资产 / NFT(Asset)
GET /api/v0/asset_list获取所有已铸造的原生资产分页列表。数据量极大(主网已超过 1,000 万种资产),通常配合搜索使用。
过滤参数:
?policy_id=...——按 policy 过滤?asset_name=...——按名称过滤(hex)
POST /api/v0/asset_info批量查询资产的详细信息。查 NFT 元数据(metadata、name、description、image URL 等)就用这个端点。
请求体:
{ "_asset_list": [ "policy_id_hex.asset_name_hex", "policy_id_hex.asset_name_hex" ] }响应字段:
字段 说明 policy_id策略 ID(hex) asset_name资产名称(hex) fingerprint资产指纹 minting_tx_hash首次铸造交易 minting_tx_time首次铸造时间 decimals小数位数 total_supply总供应量 metadata资产元数据(JSON,含 name、image、description 等) token_registry_metadata官方代币注册表元数据 GET /api/v0/asset_history查询资产的铸造(mint)和销毁(burn)历史。
请求参数:
?asset_policy=policy_id_hex&asset_name=asset_name_hex响应字段:
字段 说明 tx_hash交易哈希 mint_quantity正数=铸造,负数=销毁 block_time区块时间 GET /api/v0/asset_addresses查询持有某资产的所有地址。注意:对于高交易量的资产(如热门 NFT 项目),数据量极大,公共层可能超时。
GET /api/v0/policy_asset_info|policy_asset_list|policy_asset_addresses这三组端点与资产类似,但作用域是一个 policy ID 下的所有资产。适合查”同一个 NFT 集合下的所有资产”。
交易(Transaction)
POST /api/v0/tx_info批量查询交易详情。这是 Koios 相对 Blockfrost 的核心优势之一——一次查多条交易。
请求体:
{ "_tx_hashes": [ "abc123...", "def456..." ] }响应字段(每个交易):
字段 说明 tx_hash交易哈希 block_height区块高度 block_time区块时间 inputs输入列表(地址、value、资产) outputs输出列表(地址、value、资产) fee手续费 deposit质押存款(注册池时) withdrawal提现 withdrawal_address提现地址 script_size脚本大小 invalid_beforeTTL 下界 invalid_hereafterTTL 上界 collateral_inputs抵押输入 reference_inputs参考输入 GET /api/v0/tx_utxos查询交易的 UTxO 详情。
响应与
tx_info的输出类似,但展开为每输入/输出一条记录。POST /api/v0/tx_status查询交易是否在链上被确认。
请求体:
{ "_tx_hashes": ["abc123..."] }响应:
字段 说明 tx_hash交易哈希 num_confirmations确认数(0 = 未上链) 池(Pool)
GET /api/v0/pool_list所有当前注册或正在退休(未完成退休)的池列表。
过滤参数:
?status=registered(或retiring)POST /api/v0/pool_info查询一个或多个池的详细信息。SPO 查自己或其他池的数据,这是最主要的端点之一。
请求体:
{ "_pool_bech32_ids": ["pool1..." , "pool1..."] }响应字段:
字段 说明 pool_id_bech32池 ID(bech32) pool_id_hex池 ID(hex,VRF key hash) active_epoch_no池活跃起始 epoch vrf_key_hashVRF 密钥哈希 margin池利润率(如 0.01 = 1%) fixed_cost固定成本(ADA) pledge质押承诺(ADA) pool_owners所有者地址列表 pool_statusregistered/retiring/retiredretiring_epoch退休 epoch(如果正在退休) pool_size当前总委托量 live_stake当前实时质押 live_delegators当前委托人数量 live_saturation当前饱和度(百分比,如 0.85 = 85%) GET /api/v0/pool_stake_snapshot获取池的 Mark、Set、Go 三个快照点数据。这对 SPO 计算 leaderlog(出块概率)极其关键。
请求参数:
?pool_bech32=pool1...响应:
字段 说明 snapshot快照类型: mark/set/goepoch_no快照对应的 epoch stake该快照点的质押量 pool_stake池委托量 active_stake全网活跃质押量 GET /api/v0/pool_delegators查池的所有委托人和各自的质押量。
请求参数:
?pool_bech32=pool1...响应:
字段 说明 stake_address委托人质押地址 amount该地址委托的 ADA 量 epoch_no委托生效 epoch GET /api/v0/pool_blocks查池的出块记录。
请求参数:
?pool_bech32=pool1...&epoch_no=500响应:
字段 说明 epoch_noepoch 编号 block_height区块高度 block_time出块时间 slot_noslot 编号 block_hash区块哈希 GET /api/v0/pool_history查池的历史数据:每个 epoch 的委托量、奖励、费用。
响应:
字段 说明 epoch_noepoch 编号 active_stake该 epoch 活跃质押 pool_fees池收取的费用 pool_rewards池总奖励 delegators委托人数量 delegator_rewards分配给委托人的奖励 epoch_ros该 epoch 的收益率(ROI) POST /api/v0/pool_metadata查池的链上元数据(名称、描述、网站、logo URL 等)。
请求体:
{ "_pool_bech32_ids": ["pool1..."] }响应:
字段 说明 pool_id_bech32池 ID meta_url元数据 URL meta_hash元数据 JSON 的哈希 meta_json解析后的元数据 JSON(如 name、ticker、homepage、description) Epoch & 网络
GET /api/v0/epoch_info查 epoch 信息。可选指定 epoch 编号,不指定则返回当前 epoch。
请求参数:
?epoch_no=500响应:
字段 说明 epoch_noepoch 编号 out_sum该 epoch 交易输出总和(ADA) fees该 epoch 手续费总和 tx_count交易总数 block_count区块总数 start_timeepoch 开始时间 end_timeepoch 结束时间 active_stake全网活跃质押量 GET /api/v0/tip查链的当前尖端——最新区块号、哈希和 slot。
响应:
字段 说明 block_no最新区块高度 block_hash最新区块哈希 slot_no当前 slot 编号 epoch_no当前 epoch 编号 脚本(Script)
POST /api/v0/datum_info查询 datum 信息。对 Plutus 智能合约开发者有用。
请求体:
{ "_datum_hashes": ["hash1..."] }从 Blockfrost 迁移:逐端点的具体对照
curl 示例对照
查询地址详情
Blockfrost(GET + API Key):
curl -H "project_id: mainnetXXX" \ "https://cardano-mainnet.blockfrost.io/api/v0/addresses/addr1qx..."Koios(POST,无需认证):
curl -X POST "https://api.koios.rest/api/v0/address_info" \ -H "Content-Type: application/json" \ -d '{"_addresses": ["addr1qx..."]}'查询地址 UTxO
Blockfrost:
curl -H "project_id: mainnetXXX" \ "https://cardano-mainnet.blockfrost.io/api/v0/addresses/addr1qx.../utxos"Koios:
curl -X GET "https://api.koios.rest/api/v0/account_utxos?stake_address=stake1u9..."查询资产/NFT 信息
Blockfrost:
curl -H "project_id: mainnetXXX" \ "https://cardano-mainnet.blockfrost.io/api/v0/assets/policy_id_hexasset_name_hex"Koios(批量查):
curl -X POST "https://api.koios.rest/api/v0/asset_info" \ -H "Content-Type: application/json" \ -d '{"_asset_list": ["policy_id_hex.asset_name_hex"]}'查询池详情
Blockfrost:
curl -H "project_id: mainnetXXX" \ "https://cardano-mainnet.blockfrost.io/api/v0/pools/pool1..."Koios:
curl -X POST "https://api.koios.rest/api/v0/pool_info" \ -H "Content-Type: application/json" \ -d '{"_pool_bech32_ids": ["pool1..."]}'查询池委托人
Blockfrost:
curl -H "project_id: mainnetXXX" \ "https://cardano-mainnet.blockfrost.io/api/v0/pools/pool1.../delegators"Koios:
curl -X GET "https://api.koios.rest/api/v0/pool_delegators?pool_bech32=pool1..."关键迁移注意事项
- 认证从 header 改为无 — 移除所有
project_idheader - 路径模式变化 — Blockfrost 用路径参数(
/pools/{pool_id}),Koios 用 POST body({_pool_bech32_ids: [...]})或 query 参数 - 批量查询利用 — Blockfrost 逐条查的地方,Koios 可以合并为一次 POST 批量查,大幅减少请求次数
- 返回字段名不同 — 例如 Blockfrost 的
amount在 Koios 中可能是total_balance,需要对照 API 文档逐个映射 - 分页方式 — Blockfrost 使用 cursor 分页(page/page_total),Koios 使用标准 limit/offset 分页
- 速率控制 — 公共层 100 请求/10 秒,如果现有代码在 Blockfrost 上用量较高,迁移后需要调整请求间隔
费率层级详解
层级 费用 日配额 速率限制 超时限制 CORS Public 免费 5,000 次/天 100 次/10 秒 30 秒 受限 Free 免费(需注册) 50,000 次/天 100 次/10 秒 30 秒 开放 Pro ~$29.99/月 500,000 次/天 250 次/10 秒 60 秒 开放 Premium ~$74.99/月 1,200,000 次/天 500 次/10 秒 120 秒 开放 Custom 定制 不限 可协商 可协商 开放 对 SPO 而言:
- 个人查询和监控脚本:Public 层(5,000 次/天)绰绰有余
- 池网站/工具产品化:注册 Free 层(50,000 次/天),0 成本
- 高流量商业应用:Pro 或 Premium 层
注:API token 在主网和测试网之间分开计数,但 Preview 和 Preprod 共享额度。
SPO 工具生态
前面提到 Koios 的核心维护者就是 Guild Operators 社区。这个社区不只是做 API,Cardano SPO 日常运营的核心工具全部来自他们。
CNTools
功能覆盖:
类别 具体命令 说明 钱包管理 new-wallet/wallet-list创建/列出 HD 钱包 地址管理 gen-payment-addr/gen-stake-addr生成支付/质押地址 转账 send/send-to-enterpriseADA 和原生资产转账 委托 stake-delegation/delegate委托/取消委托 池管理 register-pool/update-pool/retire-pool完整池生命周期 奖励 rewards/withdraw查看和提取奖励 Key 管理 gen-vrf-key/gen-kes-key/gen-op-cert节点密钥轮换 多签 build-multisig-tx/sign-multisig-tx多签交易构造 CNTools 底层已经集成了 Koios 查询层。如果你之前用的是 CNTools,你已经在间接使用 Koios。
gLiveView
运行方式:
# 启动交互界面 ./gLiveView.sh # 一次输出 ./gLiveView.sh -o实时显示数据面板:
┌─────────────────────────────────────────────────────────┐ │ Cardano Node Live View - Mainnet │ ├─────────────────────────────────────────────────────────┤ │ Synced : 99.98% Tip : 11234567 │ │ Block : 11234567 Slot : 98765432 │ │ Epoch : 512 SlotInEpoch : 345678 │ │ Forks : 0 Seconds : 0.3s │ │ Mem (RSS) : 2.4GB Peers (In/Out) : 3/8 │ │ Disk : 98.3GB Uptime : 47d 12h │ │ Version : 10.1.3 Protocol : Conway │ └─────────────────────────────────────────────────────────┘其他 Guild Operators 工具
工具 用途 sLiveView 质押池实时性能仪表板(类似 gLiveView 但侧重池指标) Topology Updater 自动更新 P2P 拓扑文件 Log Monitor 节点日志实时监控和警报 EKG Exporter Prometheus 指标导出 所有这些工具都不依赖 Blockfrost。它们通过 cardano-node 的本地 Unix socket 或 Koios API 获取数据。
自建实例:分步指南
如果你决定跑自己的实例,有两种部署方式:
方式一:Guild Operators 一键脚本(推荐)
# 1. 安装 guild-operators 脚本库 git clone https://github.com/cardano-community/guild-operators.git cd guild-operators ./prereqs.sh # 2. 运行 gRest 部署脚本 ./setup-grest.sh -f -i prmcd -q -b main参数说明:
-f:完整安装(所有组件)-i prmcd:安装模式(PostgreSQL + PostgREST + HAProxy + 监控 + 自定义端点)-q:静默安装-b main:分支名
脚本会自动:
- 安装和配置 PostgreSQL 14+
- 部署 PostgREST
- 配置 HAProxy
- 创建 Koios schema 和 RPC 函数
- 设置 systemd 服务
- 安装 Prometheus 指标导出器
方式二:Docker 部署
# PostgreSQL docker run -d --name koios-postgres \ -e POSTGRES_PASSWORD=secret \ -v koios-pg-data:/var/lib/postgresql/data \ postgres:14 # cardano-node + db-sync(通过 docker-compose 管理) # 参考 https://github.com/input-output-hk/cardano-db-sync # PostgREST(连接已有 PG) docker run -d --name koios-postgrest \ -e PGRST_DB_URI=postgres://user:pass@host:5432/cexplorer \ -e PGRST_DB_SCHEMA=grekoios \ -e PGRST_DB_ANON_ROLE=grekoios_anon \ -p 8050:3000 \ postgrest/postgrest硬件建议
规模 CPU RAM 磁盘(SSD) 日均并发 私人使用 4 核 16 GB 700 GB < 10 小团队 8 核 32 GB 1 TB < 100 公共节点 16 核 64 GB 2 TB 1000+ 加入公共集群
自建实例后,如果你愿意分享资源给社区:
- 在 koios-artifacts/topology 提交 PR,提供你的节点连接信息
- 向监控实例开放 Prometheus Exporter 端口(8059)、HAProxy 端口(8053)和 Submit API 端口(8090)
- 跟进版本发布(通常周六 UTC 8:00,有变更日志预告)
- HAProxy 的健康检查会自动检测你的节点状态,通过后流量开始分发到你的实例
社区与治理
组织结构
Koios 由 Koios DAO 治理,不隶属于任何公司。治理结构:
- 核心开发者:Guild Operators 的核心成员,负责代码审查、版本发布、架构决策
- 实例提供者:运行 Koios 节点并加入公共集群的 SPO 和机构
- DAO 参与者:持有治理 token 的社区成员(通过委托投票影响决策)
核心开发者来源于 Cardano 社区中最资深的贡献者——他们运营着自己的质押池,日常使用自己写的工具,有切身利益确保代码质量。
透明度
- 所有代码:GitHub 公开
- 开发进度:GitHub Project Board
- 实例状态:公共 Grafana 仪表板(显示每个节点的同步状态、延迟、健康度)
- 会议记录:双周公开会议(每月第 2 和第 4 个周四),讨论内容发布在 Telegram
如何参与
参与方式 门槛 使用 API 零门槛 提交 GitHub Issue 零门槛 贡献 SQL 查询 熟悉 PostgreSQL 运行实例 有硬件资源 加入公共集群 有稳定节点 参与治理 关注双周会议 沟通渠道
渠道 用途 链接 Telegram 讨论 日常技术交流 t.me/CardanoKoios Telegram 公告 版本发布/维护通知 公告频道 Discord 深度技术讨论 discord.gg/zSrC9WZbNN GitHub 代码/Issue/PR cardano-community/koios-artifacts X (Twitter) 一般动态 @CardanoKoios Bluesky 一般动态 koios.rest 总结:你现在应该做什么
优先级检查清单
时间 事项 说明 今天 检查你的工具是否依赖 Blockfrost grep 代码中的 blockfrost.io今天 注册 Koios Free 层 获得 50,000 次/天的配额 本周 逐个替换 API 端点 对照本文的迁移对照表 本周 验证所有替代端点数据一致 用你现在用的数据做交叉对比 这月 如果 Latency 敏感,自建 Koios 实例 用 Guild Operators 一键脚本 2026 Q4 关注提案结果 决定是否需要加速迁移 最终一张表
Blockfrost Koios 关停风险 2026 年底 IOG 退出 不存在 谁控制 IOG(一家公司) 社区 DAO 谁维护 公司员工 你的同行 SPO 认证方式 API Key 公开免费 费用 超过免费层后付费 公共/Free 免费,Pro 可选 开源性 后端开源,核心闭源 完全开源 MIT 迁移难度 — 几个端点的变更 开始迁移:koios.rest | API 文档:api.koios.rest | GitHub:cardano-community/koios-artifacts
-
- 抱歉,回覆主題必需先登入。