Project Name: TOBA - Token Bound Accounts On Tron.
Project Track: Artistry
Team Name: TOBA team
Team Member(s): 2 @tobatrx
HackerEarth Project Link: TOBA - Token Bound Accounts On Tron | Devpost
Project Goal: Bring for the first time to the TRON network a new way to interact with NFTs expanding its capabilities beyond simple static collectibles, allowing any TRC-721 asset to be a token-bound account.
Project Value: The implementation of token-bound accounts opens up a wide range of possibilities for the advanced use of NFTs. These are some examples:
-
Games: By using token-bound accounts, game creators have the ability to set up inventories for players, enabling the automatic transfer of all their game items to their character’s collection. This enriches the player experience and facilitates the creation of game user interfaces that were previously more complex to develop.
-
Portfolio Management: NFTs can represent unique investment assets, and these assets can be further diversified and managed within the NFT itself. This offers an innovative way for investors to manage their portfolios while maintaining a clear record of ownership and diversified holdings within a single NFT.
-
Music: One utility of NFT token-bound accounts in the music industry is the ability to provide exclusive access to music and other content for fans. For example, an artist could create NFTs that represent ownership of a specific song or album, and fans who purchase these NFTs could gain access to exclusive content such as unreleased tracks, behind-the-scenes footage, or virtual meet-and-greets with the artist. This could help artists connect more directly with their fans and create new revenue streams through the sale of these exclusive NFTs.
-
Additional security layers: The ability to manage individual wallets through an NFT, which in turn provides an additional level of security to a user’s main account (EOA) because the user can sign transactions through a TBA. For example: A user could execute transactions from a Token Bound Account to interact on untrusted sites and in case of any malicious action the consequences would only affect that account.
Project Info:
What is the TRC-721 standard?
The TRC-721 is a technical standard used for creating non-fungible tokens (NFTs) on the TRON blockchain. Just like the ERC-721 standard on Ethereum, the TRC-721 standard defines a set of rules and functionalities that NFTs must follow in order to be compatible with the TRON blockchain.
What is the ERC-6551 standard (Token-Bound Accounts)?
It’s a standard that allows NFTs to operate as smart contract wallets, these wallets are customizable and can be used to store assets & make transactions. Token-bound accounts also keep an unalterable record of all on-chain activities executed by the accounts.
Token-bound accounts are also backward compatible with the TRC-721 standard, meaning existing NFTs can implement this standard without undergoing any fundamental changes, avoiding the unnecessary friction of deploying a new contract or wrapping an existing TRC-721 NFT to enable token-bound accounts.
How do Token-bound accounts work?
Token bound accounts (TBA) are smart contract wallets that are technically owned by an NFT in this case, but the control of token-bound accounts is delegated to the owner of that NFT. The owner, on behalf of the NFT, can initiate on-chain actions using the token bound account.
Token Bound Accounts are not spontaneously generated, they are created through the Registry contract. It keeps track of NFTs and their corresponding Token Bound Accounts. This registry is essentially a smart contract that can be deployed on any EVM-compatible blockchain. The two main functions of the registry are to compute a TBA address for the TRC-721 token and to deploy a TBA for an TRC-721 token with a given implementation address.
Each account is deployed via a minimal proxy contract which allows to get a gas optimized experience on the deploying phase and to store essential data, including the salt, chain ID, token contract address, and token ID into the bytecode.
What will be the scope of this project for the HackaTRON?
For this hackathon we’ll be deploying, adjusting and testing all the required contracts for the implementation of the Token-bound Accounts (ERC-6551) on the Tron network, after that we’ll continue with the dApp frontend where users will be able to create the token-bound accounts for their NFTs and manage the assets inside them.
In the main page we’ll be also deploying a mini game to show the advantages of using the token-bound accounts in the field of web3 gaming. Here you could connect your TronLink wallet to get a profile NFT and as you accumulate more points while playing you will be able to earn special abilities for your character that are represented as NFTs too, with this users will have the opportunity to transfer full profiles between wallets or even send abilities to other profiles using the dApp.
Currently we are deploying and testing the contracts on the Nile testnet.
Project Website: https://www.tobaontron.xyz/
Project Test Instructions:
To test you will need to have the TronLink wallet extension installed in your browser. Once you have the wallet you must be conected to the Nile testnet and get some TRX and USDT from this faucet TRON | NILE TESTNET, then go to https://tobaontron.xyz
In the landing you can press the button “try it with your NFTs” and that will take you to your wallet’s view (It will only show TRC721 assets). If you don’t have assets a button to mint some test NFTs will show, then after mint you will be able to generate token-bound accounts by accessing to the details of the token.
After the creation of the TBA you will be able to send tokens and collectibles into those accounts using the address that appears in the NFT details. You can transfer out the assets from the TBA using the transfer button at the right of each asset.
You will be able to access the mini game by clicking in the image on the bottom of the landing page and mint a game profile by clicking in the “Profile” button. Then you can play and collect power-ups for your character by getting high scores and those NFTs will be shown in the TBA view too.
Project Details:
Smart Contract links:
YouTube Video
TOBA - TRON HACKATHON SEASON 6 - YouTube
Project Milestones:
-
Deploy, adjust and test the required contracts for the implementation of token-bound accounts on the Tron Virtual Machine (TVM)
— Deploy Registry contract
— Deploy Accounts implementation contract -
Make the dApp frontend to create and manage the token-bound accounts
— Show TRC721 assets from user wallet
— Show all assets inside the TBAs
— Deploy new TBAs with one button
— Transfer TRX, TRC20 and TRC721 assets from the TBA -
Generate a NFT(TRC-721) collection to easily test the dApp
-
Make the mini game and use NFTs with TBAs as game profiles
Pending
- Rewrite our services script as a JS library for other devs to experiment with TBAs [08/05- 30/05]
- Deploy the contracts and dApp to the mainnet after testing and feedback phases
— Tron DAO Community testing and feedback [08/05- 30/05]
— Review, implement and test feedback [30/05-07/06]
— Mainnet deploy [10/06]