Spark Program | Fiber RGB++ Swap

Based on the agreed $500 budget and the current CKB price of $0.00082, the grant amount is 609,757 CKB. Please reply to this thread with your CKB payout address, email address, and Discord handle to facilitate grant distribution and team communications. We also invite you to participate in our upcoming Ecosystem Monthly Call to share progress.

1 Like

Email: [email protected]

Discord:carlcn6

Wallet address: ckb1qyqww4pllswty5l0e5676hyjs725qzga28zs0t3krk

Hi @Carl,

All noted.

The first installment ( 121,952 CKB, 20% ) has been disbursed:

Please confirm once received.

We looking forward to your first progress update.

Best,
xingtian,
On behalf of the Spark Program Committee

CC: @zz_tovarishch @Hanssen @yixiu.ckbfans.bit

3 Likes

Hi @Carl,

We have noticed that the first progress update for Fiber RGB++ Swap has not yet been posted, so we are reaching out to check on the latest developments.

First, I hope you and your team are doing well. Please take good care of your health and maintain a balance between work and rest.

From the project’s perspective, we are eager to understand the current progress—whether it is advancing smoothly, encountering any obstacles, or what the overall status is. Even a brief update can help the committee and the community stay informed and provide support when needed.

Please share the latest status at your earliest convenience. If there are any difficulties affecting progress, please do not hesitate to let us know—the committee is willing to provide every assistance.

We look forward to your reply.

Best,
xingtian

1 Like

Hi all, quick update on Fiber RGB++ Swap, W1–W3 are done.

Week 1 was setup and design. Got a local fork of fiber running, stood up two testnet nodes on my machine (one on 8828/8327 and one on 8829/8328), and finalized the SwapAdvertisement message, basically a signed note from a hub saying “I’ll swap this pair at this rate/fee, valid until this time”.

Week 2 was wiring that message into Fiber’s gossip. It’s now a proper broadcast message alongside NodeAnnouncement/ChannelAnnouncement, with signing/verification and expiry handling. The store and graph both know how to handle it.

Week 3 was the discovery part. Hubs can now publish an ad (signed with their node key), and anyone can list active ads or ask for the best rate for a pair. That’s exposed both as RPC and as fnn-cli swap_ad commands.

Tested live with two nodes:

I published an ad on node A (rate 10B), listed on A — saw 1. Connected A to B, listed on B after a few seconds — saw the same 1. Published a second ad on A with a higher rate (20B), listed on A — saw 2, and after about 20 seconds B also saw 2. get_best on both correctly returned the higher one. Same results via curl and via fnn-cli.

It’s all on my fork and the docs repo:

- Code: GitHub - oxdev6/fiber: Fiber fork with SwapAdvertisement for RGB++ (feat/swap-advertisement) · GitHub

- Docs + smoke logs: GitHub - oxdev6/fiber-rgbpp-swap: Fiber RGB++ Swap · GitHub

Next: Week 4 is clean up the hub setup docs, record a short demo video, and post the write-up here.

Happy to fix anything you spot in review. Thanks!

2 Likes

Hi @Carl ,

Great to see the project making progress! Hope you keep up the momentum~~~

Best,
xingtian

1 Like

Hi @Carl ,I hope your work is progressing smoothly in Week 4. If your progress has slowed down, you can share some of your work results to help the community and committee understand your progress.

Of course, you can also share the challenges you encountered along the way, as well as your experiences facing setbacks and learning to overcome them. Failure is the mother of success, and these experiences of setbacks are equally important to the community.

Best,
xingtian

1 Like

Hi all, Week 4 done, and with it the full scope. Closing update on Fiber RGB++ Swap.

What Week 4 was: testing, demo, docs.

Testing. Ran the complete two-node flow on local testnet nodes: hub publishes a signed ad, listener discovers it over gossip sync, best-rate picks the max, both books converge. Also verified expiry pruning (day-old ads correctly disappear from listings) and the CLI (fnn-cli swap_ad …) returning identical results to the API. One real bug found and fixed along the way: publishes originally only saved locally and waited on the peer’s next scheduled poll now publish also pushes straight into the gossip actor, so ads arrive within seconds, no manual re-sync. Details and curl logs are in the repo.

