banner
demo

demo

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

xLog+Crossbell區塊鏈

Cover Image

  • Introduction
  • Approach of the technical team
  • 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 caught my attention, so I created my own blog on it. They also developed 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 just for technical people, but also for those who are not familiar with computers. They claim that the data is "permanently stored on the blockchain," but I don't fully agree. If the data is stored on Web3 and cannot be modified by others, that's fine. 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 would be a private chain, and the metadata would not be permanently retained... So, I can only say that this platform is Web3, which ensures that information will not be 404 due to censorship, but it cannot preserve information in the long run.

Approach of the Technical Team#

As a technical person, it would be 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, 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. The most native way is to directly upload using an IPFS client, 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. Therefore, I hope there is 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 great. 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 is inconvenient for access. Later, I heard that the CID can be recorded in DNS using a method called dnslink, so it can be accessed through a fixed and easy-to-remember way. However, at that time, I didn't know how to access a website with dnslink records... And every time the CID changes after deployment, do I have to update my DNS records? Later, I found out that there is something called IPNS, and I took a look at the 4everland console. It turns out that it generates a fixed IPNS for each website, and dnslink can point to IPNS. 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 the gateway to access it. After setting it up, every time I access the gateway, it will automatically resolve the dnslink in the TXT record. Isn't this more flexible than xLog? However, I cannot store comment data using this method. Maybe xLog's specialty is social interaction, as their main project, Crossbell, is a social platform. I hope I can develop a separate plugin to provide comment functionality for my static blog using their network. It would be a good choice (after all, the transaction fees on the Ethereum public chain are too expensive 😂).

Better Permanent Storage#

As 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 for me. Later, I learned about something called Arweave, which can permanently store data, but it is not free. You need to pay AR coins to store data 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 in the 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, it was too difficult for me 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 implement my Forever plan 😝)
However, I am a bit worried about the Crossbell project (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.

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。