banner
demo

demo

小心翼翼在人间梦游的日子
twitter
bilibili

xLog+Crossbell Blockchain

Cover Image

  • Background
  • Approach of Technical Personnel
  • Direct Access from IPFS
  • Better Permanent Storage
  • Thoughts

xLog, Crossbell Blockchain#

Recently, I came across something interesting called xLog. I tried it out and found that it is a project on the Crossbell blockchain that uses smart contracts to operate and store metadata, while storing actual data on IPFS. It seemed interesting, so I created my own blog on it. They also created a social system similar to Twitter called Crossbell, which is very user-friendly and brings Web3 to ordinary users. They have written a tutorial on how to set up their project, which can be done in 5 minutes on the Web3 blog.
However, using xLog is not something for technical personnel, but rather for someone who is not very computer-savvy. They claim that the data is "Permanently stored on the blockchain," but I don't fully agree with that. If the data is stored on Web3 and becomes unmodifiable by others, then there is no problem. However, if it is stored on IPFS and not pinned, it may disappear forever during the node's garbage collection process. Also, I am not very familiar with blockchain and I am not sure if I can fully synchronize their chain. If not, it becomes a private chain, and the metadata cannot be permanently preserved... So, I can only say that this platform is Web3, which ensures that information does not result in a 404 error due to censorship, but it cannot preserve information in the long run.

Approach of Technical Personnel#

As a technical person, it is better for my blog to be directly on IPFS. Their platform is not highly customizable, and I am not sure if there are alternative components available, such as Ethereum JSON-RPC. However, since their services seem to be open source, as long as this chain can be synchronized, it is not a big problem to set up my own RPC.
Directly uploading through the IPFS client is the most native approach, but I don't like installing unknown software on my computer. Currently, I write my blog directly on Github or Gitlab and deploy it using the static page service provider mentioned earlier. So, I also hope to have a similar service provider that can help me upload my blog to IPFS. The service provider I found is 4EVERLAND. It can bind to a Git repository and listen for changes. When there are changes, it will automatically deploy to IPFS. They also provide a free gateway to directly access the content on IPFS, which is very good. However, there is one problem. For some reason, their deployment template does not include Jekyll statements, and the frontend cannot be customized... So, I can only modify the deployment statements to what I want by capturing packets.

Direct Access from IPFS#

After deploying with 4everland, direct access is also good. However, it feels similar to other service providers. Who knows if it reads the webpage from its own server or from the IPFS network? So, I wanted a better way to access it from IPFS and prove that it is indeed on IPFS.
Directly accessing my blog through the gateway is not a problem, but the CID changes every time it is deployed, which makes it inconvenient for me to access. Later, I heard that I can record the CID in DNS using a method called dnslink, so that I can access it through a fixed and easy-to-remember way. However, at that time, I didn't know how to access websites recorded with dnslink... And every time the CID changes, I have to update my DNS records? Later, I found out that there is something called IPNS. I took a look at the 4everland console and found that it generates a fixed IPNS for each website, which can be pointed to using dnslink. But how to access it? IPFS does not have an IP address, and TXT records alone are not enough, right? Later, I learned that I need to use CNAME resolution to point to the gateway in order to access it. After setting it up, every time I access the gateway, it automatically resolves the dnslink in the TXT record. Isn't this more flexible than xLog? However, I cannot store comment data with this method. Maybe xLog's feature is social interaction, as their main project Crossbell is focused on social networking. I hope I can create a separate plugin to use their network to provide comment functionality for my static blog. It would be a good choice (after all, the transaction fees on the Ethereum public chain are too expensive 😂).

Better Permanent Storage#

As I mentioned earlier, IPFS can prevent tampering, but it is not a solution for permanent storage. Storing on a public chain is one way of achieving permanent storage, but the cost is too high and I cannot afford it. Later, I learned about something called Arweave, which can permanently store your data. However, it is not free, and you need to pay AR coins to store on the chain. Fortunately, 4EVERLAND provides some free quotas for uploading to the AR network, which is great. So, in the future, I will write the address of each upload to my Github Releases, further increasing the possibility of permanent storage for my blog.
I also heard about something called ZeroNet, which also stores data in a distributed manner and can provide a certain level of permanent storage, according to my friends. However, I found it very difficult to access and it is no longer being maintained, so I gave up on it.

Thoughts#

Web3 is developing better and better. I hope more people can participate and create an unrestricted network together. (And also achieve my Forever plan 😝)
However, I am also concerned about the project Crossbell (the chain used by xLog). As an unregulated platform, once it becomes well-known, it will definitely be abused to death. I hope they can survive longer.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.