Demo. Recorded the whole thing on the market board UI I built for this (single HTML file, no build step) publish on the left, watch it appear on the right, best-rate flip when a better offer lands:

Docs. Everything needed to run your own advertising node is in the repos: node configs, one-command run/stop scripts (scripts/run.sh --fresh), the API/CLI reference, and a testing guide including the quirks I hit (slow first boot on testnet init, publish responses lagging on loaded machines while the write still lands). The swap-ad message schema and gossip integration points are documented for anyone extending this to a third asset pair.

Repos:

Where this lands against the proposal: W1 design + schema, W2 gossip type and signing/verification, W3 discovery index with RPC/CLI, W4 testing plus demo plus docs, all four delivered. The leap and the generalized swap execution stay exactly where the revised scope put them: follow-on work, with the design notes from my CCH deep-dive ready to become that proposal.

Thanks to everyone who commented along the way. Happy to address any review points.

1 Like

Spark Program: Termination of Funding for the Fiber RGB++ Swap Project

Project Basic Information

  • Project Name: Fiber RGB++ Swap
  • Developer/Team: Carl (solo developer)
  • Project Description: A module built on Fiber Network’s Cross-Chain Hub (CCH) code, aiming to provide an atomic path to convert RGB++ assets locked on Bitcoin into standard CKB assets and swap them through a Fiber Network channel.
  • Budget: 1,000 USD
  • Related Links: Spark Program | Cell Sandbox — A Visual Playground for the CKB Cell Model (placeholder — please confirm)

Termination Decision and Reasons

经过委员会慎重评估,我们遗憾地宣布,对 Fiber RGB++ Swap 项目的资助已正式终止。

申请人在项目执行期间提交了中期资助申请,声称已完成报价网络(Quote Network)部分的工作内容。委员会依据提案基线,对申请人自述已完成的交付物进行了审核,发现即便仅围绕其声称完成的内容评估,交付质量仍未达到提案承诺的基本标准,且存在以下根本性问题:

核心问题

  1. 范围严重偏离提案基线:根据提案锁定版,该项目至少应完成 Swap 部分的核心功能。然而当前交付物仅包含一个报价网络 —— 这仅仅是交易流程的前置环节,而非提案承诺的可执行原子交换路径。报价网络本身不具备实际交换能力,与"conversion and swap composed so that they succeed or fail together, never leaving funds stranded mid-way"的核心目标相去甚远。

  2. 无测试网验证,交付物不具实际可用性:当前交付物甚至没有在测试网进行任何验证,仅用写死的数据进行模拟。这种做法无法证明协议逻辑在真实网络条件下的正确性与可靠性,模拟演示不构成可验收的技术交付。委员会一贯坚持"基础不可用即视为未交付"的验收原则。

  3. 与 Fiber 现有生态无法整合:当前交付物完全不可能合并到 Fiber 现有的生态中去。Fiber Network(主网 v0.9.0)的 CCH 模块是经过严格审核的生产级代码,而当前交付物在架构设计、数据结构和接口规范上均未展现出与 Fiber 代码库兼容的整合路径。声称"基于 Fiber"但与 Fiber 生态实际脱节,是委员会高度关注的红旗信号。

具体情况梳理

结项交付物审核阶段

申请人提交结项交付物后,委员会对已提交内容进行了审核,发现以下主要问题:

  • 交付范围不足:当前交付物仅有报价网络,Swap 核心功能完全缺失;
  • 验证方式不充分:使用写死数据模拟,无测试网部署与验证;
  • 生态整合性存疑:交付物与 Fiber 现有代码库和生态体系无法对接。

后续安排

  • 资金处理:已发放的资金不再追回;尚未发放的资金停止拨付。
  • 项目资产:代码仓库归开发者所有,委员会不保留任何资产要求。

结语

委员会感谢 Carl 在项目中投入的时间和努力,也认可其对 Fiber CCH 现状的分析具有一定的观察深度。终止资助是一个经过慎重考虑的困难决定,我们的目标始终是确保每一笔社区资金都能产生应有的价值。

Spark 的资金是为了支持开发者实现可用的 MVP,而非购买已完成工时的报酬。建议在现有基础上继续打磨技术功底,待功能完备、验证充分后欢迎再次提案,也欢迎以其他方式继续参与 CKB 生态建设。

Best,
xingtian
On behalf of the Spark Program Committee