In this topic, we will introduce you the structure of Incognito extension and other web-based apps which we plan to launch in Q2 2022.
Incognito wallet extension
Incognito extension is a crypto wallet compatible with Incognito chain. It allows users to manage their keychains in a variety of ways while isolating them from the site context. With Incognito wallet extension, you can easily store, send and receive funds on the Incognito chain.
The first version of extension will be supported on the Chrome and Firefox browser.
Secure your fund
Extension Wallet is a non-custodial service, which means that only those who have your 12 - word seed phrase can access to your funds. Your wallet is stored in an encrypted file within your browser, protected by your password. If your computer is lost, stolen, or destroyed, 12 - word seed phrase is the only way to recover your wallet.
To protect your wallet, you will need to set up a password that is used to encrypt the private keys and then will be securely stored on browser storage. The following illustration shows how your wallet is protected using Incognito extention:
and here is the process of how to unlock your wallet:
Let’s check the processes for shield and unshield a token using Incognito extension wallet and a web-based app ( note: because we can not call another extension from Incognito extension itself, it’s a necessity to build a web-based app for using shield/unshield functions).
The shielding process on Incognito extension is quite similar to the flow on the Incognito mobile app. The Incognito team will run a worker to monitor all shielding transaction requests send to vault smart contracts, and then to submit the shielded proof to Incognito blockchain. Once the proof is verified, new privacy tokens are minted at a 1:1 ratio.
Step 1: From a web-based app, user selects a token and then clicks on “Shield" button to get a one-time shielding address from Incognito extension.
Step 2: The user will select a supported extension wallet (e.g., metamask) to create the shield transaction with corresponding shield data (i.e., token id, received address, amount).
Note: anyone can setup and run a job to monitor the transactions sent to Incognito vault smart contracts.
The unshield process on Incognito extension requires one more round interaction between users and the web-based app.
On the Incognito mobile app, when the user creates an unshield transaction, there are two actions behind the scene: 1) create a burn token transaction and then submit the corresponding transaction hash to Incognito blockchain; 2) submit the transaction hash to the backend of Incognito mobile app.
When the burn token transaction succeeds, the backend will submit the burned proof to the token vault smart contract to complete the process (note that this step requires a small amount of token as the transaction fee)
With Incognito extension wallet, we remove the centralized role of Incognito backend service. Therefore, this new product will allow users to proceed every step by themselves.
Step 1: User selects a token and then clicks on “Unshield” button.
Step 2: User approves the burn transaction on Incognito Extension to submit it to Incognito blockchain.
Step 3: Waiting for the transaction to succeed, then the user clicks on “Submit proof” button on the web-based app.
Step 4: To complete the process, user selects a supported extension wallet (e.g., metamask), and then approves the transaction to submit burned proof to the corresponding public blockchain.
Unlock the privacy dApp world
Along with Incognito wallet extension, in Q2 2022, we also plan to release some first web-based applications to support main functionalitis in Incognito ecosystem such as:
Privacy dApp will come later with more utilities and expand the integration across blockchains.
Should you have any questions regarding this proposal, feel free to drop me a comment below and we will be happy to discuss further. Thank you!