The primary goal is to optimize the utilization of storage capacity within each blockchain by empowering users to access their non-fungible tokens (NFTs) across multiple blockchains using a unified account within any decentralized application (dApp) login. This achievement is facilitated through the implementation of soft delegation, a mechanism that necessitates establishing a connection with a single blockchain.
In order to fully utilize this functionality, it may be necessary to possess NFTs on both the Flow and Ethereum blockchains. Once a delegation has been established to the desired address, connecting with that delegated address allows for the comprehensive display of all associated NFTs.
For instance, to connect with Ethereum and view NFTs from both Ethereum and Flow, the following steps should be followed:
- Connect with the Flow blockchain.
- Set a delegation to your Ethereum Virtual Machine (EVM) address (requires a transaction).
- The next time you connect to Ethereum, you will be able to observe the NFTs from both Ethereum and Flow.
Conversely, if the aim is to connect with Flow and view NFTs from both Flow and Ethereum, the following steps are required:
- Connect with the Ethereum blockchain.
- Set a delegation to your Flow address (requires a transaction).
- The next time you connect to Flow, you will be able to see the NFTs from both Flow and Ethereum.
To facilitate this functionality, decentralized applications (dApps) must have foreknowledge of each blockchain's contract address (a fixed address unique to each blockchain) and employ delegation lookups. A delegation lookup is a process where addresses from other blockchains that have been added to the blockchain are identified, allowing for the retrieval of associated NFTs.
Once the delegation has been established, it is only necessary to maintain a connection with a single blockchain to access all the delegated NFTs.
Assumption before Reading the System Design
- blockchain_0, blockchain_1, blockchain_2, and blockchain_n are blockchain with different account protocol.
- user1.b_0, user1.b_1, user1.b_2, and user1.b_n are valid blockchain 0, 1, 2, and n accounts.
- Identity_EVM_SC, Identity_Flow_SC, Identity_Blockchain_1_SC, Identity_Blockchain_2_SC, and Identity_Blockchain_n_SC are the Identity smart contract deployed on each blockchain.
- user1.eth is a valid Ethereum account.
- user1.flow is a valid Flow account.
Authorize the utilization of your Ethereum Virtual Machine (EVM) non-fungible tokens (NFTs) by delegating them to the account "user1.flow."
Authorize the utilization of your Flow non-fungible tokens (NFTs) by delegating them to the account "user1.eth."
- Only working for EVM chains and Flow. For EVM chains, only Ethereum Goerli can be used to set up delegations.
- TRON, SOLANA, CARDANO, etc., added by the use of WalletConnect.