CKB DAO Live Widget, a Discourse Theme Component that surfaces real-time CKB Community Fund DAO v1.1 proposal status directly inside forum discussion threads.
Team Profile & Contact
David Len Background: Full stack developer, blockchain developer with Discourse Theme Components and REST/RPC integrations experience. Profile: https://in.linkedin.com/in/lesinwa-david-120580a3
Arkshine Background: Discourse Theme Component specialist based in France with an extensive public portfolio of 260+ repositories, the majority focused on Discourse plugin and component development. Profile: Arkshine (Arkshine) · GitHub
The Problem
With the launch of CKB Community Fund DAO v1.1 on mainnet, the community now has a live, on chain governance system. But participation still requires switching between two separate places: Nervos Talk where proposals are discussed under the [DIS] and [VOT] tags, and dao.ckb.community where the actual vote is cast and results are tracked.
This context switch is friction. A community member reading a [VOT] thread has no way to see, without leaving the page, whether the vote is active, how many CKB have been committed, or how many hours remain. Deadlines are missed. Quorum goes unmet. Participation suffers.
The Solution
A lightweight Discourse Theme Component that reads live data from the CKB DAO v1.1 public API (or on chain RPC) and renders a compact status card directly inside any [VOT] forum post.
The widget shows:
Field
Example
Proposal status
Active /
Passed /
Failed
Countdown timer
Ends in 14h 32m
Vote totals
For: 142M CKB · Against: 31M CKB
Quorum progress
████░░░░ 67% of threshold met
Direct action link
No wallets are touched by the widget. No backend is deployed. It is display only, read only, and lives entirely in the Discourse theme layer.
Technical Approach
Data source: The CKB DAO v1.1 system exposes proposal state on chain. The widget will query either the dao.ckb.community public REST API (if available), or directly via CKB RPC (get_cells, get_transaction) against the DAO v1.1 contract’s cell structure, which is documented in the public repository. The exact data source will be confirmed in the first week of the project via a brief technical discovery spike, and documented openly on GitHub before any further development.
Linking mechanism: The widget auto activates on posts tagged [VOT] by reading a metadata field (e.g., a proposal ID in the post’s first line or a dedicated custom field) to look up the correct on chain proposal. No manual editor configuration needed after initial setup.
Stack:
-
Discourse Theme Component (HTML + Handlebars + SCSS + vanilla JS)
-
Fetch calls to CKB RPC or DAO REST endpoint (client side only)
-
Responsive layout; tested on Chrome/Firefox desktop and iOS/Android mobile
-
Open source: MIT License. All code published to GitHub under [your handle]/ckb dao discourse widget.
Deliverables
Working Theme Component, installable in Nervos Talk admin panel with one click
GitHub repository, full source, MIT licensed, with README and install instructions
Mobile test report, screenshots from iOS Safari and Android Chrome confirming responsive layout
Completion report, posted publicly on Nervos Talk, including fund usage breakdown
To Do List
-
[ ] Week 1: Discovery: Map existing API endpoints on ccfdao.dev using browser DevTools; identify exact fields for status, vote counts, deadline, quorum threshold. Document findings publicly on GitHub.
-
[ ] Week 1: Scaffold: Initialize Discourse Theme Component repo; implement basic data fetch and console log output.
-
[ ] Week 2: Core UI: Build status card (badge, countdown, vote bars, CTA button). Style to match Nervos green/dark brand palette.
-
[ ] Week 3: Integration: Implement post linking logic (auto detect proposal ID from [VOT] posts). Test on local Discourse dev instance.
-
[ ] Week 4: Polish & QA: Mobile testing (iOS + Android). Cross browser check. Error states (API down, proposal not found).
-
[ ] Week 4: Delivery: Submit install request to Nervos Talk admin. Publish completion report on Nervos Talk.
| Funding Request — Total: $1,400 USD |
|---|
| Item | Cost | Rationale |
|---|---|---|
| Discovery & API/RPC research (Week 1) | $100 | dasasas |
| Core widget development (Weeks 1–3) | $650 | Theme component scaffold, data fetch layer, status card UI, post linking logic |
| Mobile QA & cross-browser testing (Week 4) | $250 | iOS Safari + Android Chrome, Firefox/Chrome desktop, error state coverage |
| Total | $1,000 |
| Week | Milestone |
|---|---|
| Week 1 | API confirmed, repo live, data fetching works |
| Week 2 | Status card UI complete |
| Week 3 | Post linking logic working on dev Discourse |
| Week 4 | Mobile QA done, completion report submitted |
CKB Ecosystem Relevance
This project directly serves the CKB Community Fund DAO v1.1, the on-chain governance system that was just deployed to mainnet. Increasing visibility of active votes addresses a concrete, known pain point: low voter turnout on time sensitive proposals. Every improvement to governance participation strengthens the decentralization and legitimacy of CKB ecosystem funding decisions. The widget requires no off-chain server, no new token, and no protocol change, just a smarter interface on top of infrastructure that already exists.
Alignment with Web5 Philosophy
The widget embodies the Web5 principle of putting real data in front of real users at the moment they need it, without intermediaries, logins, or additional app installs. It is transparent (open source, client side only), user centric (reduces friction for existing community members), and small but real (a concrete deliverable in under a month, not a roadmap).
We built the governance widgets for Aave (live implementation). Those implementations use Snapshot’s API. CKB DAO v1.1 uses a custom on chain structure, which is why Week 1 is explicitly a discovery sprint to map the existing ccfdao.dev API endpoints via browser DevTools before any UI work begins. The widget architecture is proven; the CKB integration layer is the known unknown we’ve budgeted for.
CKB 社区基金 DAO v1.1 的 Discourse 治理挂件
CKB DAO 实时挂件——一个 Discourse 主题组件,可在论坛讨论帖中直接呈现 CKB 社区基金 DAO v1.1 提案的实时状态。
团队介绍与联系方式
David Len 背景:全栈开发者、区块链开发者,具备 Discourse 主题组件及 REST/RPC 集成经验。个人主页:https://in.linkedin.com/in/lesinwa-david-120580a3
Arkshine 背景:总部位于法国的 Discourse 主题组件专家,拥有丰富的公开作品集,共计 260+ 个代码库,其中大多数专注于 Discourse 插件和组件开发。个人主页: Arkshine (Arkshine) · GitHub
问题与解决方案
问题
随着 CKB 社区基金 DAO v1.1 在主网上线,社区现在拥有了一套实时的链上治理系统。但参与治理仍需在两个独立平台之间来回切换:在 Nervos Talk 上通过 [DIS] 和 [VOT] 标签讨论提案,以及在 dao.ckb.community 上实际投票并追踪结果。
这种上下文切换带来了摩擦。正在阅读 [VOT] 帖子的社区成员,若不离开页面,根本无法知晓投票是否仍然活跃、已有多少 CKB 参与,以及还剩多少小时截止。截止日期因此被错过,法定人数无法满足,参与度随之下降。
解决方案
一个轻量级的 Discourse 主题组件,从 CKB DAO v1.1 公共 API(或链上 RPC)读取实时数据,并直接在任何 [VOT] 论坛帖子中渲染一张紧凑的状态卡片。
该挂件展示以下内容:
| 字段 | 示例 |
|---|---|
| 提案状态 | |
| 倒计时 | |
| 投票统计 | 赞成:1.42亿 CKB · 反对:3100万 CKB |
| 法定人数进度 | ████░░░░ 已达阈值的 67% |
| 直接操作链接 | [→ 前往 www.ccfdao.dev |
投票]
该挂件不涉及任何钱包操作,无需部署后端,仅供展示和读取,完全运行在 Discourse 主题层。
技术方案
数据来源: CKB DAO v1.1 系统在链上公开提案状态。挂件将查询 dao.ckb.community 公共 REST API(如可用),或直接通过 CKB RPC(get_cells、get_transaction)访问 DAO v1.1 合约的 Cell 结构(已在公开代码库中记录)。确切的数据来源将在项目第一周通过简短的技术调研确认,并在后续开发开始前在 GitHub 上公开记录。
关联机制: 挂件通过读取元数据字段(例如帖子首行的提案 ID 或专用自定义字段)自动在 [VOT] 标签的帖子上激活,以查找正确的链上提案,无需初始设置后再进行手动配置。
技术栈:
-
Discourse 主题组件(HTML + Handlebars + SCSS + 原生 JS)
-
调用 CKB RPC 或 DAO REST 端点(仅限客户端)
-
响应式布局,已在 Chrome/Firefox 桌面端及 iOS/Android 移动端测试
开源协议: MIT 许可证,所有代码发布至 GitHub。
交付成果
可工作的主题组件,可在 Nervos Talk 管理面板一键安装
GitHub 仓库,完整源代码,MIT 许可,含 README 及安装说明
移动端测试报告,含 iOS Safari 和 Android Chrome 的响应式布局截图
完成报告,公开发布于 Nervos Talk,包含资金使用明细
任务清单
-
[ ] 第 1 周:探索阶段:通过浏览器 DevTools 映射 ccfdao.dev 上的现有 API 端点;识别状态、投票数、截止时间、法定人数阈值等字段。将发现公开记录于 GitHub。
-
[ ] 第 1 周:搭建 — 初始化 Discourse 主题组件代码库;实现基础数据获取并输出至控制台。
-
[ ] 第 2 周:核心 UI — 构建状态卡片(徽章、倒计时、投票进度条、CTA 按钮),样式采用 Nervos 绿色/深色品牌色调。
-
[ ] 第 3 周:集成 — 实现帖子关联逻辑(自动从 [VOT] 帖子中检测提案 ID),在本地 Discourse 开发实例上测试。
-
[ ] 第 4 周:优化与质量保障 — 移动端测试(iOS + Android),跨浏览器检查,错误状态处理(API 宕机、提案未找到)。
-
[ ] 第 4 周:交付 — 向 Nervos Talk 管理员提交安装请求,在 Nervos Talk 上发布完成报告。
资金申请
资金申请 — 总计:1,000 美元
| 项目 | 费用 | 说明 |
|---|---|---|
| 探索与 API 研究(第 1 周) | 100 美元 | 通过 DevTools 映射 ccfdao.dev 的 API 端点 |
| 核心组件开发(第 1-3 周) | 650 美元 | 核心组件开发:数据获取、界面展示、跳转重定向 |
| 移动端质保与跨浏览器测试(第 4 周) | 250 美元 | iOS Safari + Android Chrome、Firefox/Chrome 桌面端、错误状态覆盖 |
| 合计 | 1,000 美元 |
时间表
| 周次 | 里程碑 |
|---|---|
| 第 1 周 | API 确认,代码库上线,数据获取功能可用 |
| 第 2 周 | 状态卡片 UI 完成 |
| 第 3 周 | 帖子关联逻辑在开发版 Discourse 上正常运行 |
| 第 4 周 | 移动端质量保障完成,完成报告提交 |
预计完成时间: 批准后 4 周内。
与 CKB 生态系统的相关性
本项目直接服务于刚刚部署至主网的链上治理系统——CKB 社区基金 DAO v1.1。提升活跃投票的可见性,针对的是一个具体且已知的痛点:时效性提案的投票率偏低。对治理参与度的每一次改善,都将强化 CKB 生态系统资金决策的去中心化程度与合法性。该挂件无需链下服务器、新代币或协议变更,仅是在现有基础设施之上构建更智能的界面。
与 Web5 理念的契合
该挂件体现了 Web5 的核心理念:在用户需要的时刻,无需中间商、无需登录、无需额外安装应用,将真实数据直接呈现给真实用户。它是透明的(开源、纯客户端)、以用户为中心的(降低现有社区成员的参与门槛),并且务实可交付(不是路线图,而是一个月内可落地的具体成果)。
我们曾为 Aave 构建治理挂件(均已上线),这些实现使用了 Snapshot 的 API。CKB DAO v1.1 采用自定义链上结构,这正是为什么第 1 周明确设为探索冲刺,通过浏览器 DevTools 映射现有的 ccfdao.dev API 端点,然后再开始任何界面开发工作。挂件架构已经过验证,CKB 集成层是我们已预留预算的已知未知项。
