NFT become a hot topic
These days, NFT, aka Non-Fungible Token, is trending to be a hot topic in the crypto realm followed by DeFi. There are more and more engaging stories to attract attention. Indeed, NFT can play to connect reality and cyberspace. Users can claim ownership of the virtual assets via NFT contract and other technologies. Here I assume that you have a basic understanding of NFT and its ERC-721/ERC-1155 contract standards. Otherwise, you might need to recharge your knowledge of that before moving next.
Why does the Feeds need NFTs?
As we know before, Feeds is a decentralized social platform that disrupts the traditional client-server-based model and essentially takes back control of users’ data. Besides, Feeds will drive to become the decentralized platform of content distribution and marketing in our upcoming plan.
Nowadays, we realize that data is a virtual asset that could turn into wealth for us. With NFT involved, we can quickly identify the specific data with the ownership claimed and essential value when marketing. Data in Feeds can be images, videos, podcasts, or even memorial posts. We can mint them as NFTs and sell them on the marketplace or even benefit from renting or utilizing them by others. In brief, any valuable content or data in Feeds can be minted into NFTs and traded on Feeds, which can be a good practice of traffic circulation that further attracts more users boarding.
Why store NFT data on IPFS network?
The IPFS network, aka InterPlanetary File System, is a public distributed file storage system that uses content-addressing to identify the stored data uniquely. The mission of NFT is to claim ownership of the data instead of keeping the data privacy. Thus, we choose to put NFT data on the IPFS network instead of storing them on the Feeds service. With IPFS, users can efficiently retrieve NFTs data after purchasing them while transferring ownership on blockchain. Later, the IPFS node will be integrated into the Feeds service to guarantee the copy of that NFT data. Therefore, we manage the authenticity of NFTs on blockchain while keeping accessibility of NFTs data on the IPFS network.
Here is the example of token ID and token URL to the NFT image:
The token ID: 103021371738945165429663449597012638923221982016871009380604638164579190895701
The token URI: feeds:json:QmeNUnucEQa7anRWarUycvaXYLtetZ49Jx5ADCSJoQdZht
And the JSON document to the metadata of NFT image would be like below:
"name": "Red Fall",
"description": "Fall in Japan",
Why We Choose ERC-1155
There are two types of contract standards to be employed for users to create NFTs. The first one is named “golden standard,” aka ERC-721, while the other is labeled “lazy minting,” aka ERC-1155. Though ERC-721 is the first standardized interface for creating NFTs, we still decided to use the ERC-1155 because it’s faster and more efficient, especially in batch transfers in which more users would be involved in this game. With ERC-1155, users can spend less transaction fees to mint and transfer multiple NFTs at one time. Besides, it is also possible that the NFT feature can become a standalone application if there are more users to experience.
What’s in the NFT contract
On Feeds, we deployed two different contracts on Elastos Smart Contract Sidechain. One is the NFT contract with ERC-1155 standard for users to create NFT collectibles. The other is Pasar contract focusing on trading NFT collectibles in the marketplace. Briefly, users mint their collectibles by the NFT contract and trade them by the Pasar contract.
Currently, the initial version of NFT contract supports the following features listed below:
- Mint NFT collectible with a single edition. Thus the NFT created keeps the uniqueness all the time on Elastos Smart Chain.
- Mint NFT collectibles with limited editions but sharing the same token ID. Usually, we can use this way to issue the anniversary collectibles with limited editions.
- The creator can claim the royalty on the NFT collectible when he/she mints it to keep benefits from each secondary sale as the rewards for creativeness.
- Each NFT data on the IPFS network would be indexed with a unique ID, aka content ID, and this CID would be utilized as the token ID of NFT collectibles. Hence, it’s impossible to mint different NFT collectibles with the same content data.
- With the ERC-1155 standard, the contract supports minting NFT collectibles in the batch method, which means users can mint various NFT collectibles either with a single or multiple editions in one transaction on the ESC (Elastos Smart Contract) Sidechain.
Generally, each NFT collectible has its unique token ID and token URL separately. The token ID is the CID to the actual data on the IPFS network, while the token URL points to a JSON doc that describes the essential metadata of NFT collectible, which also is a CID value to that JSON doc on the IPFS network. Once the NFT was minted, the token ID and URL burned into the NFT contract, and there will be no way to interpolate the collectible metadata. Hence the NFT collectible can be permanently valid on the ESC Sidechain.
With the ERC-1155 contract standard, if there were a wallet, for example, Elastos Essentials, to be compatible with ERC-1155, it would easily display the balance of NFT collectibles on that wallet.
We note that Feeds currently employs part of the full features for the initial version. In Feeds, currently you are only allowed to mint a single NFT at one time, but with royalties supported.
What’s in the Pasar contract
Besides the NFT contract, we also deployed the Pasar contract as the marketplace to trade NFT collectibles. With the contract, users can trade the NFTs from virtual assets to be expendable ELAs, which encourages them to forge more NFTs from their creativity.
The first initial version of the Pasar contract supports the following features listed below:
- Support to sell the NFT collectibles at a fixed price. When a seller puts an NFT collectible onto Pasar with the fixed price, a new sale order will be created and shown on Pasar. Once a buyer purchases it, the order becomes fulfilled, and the buyer gets the NFT to the order while the seller receives the price of ELAs. The seller has the chance to update the selling price or even cancel the sale when no one has purchased it yet.
- Support to sell the NFT collectibles at a bid price. When a seller puts an NFT collectible onto Pasar with the biding method, it will create a new sale order with the rock-bottom price, and the auction begins with it. Anyone can join in at a higher price to compete for the game. When the auction timeout arrives, the one who offers the highest price will win the game and win that NFT collectible. The seller also has the chance to adjust the bid price or cancel it when no one has offered the price yet.
- With the royalties support, the creator will receive specific royalty fees as the rewards to his creativity on each round of transactions to the NFT collectible.
- Support to sell the NFT collectibles with a batch package. A seller can trade a group of NFT collectibles in a single order while the buyer purchases it in one transaction. It will save the transaction fees a lot compared to selling them one by one.
Though the Pasar contract has strong potential to provide various support in the marketplace, currently in Feeds, it only supports trading the NFT collectible in a single quantity with a fixed price. Later, we will support another way to trade the NFT collectible — Auction.
Outlook of NFT features in Feeds
The new Feeds V2.0 with NFT support has just been released. Feeds users can now mint NFT collectibles with their designs and trade them on the Pasar market. In addition, there is a practical use-case in which you can apply one of your favorite NFT images as the avatar either for your profile or channels.
We notice that the Pasar market is the basic but essential use case where users can trade NFT collectibles. In the next, Feeds will explore more and more application scenarios to take advantage of NFT features. It is possible that we will develop a new contract for users to rent their NFTs, and others can learn and benefit from them. You also can post a video as the NFT on your channel, and the followers can watch it after paying with ELAs.
More ideas about the application scenarios on NFT features are being brewed, and we are trying to make them come out to meet the reality.
To Our Community, Thank You
Now, Feeds v2.0 for the android version (only android), along with Feeds service v2.0, are available to meet our community. We would love to see the community have fun with NFTs collectible on our Elastos ecosystem. We also feel like seeing more developers to help improve Feeds or join the Feeds project. We appreciate the support from the community and welcome any feedback to improve our Feeds via the telegram channel here.
The two contract addresses on ESC main-net:
- NFT contract: 0x020c7303664bc88ae92cE3D380BF361E03B78B81
- Pasar contract: 0x02E8AD0687D583e2F6A7e5b82144025f30e26aA0
- Explorer URL: https://eth.elastos.io
Channel and Resources:
- Telegram: Feeds Capsule
- Twitter: @elastOSFeeds
- Github: feeds-capsule
- Website: https://trinity-feeds.app
- Google Play: Trinity Feeds.apk
For more information on Feeds: