第一个开源链上博客系统 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

25506 次点击
所在节点    分享创造
45 条回复
meeop
2022-09-23 15:16:39 +08:00
最大的问题是大量垃圾内容的存储,维护成本谁来支付

如果是平台承担,那它就是中心化的,只不过提供了访问数据的 api
如果是每个区块链全节点承担,那么显然博客类系统存储的是低价值数据,区块链模式下存储 n 份更是非常的不划算,而且数据稍微多一点显然任何单机都承受不了,作为用户我也没必要存储全网的博客啊(正常区块链可是想尽办法压缩区块大小的)
要么就不存,区块链只存哈希,数据归根结底由用户自己维护分布式节点比如 ipfs,那这种应用可用性有问题,移动端也基本做不了,下载数据也很慢,而且数据是可删除的
sujin190
2022-09-23 15:33:19 +08:00
@leonshaw #20 btc 、eth 这样的公链区块大小和出块时间大概率是固定的,最终会是谁出价高谁能放到区块里吧,而 ipfs 这样就是存储的,经济模型是挺复杂的,你可以自己去查一查,xLog 用的好像也是 ipfs
mokeyjay
2022-09-23 15:43:57 +08:00
我不懂区块链,单纯提个问题:
如果这玩意儿被坏人滥用了,商业用途、存几百 T 数据或者是儿童色情之类的东西,其成本和后果谁来承担呢?如何处理这种情况呢?
Atlasoin
2022-09-23 16:47:24 +08:00
@rizon
"其他的链条到底是谁在维护他们运转的,如果是某些组织,那不就还是中心化,他想关就关了,想改就改了。"
目前是 Crossbell 官方跑了一批节点,但是

如果是去中心化了,真的有那么多人天天开着机器给你当服务器用?
尤其是像这种博客啊等冷门的,人数又少,靠什么驱动人们给你挖矿呢,而且靠什么保证网速呢。
Atlasoin
2022-09-23 16:52:49 +08:00
@rizon
> "如果是某些组织,那不就还是中心化,他想关就关了,想改就改了"

目前是 Crossbell 官方跑了一批节点,但是这只是开始,未来会有更多的节点加入。而如果是云服务器的架构的话,这个未来是根本不可能的。

> "尤其是像这种博客啊等冷门的,人数又少,靠什么驱动人们给你挖矿呢"
Crossbell 不止服务 xLog ,目前官方的推出的一款应用是 crossbell.io 。简单来说 Crossbell 是一个 ownership platform ,主要服务社交。具体的经济模型还在探索中。
Atlasoin
2022-09-23 17:03:14 +08:00
@skenan 我也非常同意 Web3 最重要的是可组合性。

但是 mirror 做的还不够好,可以参考之前我写的一篇文章:[重新定义出版:Mirror 做的还不够,我们需要继续探索]( https://crossbell.io/notes/4583-1)

lens.xyz: 不仅注册 handle 有白名单机制,而且发布内容全都是通过中心化的代理签名的方式。

我很喜欢 planetable.xyz ,优雅简洁,但是它是完全基于 ipfs 的系统,和 xlog.app 基于区块链是不同的探索方向。

Crossbell 本身的可组合性的体现可以参考 protocol 设计中的 modularity 部分: https://github.com/Crossbell-Box/Crossbell-Contracts/wiki/02-Protocol-Overview#modularity
leonshaw
2022-09-23 17:08:07 +08:00
看了一圈,感觉要么就是后人买单越来越贵直到没人用,要么就是能删除(丢弃)同时按保存时间收费。
RealJacob
2022-09-23 17:10:16 +08:00
报错 ing
Failed to create site
Atlasoin
2022-09-23 17:12:21 +08:00
@lookStupiToForce 感觉很有趣! Crossbell 可以做这种应用的!如果你是开发者有兴趣的话可以 dm 我或者 dm DIY ,或者如果其他开发者看到有兴趣的也可以 dm !官方团队可能暂时不太有精力做这个应用 qwq
Atlasoin
2022-09-23 17:15:43 +08:00
@GeruzoniAnsasu 需要 gas ,但是有水龙头领 https://faucet.crossbell.io/
yuhangch
2022-09-23 17:17:47 +08:00
站点建成功了,但是感觉静态资源加载有点慢

因为之前没了解过区块链,一些操作都要 gas fee ,那我的 0.2CSB 用完了怎么办咧
Atlasoin
2022-09-23 17:22:46 +08:00
@yuhangch 水龙头并没有限制领取次数 :P
Vegetable
2022-09-23 19:37:13 +08:00
天然合订本嘛
imMetaverse
2022-09-23 21:06:23 +08:00
@Atlasoin #30 额 用水龙头 不就相当于测试链 那。。。
littlewing
2022-09-23 21:21:17 +08:00
@rizon 你想多了,几个大的币也基本中心化了
SenLief
2022-09-23 21:52:05 +08:00
世界上没有免费的午餐。

去中心化也只是看山跑死马。
mway
2022-09-23 22:36:49 +08:00
我记得多年前就有个区块链上的博客+论坛:Steemit ,也正是因为在上面发文不可撤销不可删除没有去用。
610915518
2022-09-24 14:49:59 +08:00
不是很喜欢这类博客,笔误修改,历史也会留下痕迹,黑历史持久化系列
nicoljiang
2022-09-24 21:14:46 +08:00
就没有人关注一下 “自由的删除权”?
cheung
2022-09-26 22:22:06 +08:00
不错,学习一下。

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

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

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

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

© 2021 V2EX