Inspiration
As a hobbyist blockchain developer on TikTok, it was only a matter of time before I deployed my first Web3 project. I decided to give tokens away to TikTok users free to get some of my token out into the world, get some first hand experience and have hundreds of new content ideas. I wanted to make my project unique but I had no idea the implications of linking a Social Media Identity to my first token project!
What it does
By linking a TikTok ID to my smart contract I accidentally created a new type of address resolution service, similar to how ENS works but instead by linking existing Web2 identities such as social media accounts or email addresses. This enables sending crypto to an email address. This innovation has the potential to drive mass adoption of crypto, enabling seamless transactions both in Web3 wallet software and email clients.
How we built it
I started off building a smart contract on Polygon for my TikTok followers, then decided to extend it to all of TikTok, as such I needed the ability to determine if a user mints twice. As such my minting function needed an ID and a wallet address (I also included additional minting based on a follower count, however this isn't relevant to the email technology nor the overall service, but was a great learning experience to incorporate a unique reward/minting structure). This had a problem though, it required me to be trustworthy. To solve this problem I linked the TikTok ID to a wallet so someone could use the wallet address to audit which ID I was minting to, If I ever minted to a fake ID it's publicly and immutably written to the blockchain, so if I ever abuse my power there will be evidence. Unfortunately this posed another issue. I would have to dox anyone who minted my token, because the wallet address would link their public identities. This had an interesting side effect and so I made it into the main feature of the project. With 2 simple functions I could allow users to look up their wallet addresses using TikTok handles.
Challenges we ran into
I have no idea what I'm doing. I've setup web servers, written bits of code here and there and I decided to use this experience to learn. All my challenges lie ahead: Getting a lawyer to ensure I am complying with regulations, writing up documentation, creating dApps to interact with my contract and so much more. So far my challenges are small. Right now its a simple HTTPS issue because I am using a shared server to save costs which I shouldn't have issues with. My main issue is that this is a side hussle and I'm struggling to find an exit plan for my current career when there's no money coming in. Hoping the prize money could make this possible.
Accomplishments that we're proud of
In 12 days I launched a smart contract, registered 77 users, have 57 holders, 19% circulating supply and built a website and a basic dApp to interact with the contract. My dApp allows followers of registered users to use their TikTok handle to resolve a web3 address. You can read all about the project on my website link or try out my dApp using one of the registered handles (such as @echodatruth or other volounteers listed on the website) here link.
What we learned
How to deploy an ERC20 contract, writing data to the blockchain and that its odd such a simple solution has not been implimented yet. Oh and that even if you give out ERC20 tokens free on TikTok people will still think it's a scam.
What's next for EasySend
What's first? To build database and extension on my Polygon smart contract for use with ripplenet addresses. I would simply add a database to my existing app to allow users to link multiple accounts together such as twitter, TikTok and email to the same address. Down the road I would like to build a special wallet software which allows users to send transactions of various cryptos across various Layer 1 blockchains to simple, recognizable identities. Eventually providing a service to email providers such as google, microsoft and various business and consumer platforms allowing users to include payment to the email just like a user would add an attachment. This could be used to send payment of an emailed invoice by simply clicking a pre-filled email reply with the transaction value automatically filled. This service could enable businesses to accept amounts that exceed some restrictions or speed imposed on traditional electronic payment methods.
Built With
- javascript
- node.js
- plesk
- polygon
- solidity
- tiktok
Log in or sign up for Devpost to join the conversation.