第一个开源链上博客系统 xLog

2022-09-23 11:29:49 +08:00
 DIYgods

Talk is cheap

GitHub: https://github.com/Crossbell-Box/xLog

官方实例: https://xlog.app

使用案例

动机

我的个人博客已经运行了接近 9 年,跟着我慢慢发展,现在几乎已经成为了我的个人发展史,折腾博客也从很久以前就成为了我的一个爱好,但随着对 Hexo 的越来越不满,我决定做一个更现代化的全新的博客系统。

我不想仅仅满足自己的需要,它需要开源和足够开放,来满足更多人的需求。

我不想让我珍贵的数据被中心化平台绑架,又不想麻烦维护一个数据库或服务器,它需要兼顾数据所有权和便利,所以我选择了区块链。

最后,它需要使用较新的技术栈,提供一个更好的开发和维护体验。

功能

区块链,所有博客数据,包括网站配置、文章、关注、评论、点赞等,都由你签名并存储在区块链上,以 NFT 的形式存在,只能由掌管私钥的你自己控制。

Mirror.xyz 的区别:狡猾的一点是,Mirror 是通过他们的官方账号而不是用户自己发起的交易把内容存到了链上。这使得用户需要依赖 Mirror 这个中心化平台才能发布和修改自己的内容,内容在链上的控制权也是属于 Mirror 平台而不是用户自己。

丰富的交互,你可以在区块链上关注你喜欢的博客,评论、点赞文章或把文章铸造为 NFT 。

高度可定制,自定义域名、导航栏、自定义样式等,当然,它们都是存储在区块链上的。

技术实现

xLog 基于另一个开源项目 proselog 开发,使用 Next.js + Tailwind CSS + TypeScript + TanStack Query 构建,有着完善的 SPA 、SSR 、状态管理和优秀的开发体验。

区块链使用的是专用于社交活动的 EVM 兼容区块链 Crossbell,速度更快且无需购买 gas 免费使用。还能与 Crossbell 其他生态项目无缝衔接,比如你就可以在 Crossbell.io feed 上以信息流的形式查看你订阅的所有 xLog 的动态。

每个博客都是一个属于你的 NFT ,它的配置和文章都以符合 Crossbell 规范的格式存储在 NFT 中。创建一个博客就是 mint 一个 NFT ,发布一篇文章或一条评论就是对 NFT 增加一项内容,关注一个博客就是修改你的关注列表 NFT 。

它是完全开源的,如果感兴趣可以直接去 GitHub 看源码。

存在问题

  1. 需要安装一个以太坊钱包才能进行操作,这对没有接触过区块链概念的普通用户可能是一个较大的负担。虽然区块链是一个非常适合的解决方案,但目前区块链在很多普通人眼中已经与割韭菜、炒币画上等号,这更增加了选择区块链作为实现的 xLog 被广泛接受的难度。
  2. 链上操作都是透明和不可撤销的,这导致用户无法真正删除一篇文章,通过区块链历史可以看到文章的修改记录。

未来计划

目前还只是一个最小化可用产品,功能可能还不太丰富,但未来会增加主题系统和插件系统,来提供更丰富的样式和功能选择。

另外还计划在获取收益和博客之间的连接上做更多探索,希望可以让写博客(而不是折腾博客)这件事变得更有趣一些。

原文链接: https://blog.diygod.me/xlog

