Boson Protocol allows decentralized commerce using NFTs encoded with game theory. When a seller deploys the same offer on different Layer 2 chains, the supply quantity of items for sale needs to be managed across multiple chains. So we need a cross-chain inventory synchronization mechanism.
If the seller has a quantity of 10 items, he could say “I want to sell 5 on Polygon and another 5 on Arbitrum”. In that way, the buyers can actually choose on which L2 chain they want to buy. The reason they would do this is because some people are more familiar with one L2 chain than another. They might be more comfortable using Polygon, or Arbitrum, depending on their experiences or depending on which chain they own tokens to pay the gas.The problem is that if there are more purchases on one L2 chain than the other, it would lead to reduced supply quantity on one chain and a high supply quantity on the other, and vice versa.
The solution is using 2 L2 chains: Polygon Mumbai and Arbitrum Testnet, where we have deployed the Boson Protocol contracts. In order to interconnect these 2 chains, we have deployed Chainlink nodes (one on each chain) each coupled with a Chainlink External Initiator. The External Initiators allow the nodes to capture events from the other chain. To link the Boson Protocol with the Chainlink nodes, we have added another contract called LocalOracle, deployed on each chain