
这是继半年前 StoneText 之后的又一次 Web3 实验。 这次不仅仅是刻字,而是构建了一个极度极简的去中心化论坛 Chain Talk。
Chain Talk 没有任何传统后端,也没有数据库。 所有的帖子内容、回复关系,全部存储在 Arbitrum One 链上。
这意味着:
delete 接口。只要交易打包上链,这行字就永远刻在那里,神仙也删不掉(我也删不掉)。我们在这个“404 时代”失去了太多东西。 我想看看,用不到 500 行的核心代码,能不能构建一个“永不塌陷”的避难所。
关于大家可能关心的 Spam/广告问题: 这确实是去中心化社交最大的挑战。目前的防线只有 Gas 费。前端我会做一些基础的过滤(比如折叠明显的垃圾号),但链上数据是无法抹除的。这本身也是实验的一部分:在一个绝对自由且低成本的广场上,内容质量会如何演化?
Demo: https://chain-talk.netlify.app/
Source Code: https://github.com/picasso250/chain-talk
Contract: 0xb9A8...6380
P.S. 目前合约保留了 Admin 升级权限以修复 Bug (毕竟钱还是要在意的),稳定后会销毁 Key 。欢迎来挖坟,或者留下你的第一条“永恒”记录。
1 iamdaniel 3 天前 进入 demo 网站看不到贴子啊,在 arbiscan 上能看到有两条记录。 |
2 n18255447846 3 天前 有意思的 web3 实验。好奇一下会实现本人编辑和删除功能吗,需不需要再花一笔 gas 编辑或删除自己的帖子 |
3 freekindom OP @iamdaniel 感谢反馈!这应该是由于我目前使用的是公共 RPC 节点( https://arb1.arbitrum.io/rpc),在某些地区或网络环境下连接不稳定导致的读取失败(或者是被限流了)。我本地的 pc 和手机是正常的。请问你的浏览器、操作系统,如果能提供 F12 报错就更好了。 |
4 freekindom OP @n18255447846 关于删除: 正如标题所说,一旦上链,神仙也删不掉,包括我自己。这是为了保证内容绝对的‘永存’。可以做软删除。但也要消耗 gas 费。 关于编辑: 技术上可以实现(通过发新交易指向旧帖子进行覆盖显示),但目前 V1 版本为了极简还没做。如果要加,确实需要消耗 Gas ,因为每一次状态改变都是一次链上交易。 |
5 FlashEcho 3 天前 确实在 demo 网站上看不到内容,console 里也没有报错或者别的输出,network 里没看到 fetch 请求 |
6 kran 3 天前 via iPhone 挺好,getlogs 这样调不知道会不会触发限制,取评论也可以走批量查询,真正运营可能需要后端缓存+链上存储 |
7 doraemonki 3 天前 还是不太理想。 - UUPS 意味着合约可以被管理员篡改升级,一点也不去中心化 - blob 数据大约 18 天 之后就被修剪了,不可能永久存储 其实不需要永久存储,我个人觉得比较理想的状态是不被篡改是可验证的,然后访问数据还是中心服务器体验会很好,如果重要的数据可以选择自己存。或者论坛真的做大了,你不存别人也会帮你存一份,你被打击了,换一个数据供应商可以立马复活。所以重点是不被篡改。 |
8 NewYear 2 天前 钓鱼要打窝的,你说“路人无需钱包、无需登录即可围观所有内容” 好吧我是路人,实际上啥资料也看不到。 能不能你自己先花点钱,搞一些“帖子”,让我们看看整体效果啊,空荡荡的,啥也看不出来。 你自己都不做引导,用户真的是盲人一样搞不清。 你问问 ai 是不是这个理 |
9 zhcnxyz 2 天前 关注 |
10 NomadsWiki 2 天前 神仙也删不掉,打广告的怎么办? |
11 andrew2558 2 天前 这个有个最大的问题,就是广告,键政等信息怎么处理? |
12 hymxm 2 天前 如果有人键政 有关部门会不会顺着楼主的微信公众号二维码找到楼主.... |
13 freekindom OP @FlashEcho 终于复现了!如果浏览器没有安装 metamask ,但安装了 phantom ,就会出现这样的情况。让我想想修复办法。感谢反馈。 |
14 sillydaddy 2 天前 我理解的上链导致的 spam 问题很好解决啊,上链是没错,但是总得有一个客户端来整合这些信息啊。那防 spam 就是客户端做的事。 举例来说,假如某天 Livid 将 v 站所有的数据都上链了,包括他删除的那些 spam 帖子,也包括那些平时上不了首页的水帖,现在的问题是,这些东西都在链上,又如何呢?无论是谁,都可以从链上拿到数据(区块链可以设置读取需要成本),这个人如果想要构造一个 v 站的客户端,那他就要考虑是不是把 spam 屏蔽掉!不屏蔽就会流失用户。多个人开发的客户端,可能各有侧重,虽然它们都是基于同一套底层的链上数据。 是我把问题想简单了吗? |
15 freekindom OP @FlashEcho 再次感谢你的提示。现在已经修复,请看 append 内容。( Phantom 钱包的兼容性问题。Phantom 钱包对 RPC 查询有 1 万区块的限制,导致历史数据拉取失败。) |
16 freekindom OP @kran 是的,已经更新机制:用 GitHub Actions 每半小时拉取一次链上数据生成缓存,前端优先读缓存。这样无论用户用什么钱包(或者不用钱包)都能看到完整内容,钱包用户还能同时看到最新的实时数据。 |
17 freekindom OP @NewYear 你说得太对了!"钓鱼要打窝"这个比喻非常精准。 **实际上现在已经有 3 个帖子了**: 1. 我自己发的创世贴 2. 朋友的测试帖子 3. 一个陌生人发的广告(哈哈,真实世界的 Spam 来得真快) 之前很多人反馈"看不到帖子",我们发现是 Phantom 钱包的兼容性问题,已经修复。 既然你作为路人用户关心这个产品,能不能请你再访问一次 demo 网站 https://chain-talk.netlify.app/ ? 如果你能看到帖子,说明我们的修复成功了!这种情况下我会再发个帖子聊聊这次技术修复的过程,也算是给产品留个纪念。 如果你还是看不到,那正好,你的浏览器和钱包情况能帮我们发现新的兼容性问题,这种反馈对我们特别重要。 你对这种刚起步的产品特别宝贵。很多人看不到效果就走了,像你这样愿意说出来的反而能帮我们真正解决问题。 无论测试结果如何,都谢谢你的反馈! |
18 iamdaniel 2 天前 @freekindom 今天可以看到有 3 个贴子了。 |
19 bolasblack 2 天前 挺好的,但就像 @doraemonki 说的那样,blob 感觉还不够永久,要不要考虑存到 arweave 上去? |
20 nicoljiang PRO 能否介绍一下思路:什么样的低价值内容值得永久保留(真正的高价值内容自有各种人、机构、企业拷贝留存)? |
21 freekindom OP @doraemonki > UUPS 意味着合约可以被管理员篡改升级,一点也不去中心化 其实也有不可升级的合约: https://github.com/picasso250/StoneText 欢迎查看项目(发布到 Arbitrum 正式网之后还没推广) > blob 数据大约 18 天 之后就被修剪了,不可能永久存储 你说的很对,Arbitrum 现在确实使用 Blob 将数据发布到 L1 ,而 L1 上的 Blob 确实会在 18 天后被修剪。你非常专业。” 但是,Blob 被修剪代表数据消失。 数据的‘永久性’是由 Arbitrum 网络本身 保证的。Arbitrum 的几千个节点、浏览器( Arbiscan )、以及索引服务( The Graph )都会永久保存这些 Log 。只要 Arbitrum 网络不灭亡,文字就永远存在。 不过,我在思考这个问题时,突然想起:‘理想的状态是不被篡改是可验证的……重点是不被篡改,数据存储可以更多样化。 其实,现在的 Arbitrum (L2) + Ethereum Blob 架构,恰恰就是您这个理想理念的完美工程实现。 虽然 Blob 的原始文本会被 L1 修剪,但它的 哈希承诺( KZG Commitment ,即数据的数字指纹) 是永久刻在以太坊主网区块里的。 |
22 freekindom OP @zhcnxyz 感谢关注!欢迎去 chain-talk 发帖,有什么想法随时交流! |
23 freekindom OP @NomadsWiki 现在已经有真实案例了链上第三个帖子就是广告。这恰恰给了我们一个独特机会:观察当发言权完全平等时,社区会自发形成什么样的秩序?前端会做基础过滤,但更重要的是,这个实验本身就在探索:没有"删除键"的世界,内容价值会如何重新定义? |