---
layout: post
title: 在Web3上搭建一个自己的博客
tags: [Web3, 博客, 搭建]
---

  感觉Web3可以真正的为现在的人们使用了呢。<!--more-->    

# 起因
  最近偶然看到了一个很有意思的东西，叫[xLog](https://xlog.app/)，大概试了试，这是在一条叫Crossbell的区块链上使用智能合约操作和存储元数据，并把实际数据存到IPFS上的项目。看了一眼还挺有意思，就在上面搭了一个自己的[另一个博客](https://mayx.xlog.app/)，另外他们还使用这套方案写了一个类似Twitter的社交系统，也叫Crossbell，非常的人性化，可以说是把Web3真正的带给了普通用户。至于怎么搭他们的项目成员写了篇教程，[5分钟就能搭好在Web3的博客](https://song.xlog.app/5m-zh)。   
  不过使用xLog那就不是技术人员的事了，而是让一个不怎么懂电脑的人来做的事情了。另外他们宣称数据是“Permanently stored on the blockchain”这一点我不太认同，要是说存到了Web3成为了其他人无法修改的数据，这倒是没什么问题，但是存到IPFS上只要没有被Pin，就有可能在节点GC的过程中永远消失。另外我其实对区块链接触不多，不清楚能不能完整的同步他们的链，如果不能那就是私链了，那样元数据也不能永久保留了……所以我只能说这个平台是Web3，可以保证不因为审查而404，但是不能在时间的长河中保留信息。   

# 技术人员的方法
  所以作为技术人员，我的博客当然直接上IPFS那更好啦，因为他们的平台毕竟可定制性不高，而且好多组件不知道有没有可替代性，比如以太坊JSON-RPC，不过他们的服务好像是都开源了，只要这个链可以被同步，能搭属于自己的RPC那倒是问题不大。   
  直接用IPFS客户端直接上传是最原生的办法，但是我不喜欢在自己电脑上安一堆莫名其妙的软件，像我现在写博客都是直接在Github或者Gitlab上写好然后直接用[之前提到的静态页面服务商](/2022/02/14/move.html)一次性部署好。所以我也希望能有一个类似的服务商能帮我把我的博客上传到IPFS上。最后我找到的服务商就是[4EVERLAND](https://www.4everland.org/)。它可以绑定Git仓库并监听变化，当有变化的时候就会自动部署到IPFS上，并且他们提供免费的Gateway来直接访问在IPFS上的内容，非常的不错。不过有个问题就是不知道什么原因，它的部署模板里面没有Jekyll的语句，然后前端还不能自定义……所以只能靠抓包的方式来修改成自己想要的部署语句。   

# 从IPFS直接访问
  使用4everland部署完之后直接访问当然也很好，但是总感觉和其他服务商差不多，谁知道它读取网页到底是从自己服务器上还是IPFS网络上读取呢？所以我还想整个更好的方式从IPFS上读取，也能证明它确实在IPFS上了。   
  直接通过Gateway去访问我的博客当然也没问题，但是每次部署的时候CID是会变化的，那这样我想访问也不方便啊……后来我听说可以把CID用一种叫dnslink的方式记录到DNS里，这样就能通过固定又好记的方式来访问。不过那时候我不知道怎么访问dnslink记录的网站……而且每次部署CID会变，那部署完我还要更新我的DNS记录啊？后来我查了查原来还有一种叫IPNS的东西，看了一眼4everland的控制台，原来每个网站它也会生成一个固定的IPNS，然后用dnslink可以指向IPNS。那如何访问呢？IPFS又没有一个IP地址，光TXT记录肯定不够的吧？后来我才知道原来要用CNAME解析到Gateway才能访问，设置之后每次访问Gateway就会自动解析在TXT记录里的dnslink了。现在 <https://ipfs.mayx.eu.org> 这个网站就可以直接访问我博客在IPFS上的数据了。这不比xLog自由度高？不过我这个没办法存评论数据，可能xLog的特色就是社交吧，毕竟他们的主项目Crossbell就是主打的社交。希望可以整一个单独的插件，专门用他们的网络来为我这种静态博客提供评论功能，也是一个不错的选择（毕竟ETH公链上的手续费太贵啦😂）。   

# 更好的永久存储
  前面我说过，IPFS只能防止篡改，但不是作为永久存储的方案，上公链当然是也一种永久存储的方案但是成本太高了我付不起。后来我了解到一种叫做Arweave的东西可以永久存储你的数据，不过这不是免费的，想存得要付AR币到链上才可以。还好4EVERLAND提供了一些免费上传到AR网络的额度，非常的不错，这样我以后每次上传我会把地址写到[Github的Releases](https://github.com/Mabbs/mabbs.github.io/releases)里面，进一步的提高我博客永久存储的可能性。   
  另外我还听说似乎还有一种叫做ZeroNet的东西也是通过分布式的方式存储数据，据群友所说也能在一定程度上永久存储。不过我试了试访问实在是太困难了😂，而且现在程序也不在维护了，所以也就放弃了。   

# 感想
  Web3真是发展的越来越好了，希望能有更多的人参与其中，一起创建不受管束的网络吧。（还有实现我的Mayx Forever计划😝）   
  不过说来我也挺担心那个Crossbell的项目，作为不受监管的平台只要知名度上来肯定会被滥用到死，希望他们能活得更长一些吧。
