Twitter has been known to be a place where people share a tweet of the length of 120 words. Something succinct where it acts as a form of timestamp of a persons words on the internet.

However, Twitter is a centralized entity, and at the end of the day, what you say are technically controlled by that entity. It begs the questions of the amount of liberty that you truly have with the words you posted. And whether you actually own the words.

This is where Blockchain and Ergo comes in. With a decentralized system, users can own their own tweet fully. They can decide on whether they’d like to delete it or sell it one day if they want to. And since no one can delete their tweet, this provides a more authentic freedom when it comes to speech.

So let’s begin.

What makes a tweet, tweet.

To design this system, we have to first understand what a tweet consists of. A tweet is essentially a string of words with a timestamp, that is posted by a certain individual. All of this data is then put online. Sounds a lot like a very familiar component on the blockchain doesn’t it?

To extrapolate this in Blockchain terms.

A tweet is essentially an NFT that consists of a string of words within its content. And the “Artist Address” is essentially the individual who posted it.

To create twitter on Ergo Blockchain?

Design a tweet protocol.

But kii, what about the profile photo and the username. That’s the most exciting part.

We’ll have to see what happens with this. Maybe ErgoNames can collaborate and add the username? Who knows. But let’s focus on getting the tweet done.

EIP 4: Tweet

Lets first declare the asset type.

And also add in the tokens standard

Register Description Example Encoded
R4 TweetId Tweet::ab1239dmajs8t0s1dvhghn29
R5 Tweet (UTF-8 representation) Hi! This is the first tweet
R6 Number of decimals 0
R7 NFT-Type [0x01, 0x05] - i.e., “0e020105”
R8 SHA256 hash of the tweet 19a147aa64ff03489a041f7bc953b3afb7f3916573e5a52f885c3c102893a592
R9 (ActionType, Tweet Id) [Int, Coll[Byte]] Original Post (0, “”),
Reply
(1, “{BoxId}”),
Retweet
(3, “{BoxId}”)

Now that we have the NFT for the tweet. How can we utilize this?

Actions

We have to first understand what usages are there in twitter. The first part is the ability to follow someone.