Build your own blog on Web3

Original link: https://mabbs.github.io/2022/10/19/web3.html

It feels that Web3 can really be used by people today.

cause

Recently, I came across an interesting thing called xLog . I probably tried it. It is a project that uses smart contracts to operate and store metadata on a blockchain called Crossbell, and store the actual data on IPFS. . It was quite interesting to take a look at it, so they set up another blog of their own on it. In addition, they also used this solution to write a social system similar to Twitter, also called Crossbell, which is very user-friendly. It can be said that Web3 truly brought to ordinary users. As for how to set up their project members wrote a tutorial, 5 minutes can set up a blog on Web3 .

But using xLog is not the job of a technician, but a job done by someone who doesn’t know much about computers. In addition, they claim that the data is “Permanently stored on the blockchain”, which I do not agree with. If it is stored in Web3 and becomes data that cannot be modified by others, it is no problem, but if it is stored on IPFS, as long as it is not pinned, there will be May disappear forever in the process of node GC. In addition, I actually don’t have much contact with the blockchain, so I don’t know if they can fully synchronize their chains. If not, it is a private chain, and the metadata cannot be permanently retained… So I can only say that this platform is Web3, It’s guaranteed not to get 404’d for censorship, but information cannot be preserved over time.

Technician’s Method

So as a technician, of course, it is better for my blog to go directly to IPFS, because their platform is not highly customizable after all, and many components do not know whether there are alternatives, such as Ethereum JSON-RPC, but their services It seems that they are all open source. As long as this chain can be synchronized, it is not a big problem to build its own RPC.

Uploading directly with the IPFS client is the most native method, but I don’t like to install a bunch of inexplicable software on my computer. For example, I write blogs directly on Github or Gitlab and use the previously mentioned ones. The static page server is deployed at one time. So I also hope that a similar service provider can help me upload my blog to IPFS. The last service provider I found was 4EVERLAND . It can bind the Git repository and monitor changes, and when there are changes, it will be automatically deployed to IPFS, and they provide a free Gateway to directly access the content on IPFS, which is very good. However, there is a problem that I don’t know the reason. There is no Jekyll statement in its deployment template, and then the front end cannot be customized… So it can only be modified to the deployment statement you want by capturing the package.

Direct access from IPFS

It is of course good to access directly after deployment with 4everland, but it always feels similar to other service providers. Who knows whether it reads web pages from its own server or from the IPFS network? So I also thought of a whole better way to read from IPFS, and also to prove that it is indeed on IPFS.

Of course, it is no problem to access my blog directly through the Gateway, but the CID will change every time it is deployed, so I think it is not convenient to access… Later I heard that the CID can be used in a way called dnslink Recorded in DNS, so that it can be accessed in a fixed and easy-to-remember way. But at that time, I didn’t know how to access the website recorded by dnslink… and the CID would change every time I deployed it, so I had to update my DNS record after deployment? Later, I checked and found that there is something called IPNS, and took a look at the console of 4everland. It turns out that each website will also generate a fixed IPNS, and then use dnslink to point to IPNS. How to access it? IPFS does not have an IP address, so the TXT record is definitely not enough, right? Later, I learned that I needed to resolve the CNAME to the Gateway to access it. After setting, every time I access the Gateway, the dnslink in the TXT record will be automatically resolved. Now https://ipfs.mayx.eu.org can directly access the data of my blog on IPFS. Isn’t this more freedom than xLog? However, I can’t store comment data. Maybe the feature of xLog is social networking. After all, their main project, Crossbell, is the main social network. I hope that a separate plug-in can be used to provide commenting functions for static blogs like me. It is also a good choice (after all, the handling fee on the ETH public chain is too expensive ?).

better permanent storage

As I said earlier, IPFS can only prevent tampering, but it is not a permanent storage solution. Of course, going to the public chain is also a permanent storage solution, but the cost is too high for me to pay. Later, I learned that something called Arweave can store your data permanently, but it is not free, you have to pay AR coins to the chain to store it. Fortunately, 4EVERLAND provides some free upload quotas to the AR network, which is very good, so that every time I upload in the future, I will write the address in the Releases of Github, which further improves the possibility of permanent storage of my blog.

In addition, I also heard that there seems to be something called ZeroNet that stores data in a distributed way, and according to the group friends, it can also be permanently stored to a certain extent. But I tried to access it, it was too difficult, and now the program is no longer maintained, so I gave up.

impression

Web3 is really developing better and better. I hope more people can participate in it and create an unregulated network together. (And fulfilling my Mayx Forever plan ?)

However, I am also quite worried about the Crossbell project. As an unregulated platform, as long as its popularity rises, it will definitely be abused to the death. I hope they can live longer.

This article is reprinted from: https://mabbs.github.io/2022/10/19/web3.html
This site is for inclusion only, and the copyright belongs to the original author.