35023 次点击
所在节点    分享创造
45 条回复
lookStupiToForce
2022-09-23 11:36:33 +08:00
挺好,可以把黑历史持久化(。

突然想到,有没有人基于区块链做一个公共事件记忆库,这样只能 patch 不能 delete ,就算反转再反转也能留个案底🐸
skenan
2022-09-23 11:52:38 +08:00
现在 web3 博客竞争这么激烈 (卷) 的吗...

mirror.xyz / lens.xyz / planetable.xyz / xlog.app

这样下去把 web3 最重要的可组合性丢了..
dianso
2022-09-23 11:54:39 +08:00
能上传图片吗,14T 图片想搞上去
rizon
2022-09-23 11:59:38 +08:00
问个问题啊,这种链的数据谁来存储?靠某个组织还是也是靠各个参与的节点,那如果用的人很少,又怎么保证服务的呢。
Sam99
2022-09-23 12:01:31 +08:00
收藏吃灰
wonderfulcxm
2022-09-23 12:01:44 +08:00
挺符合国情,不会突然被微博 /微信封号,以前写的东西全没了。推荐大 V 使用(狗头
DIYgods
2022-09-23 12:07:28 +08:00
@rizon 靠各个参与的节点,不放心也可以自己跑个节点,Crossbell 官方跑了一批节点会保证服务
sandyzhou
2022-09-23 12:07:49 +08:00
链上永久存储解决方案,可以考虑一下 arweave
https://web3infra.dev
Livid
2022-09-23 12:08:20 +08:00
@skenan 不太一样,Planet 只是把一堆本来需要命令行操作的东西用 GUI 做了简化。
rizon
2022-09-23 12:08:26 +08:00
其实我一直不太明白,除了几个大的区块链。
其他的链条到底是谁在维护他们运转的,如果是某些组织,那不就还是中心化,他想关就关了,想改就改了。

如果是去中心化了,真的有那么多人天天开着机器给你当服务器用?
尤其是像这种博客啊等冷门的,人数又少,靠什么驱动人们给你挖矿呢,而且靠什么保证网速呢。
GeruzoniAnsasu
2022-09-23 12:09:13 +08:00
不懂就问,那更新文章要交 gas fee 吗
YadongZhang
2022-09-23 13:30:45 +08:00
蹭个热度:

最近参加 ETH Online Hackathon 也在做 Mirror 替代品(其实就是个玩具): https://github.com/zhyd1997/DragonLi

博客里提到的问题是普遍的,链上的数据是 immutable 的,所以:
1. 更新一篇文章实际上是创建了一篇新的文章
2. 文章一旦创建是无法删除的

另外,链上的数据也是 public 的,所以文章里不能出现 private 和 sensitive 的信息,一旦发布,任何人都可以根据 CID ( IPFS ) 找到这些信息。

这也是我还没找到存储方案,只能开放网站只读模式的原因。
Mitt
2022-09-23 13:47:47 +08:00
@rizon #10 其实说白了,真正理想的去中心化和 web3 是达不到的,未来一定是由不同的大机构选择构成主要节点,去中心化就是无限提高作恶成本,你让每个节点的控制人联合作恶的成本越高越能达到去中心化的目的

然后就是关链,这个其实只要有一个节点在运行,那这个链就存在,如果这个链都没人在用也没人愿意起节点了,那它的存在也没有意义了,所以与其相信什么永久存储,不如相信那些收益透明、能真正给运行节点的人好处的链(虽然用户需要付出一点代价)

至于网速什么的,其实跟去中心化节点就无关了,就跟现在也要靠 CDN 加速一样,未来中心化 CDN 是不可能消失的,Cloudflare 都早早开始为 web3 加速做准备了,所以这点就没啥好担心的了,而且由于大部分节点设计都有离线惩罚机制,所以其实保证节点间网络正常是节点维护人的职责,跟现在服务器的服务商是一个道理

现在区块链存储的好处是能对数据进行低成本分布式,你自己不靠区块链也能做到,只是成本很高,而且自由归自由,并不代表你发什么都能在各个国家和节点存在,合规性也是这些存储类的链需要挑战的,比方说如果你发的东西在中国违法,那么要么中国的节点选择不同步你的数据留签名,要么节点被国家打击彻底在中国消失
qile1
2022-09-23 14:00:00 +08:00
有没有医疗报告区块链解决方法,现在有些医院想把报告弄到区块链上面解决互认
rizon
2022-09-23 14:15:17 +08:00
@Mitt #13 非常感谢
sujin190
2022-09-23 14:19:50 +08:00
@rizon #10 当然不会有那么多人天天开着机器给你当服务器用,人家开着的原因是有收益,发文章是肯定要付钱的
sujin190
2022-09-23 14:24:57 +08:00
@qile1 #14 https://support.huaweicloud.com/productdesc-bcs/bcs_productdesc_0013.html

华为就干这个啊,联盟链,区块链不是难点,麻烦的是组联盟节点,搞定数据安全要求以及资质,毕竟国内大概率是公立医院吧,所以搞到最后你大概率发现这事难点和区块链什么的关系不大,麻烦的是要有官方机构承认和担保
weakish
2022-09-23 14:38:19 +08:00
@rizon ed2k 太多冷門資源只有很少的人在做種,下載速度很慢,但一直持續了很久,熱門資源下載就很快。這麼多年有太多博客平台倒閉了,只能靠 web archive 找回部分。去中心化的好處,就是只要作者和讀者存在,博客就存在,讀者多的網速就快。互聯網不發達的年代,熱門的書隨便跑一家書店就能買到,冷門的書就要去大圖書館借。
ck65
2022-09-23 14:41:19 +08:00
@GeruzoniAnsasu 属于交易就有 fee ,比如我刚才试了下连创建一个 xlog 博客都不可以,因为钱包里 0 balance 😂
leonshaw
2022-09-23 14:48:43 +08:00
@sujin190 如果存量数据越来越多,新发文章的收益怎么覆盖保存数据的成本?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882349

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX