Intro
The future of web3 is a set of interconnected blockchains. Each of the blockchains is good for a particular use case. NFT Bridging allows assets to have multiple utilities.
For example, Ethereum has the highest trading volumes, so it is suitable for the marketplaces. Polygon, for its transaction cost, could be used for gaming. And Optimism could be utilized for Defi yielding.
Other solutions
There are two options to bridge the NFTs. Either your costly custom bridge. Or use a third-party service. However, those services are permission-based and need more functionality.
It should be easy
In the last two years, with the popularity of NFTs, we have seen no-code NFT minting solutions. Users can quickly NFT-fy their music, art, or game assets.
Inspired by them, I wanted a no-code (or minimal code in rare cases) solution to turn crypto assets into cross-chain assets.
What it does
The NFT Bridge is the Easiest, Permissionless, Trustless yet secure bridge in the market.
Easiest
The Bridge deploys the NFTs automatically.
Permissionless
Unlike other bridges, anyone can create cross-chain NFTs without our permission.
Trustless
It's also trustless because all code is composed of four smartcontracts. No servers, no proprietary services. Users can check the NFT on the blockchain to ensure it works as it is.
How we built it
In every blockchain, the NFT Bridge has factory smartcontracts: Registrar.sol, LinkedFactory.sol. The factories are linked to each other over Chainlink CCIP.
When an NFT owner sets up a cross-chain asset, the factories create linked nfts: WrapperNft.sol, LinkedNft.sol.
The linked NFTs, just like factories, are connected over Chainlink CCIP. Thus, the bridging process goes within the NFT itself. In the future, this allows customization of a bridging for the unique case of the token. This kind of extendibility is not available with any bridges yet.
The Registrar. sol factory creates WrappedNft.sol. The wrapper locks/unlocks the token during the bridging. The LinkedFactory.sol factory creates LinkedNft.sol. The linked nft is connected to the wrapper. And unlike the latter, this smartcontract mints or burns the token in a bridging process.
UI
For simplicity, I also wrote a simple UI on https://nft-bridge.net. This bridge website was created with Scaffold-Eth-2.
Challenges we ran into
It took a lot of work to get test tokens from the faucets.
Creating a video presentation is more complicated than I thought. It made me nervous as I didn't have lots of practice.
Accomplishments that we're proud of
I have been thinking of making the NFT Bridge since 2021. In my spare time, I was researching and experimenting with different solutions. I am very proud that I finally could make it using the Chainlink CCIP.
During my research in the last year, I saw the CCIP announcement. And I was eagerly following the updates to complete the security of the NFT Bridge.
I am pretty proud that it's the most accessible yet most secure NFT Bridge in the space.
What we learned
It's intuitively easy to build cross-chain applications using CCIP.
Some EIPs have a smartcontract callback for receiving the NFTs. But this callback is executed by the safeTransferFrom method. Sadly, the wallets are using transferFrom only.
What's next for NFT Bridge (https://nft-bridge.net)
- Minting from the linked nft.
- Support multiple chains (it's ready in the smartcontract but not tested yet)
- Batch minting and batch transferring.
Built With
- hardhat
- solidity
- vercel
- wagmi
Log in or sign up for Devpost to join the conversation.