【What is ZipChain ?】 In this app, users can buy NFTs from any chain, with any tokens. For example, you can buy NFTs on Ethereum from using Matic on Polygon or using ETH on Optimism.
First, the seller lists the NFT on Ethereum, then the price information will be broadcasted to other blockchains using cross-chain messaging protocols, then stored. Buyers can get the listed price from the Polygon contract. When the buyer sends tokens to our contract to purchase an NFT, information about that transaction is sent to the Listed Chain (Ethereum at this time)
Confirmation Once the transaction is successfully broadcast to the origin chain, the NFT will be sent to the buyer. Then, "confirmation" will be sent to the payment chain (Polygon). If NFT has already been sold, and the buyer can't get NFTs, "reverted" will be sent to the payment chain (Polygon)
Result The contract on the payment chain (Polygon in this example) gets "confirmation" the token will be sent to the seller, but if the transaction is "reverted", the token will be back to the buyer. This system prevents multiple payments from occurring on the same list.
【Why we built this?】 Numerous L1 and L2 blockchains have emerged, but there are still few solutions that support chain-to-chain interactions, and liquidity between chains is not significant. We believe that the cost (financial and labor) of the bridge is one of the main reasons for making this. This time, we would like to solve this project by building this app.
Our application eliminates the process of buying NFT on other chains. Generally, you have to bridge your token and get native tokens on other chains, and after that, you need to switch chains and make another transaction to buy NFTs. If the token for buying NFTs is ERC20, you have to swap the native token for ERC20 additionally.
However, in ZipChain, you can buy NFT on other chains with only one transaction, no need to bridge, no need to swap.
Our goal is to create a world where people can easily buy the NFT they want without worrying about chains.
Hyperlane , Chainlink, and Push are the core protocols of the smart contract of ZipChain
We use Hyperlane as a part of cross-chain messaging so that we can send any data from one blockchain to another blockchain and vice versa. Since Hyperlane supports sending plenty of types of data (uint, address, bytes……), it worked well with the cross-chain app because we had to send a lot of information, and it was easy to build a cross-chain application using the API they provided.
Chainlink solves the problem of differences in the price of Native tokens for each chain. This time, we supported native tokens of each chain, and we needed to maintain price consistency. Chainlink provides an API that can fetch the price out of the blockchain so that we can get both ETH and MATIC prices and allow transactions in different tokens.
Push Protocol contributes significantly to improving UX. In the cross-chain application, there is a large time lag between when a user sends a transaction and when the results are reflected. By integrating Push Protocol, the users no more need to wait or search for the result of the transaction. Additionally, they provide not only frontend SDK but also a smart contract interface. It was a great match because some of the transactions in the cross-chain application do not go through the front end.