跳到主要内容

0.25.7-beta

请在 GitHub 上使用问题报告器报告 Bug:

https://github.com/flokiorg/go-flokicoin/issues

这是 Flokicoin Core 的一个次要 Beta 版本,引入了新的每区块难度重新调整算法(Digishield 风格)、AuxPoW 区块头和共识支持、测试网功能更新、RPC 修复以及构建/测试改进。此版本通过链参数预定了 Digishield 和 AuxPoW 的 主网激活 (MAINNET ACTIVATION)。所有主网节点必须在下述激活高度之前完成升级,以避免链分叉。

显著变更

  • 共识:Digishield 难度重新调整

    • 引入了朝向目标间隔且振幅除数为 8 的每区块指数移动平均重新调整。
    • 在每一步应用有界阻尼(最小 0.75 倍,最大 1.5 倍目标间隔影响)以降低波动性。
    • 在链参数启用时,支持对延迟区块应用最低难度。
    • 集成到验证和挖矿流程中(next-required-bits, block template target),并扩展了单元和全区块测试。
  • P2P/线缆协议:AuxPoW 区块头支持

    • 添加了 AuxPoW 结构(coinbase、默克尔分支、父区块头)和序列化辅助程序。
    • 扩展了 BlockHeader,添加了 AuxPoW 标志和 ChainID 工具类,以及可选的 AuxPoW 负载编码/解码。
    • 更新了 MsgBlock 解码,以解析存在的 AuxPoW 负载;添加了对读/写路径的覆盖。
    • 共识: AuxPoW 将于下述高度在主网激活。
  • 测试网/regtest 更新

    • 在配置允许的情况下,在测试网启用 SegWit 和 Taproot 功能。
    • 调整了 MinHighPriority 并增加了 RPC 金额验证中使用的 MaxLoki 边界。
  • RPC 修复与改进

    • 将报告的 P2P 协议版本与 wire.ProtocolVersion 对齐,并根据实时服务器状态填充 getinfo 字段(子版本、本地服务、进/出连接、本地地址)。
  • 工具与测试

    • 添加了 make testexport 目标和确定性测试数据导出程序。
    • 统一了区块数据集加载器,增加强制性网络魔法值 (network-magic) 验证;重构了调用点。
    • 添加了在精选数据集上的端到端难度验证,并输出了稳态调整指标。
  • 构建与配置

    • 移除了本地对 flokicoin-neutrinoreplace 覆盖,以避免仅限开发者的路径。
    • 在配置加载期间打印带有语义化版本的启动横幅;重构了 ASCII 艺术常量。

兼容性

  • 主网将在固定高度(见下文)激活 Digishield 和 AuxPoW。这些是共识更改,在激活时构成硬分叉。所有矿工、验证者和服务商必须在这些高度之前升级。
  • AuxPoW 线缆协议支持在激活高度之前对非 AuxPoW 区块头保持向后兼容。
  • 未引入数据库格式更改。

激活计划 (主网)

  • Digishield 难度重新调整: 在高度 115,000 处激活(chaincfg/params.go 中的 DigishieldActivationHeight)。
  • AuxPoW 共识: 在高度 115,840 处激活(chaincfg/params.go 中的 AuxpowHeightEffective)。

这些激活在 repos/flokiorg/go-flokicoin/chaincfg/params.goMainNetParams 中进行了参数化。

升级说明

  • 主网节点操作员: 请在高度 115,000 (Digishield) 和 115,840 (AuxPoW) 之前升级至 0.25.7-beta,以保持在正规链上。
  • 测试网/regtest 操作员: 应当升级以参与更新的难度和功能策略。
  • 应用开发者: 应当重新引用 (re-vendor)/更新以获取与 AuxPoW 相关的 RPC 架构修复和协议扩展。

RPC 变更

  • getinfo 现在报告准确的 subversion (子版本)、localservices (本地服务)、localservicesnames (本地服务名称)、connections_in (入站连接)、connections_out (出站连接) 和 localaddresses (本地地址)。
  • 报告的最大协议版本与 wire.ProtocolVersion (70016) 对齐。

构建系统与工具

  • 新增 make testexport 目标,用于为确定性测试导出区块数据集。
  • 移除了 flokicoin-neutrino 的本地 replace,以在构建中生成干净的模块图。

测试与 QA

  • 统一的区块加载器强制执行网络魔法值并使用缓冲的全长度读取。
  • 添加了带有指标输出的端到端难度验证,用于稳态分析。
  • 精选的小型测试数据集提高了确定性并缩短了 CI 时间。

v0.25.6-beta 以来的变更日志

  • b4f439e consensus: add Digishield difficulty retarget
  • dec0948 wire: integrate AuxPoW header support
  • 31eff16 chore: repo updates for rpc/db, tests, fixtures
  • e2ac6e7 tests: validate difficulty dataset and expose tuning metrics
  • 735410f tests: unify block loader to enforce network magic; refactor call sites
  • 0e5dcd3 make: add testexport target for exporting block datasets
  • 651a453 rpc: report correct p2p protocol and fill getinfo fields
  • bea6a7a build: drop local replace for flokicoin-neutrino
  • 2e92497 config: print startup banner with version; refactor art constants
  • b24e870 wire: remove stale TODO comment in protocol.go
  • 60460f8 enable segiwit/taproot for testnet
  • f9bf3ae increase maxloki const
  • 712355d update MinHighPriority const
  • fa96bbd bump version 0.25.7-dev
  • 4523b79 version: bump to 0.25.7-beta

致谢

感谢所有直接为该版本做出贡献的人员:

  • naliyi
  • izimmerma
  • mechion
  • repins
  • nanovex
  • liarpo11
  • arowqo
  • thiniboy

资源文件 (Assets)

操作系统/架构资源链接
macOS (Apple Silicon)https://github.com/flokiorg/go-flokicoin/releases/download/v0.25.7-beta/flokicoind-darwin-arm64-v0.25.7-beta.tar.gz
macOS (Intel)https://github.com/flokiorg/go-flokicoin/releases/download/v0.25.7-beta/flokicoind-darwin-amd64-v0.25.7-beta.tar.gz
Linux x86_64https://github.com/flokiorg/go-flokicoin/releases/download/v0.25.7-beta/flokicoind-linux-amd64-v0.25.7-beta.tar.gz
Linux arm64https://github.com/flokiorg/go-flokicoin/releases/download/v0.25.7-beta/flokicoind-linux-arm64-v0.25.7-beta.tar.gz
Windows x86_64https://github.com/flokiorg/go-flokicoin/releases/download/v0.25.7-beta/flokicoind-windows-amd64-v0.25.7-beta.zip