Inspiration
When I said to my acquaintance about Blockchain technology, they said...
- "I hate Blockchain"
- "I don't believe it will develop in the future"
and they have many wonders and questions ...
- "Why do I have to pay a fee for every transaction on Blockchain? Instead of this, I would like to use a normal service, I wouldn't like to lose money for this"
- "Why does a silly image can be sale with a big value on the Internet?"
I can't change their mind because they are very stubborn. I guess the reason is that they have no experience with how Blockchain works and NFT is advertised and used for the purpose of manipulating users. Thereby creating an NFT market for economic and financial purposes, without bringing too much value to the community.
Last 7 months ago, my grandfather sent to me a letter from my hometown. When I received that letter, I felt very thrilling. In our modern life, we have phone, desktop, smart watch,... it's easy to contact between people and people. Some old things were missed, like a letter, and stamps, even human emotions.
At that time I thought: "NFT and stamp..., NFTs and stamps..., modern and classic... What a great combination!"
What it does
My approach is to create an NFT Dapp that brings a new experience to users with Blockchain system and NFT. In addition, this application can help users better understand Blockchain transactions, NFT methods, helping them have a better view of this technology. I would like to give some examples to describe how NFT can achieve these values.
- A letter that wants to be sent to the recipient must be attached with a stamp. The stamp acts as a mailing service fee. Therefore, KING NFT acts as a stamp to send mail, users have to pay transaction fees to mint and send this letter.
- If you want the letter to be sent faster, the user has to buy a stamp with a higher fee. This is similar to when we add transaction fees so that transactions are prioritized and executed quickly.
- When the letter reaches the recipient, they can peel the stamp off and keep it in their collection as a keepsake. That's also how NFTs operate today. However, its difference is that if a stamp is appraised enough, it will carry more value in terms of images, related to traditions, events, appeals, propaganda, cultural properties, history,... That means KING NFT brings greater value in terms of spirit and collectible nature for users.
With these values in mind, I believe that the KING NFT is a kind of NFT worthy of attention and even used for teaching purposes.
How we built it
I use ReactJS to build user interfaces. And the icon-sdk-js library with Hana Wallet to send transactions with the ICON Network blockchain system. Then, my Web application was hosted by Firebase.
I also developed 2 Smart Contracts and deployed it to the Lisbon Blockchain.
- The first one is an SBT Contract to identify users participating in KING NFT, users can set their name for convenience in sending mail on the system.
- And the second is the main contract of the system, allowing users to buy stamps, send letters with this stamp and send it to the recipient.
For a distributed storage system of data, I temporarily use the Repo on Github to temporarily store and manage the images.
Challenges we ran into
- The biggest challenge for me is to develop an idea that is workable, not manipulative and brings real value to users. And in the end, I think I got it
- I had a failed deployment issue due to the difference between the local network and the Lisbon network. But I give a support from ICON Community and I passed it.
- Writing a Smart Contract in Java is also a challenge for me. Especially objects in Java. To be honest, I have to use some trick in the read-only method to return a JSON object and an Array of JSON objects.
- When I integrate icon-sdk-js into my web application. I got a problem sending a Boolean value in the transaction. I have to use some tricks to pass it. Fortunately, It works.
- The last challenge that I am looking for a solution to is the security and privacy of the message content sent through KING NFT. Because sometimes users do not want the content of their correspondence to be exposed to the outside. It's quite difficult because everything sent to the Blockchain is transparent. I thought of an encryption method but I can't save a single key for the user anywhere. Currently, I found a more possible method, which is to ask the user to import the JSON key file. And use the Private Key to encrypt the content being sent. I think it's more feasible.
Accomplishments that we're proud of
- I have created a Dapp that can communicate with Blockchain. Everything is purely my own ideas and development. And that's what makes me most proud.
- Regarding my product and the above examples, I believe that Dapp with KING NFT is a good product to use when providing a newer experience of NFT. It is not only NFT, but also an easy to understand example of Blockchain transactions, easily accessible, can even be included in Blockchain teaching.
What we learned
In truth, I would like to submit a project to this Hackathon to make a project that can interact with the Blockchain system by myself and upgrade my skill in Front-end development. Although it has many things to be improved, I think I achieved them.
I have a new experience as Contract Developer, it's a good base for me to find teammates for the contest the next year.
What's next for KING
- Allows users to update their profile picture on the SBT Contract through the interface of the Settings page.
- Develop the admin interface to create more stamps in the system. In addition, define the user's role in the SBT Contract to limit the right to create Stamp.
- I want to implement end-to-end encryption for users so that they can rest assured about the private content they send to the recipient. Consider sending a fee back to those who create and publish stamps. I intend to offer fixed prices instead of letting the user choose. But I'm not sure if that's good enough.
- Saving stamps to a collection and transferring stamps to receive other stamps is the last feature I want to integrate




Log in or sign up for Devpost to join the conversation.