Succinct's first demo is a proof of concept bridge between Goerli (an Ethereum testnet) and Gnosis Chain that allows users to deposit "Succinct Tokens" (an ERC-20 we created) to a Goerli deposit contract and recieve minted Succinct tokens on Gnosis Chain.
This demo showcases how Succinct's implementation of proof of consensus for Ethereum can be used in implementing a gas-efficient on-chain Ethereum light client, which is used to pass arbitrary messages from Ethereum to Gnosis Chain, powering our demo token bridge implementation.
Check Out Our Technical Blog Post
Further technical details about proof of consensus and our arbitrary message passing architecture can be found here and our SNARK circuits and smart contracts can be found here. This post gives very short instructions on how to use our demo.
To use our demo, go to demo.succinct.xyz. You will need an Goerli account with some Goerli ETH to submit the deposit transaction.
Step 1: Connect Wallet
Click on the "Connect Wallet" button in the top-right and connect a wallet with some Goerli Eth to the website. Make sure that you're connected to the Goerli network and that your wallet has some Goerli ETH in it (Goerli Faucet Link).
Step 2: Faucet
Click on the
Faucet button (refresh the page if the button isn't clickable) to mint yourself some "Succincts" (a valueless ERC-20 we deployed) on Goerli. Wait for the transaction to be included and refresh the page until it shows your balance to be greater than 0.
Step 3: Approve
Enter the amount of Succincts you want to transfer (that is less than your balance) and click the
approve button. This will let the bridge contract spend your coins. Wait for the transaction to be included (you can click on the waiting link to view the transaction on Etherscan).
Step 4: Deposit
After the approval transaction is included (the approval button will say "Approve Success"), click on the
deposit button. This will transfer your tokens to the bridge contract. Wait for the transaction to be included (you can click on the waiting link to view the transaction on Etherscan).
Step 5: Dashboard
After depositing into the bridge contract, navigate to the dashboard (using the top navbar). Here, you will be able to see all of the deposits you've made to the bridge. You will also be able to see your balance of Succinct tokens on Gnosis Chain, which should be
0 if it's the first time using this demo.
Step 6: Wait for finalization
Succinct runs a relayer that relays withdrawal messages to Gnosis chain, that will use the Succinct light client to verify that you deposited tokens on Goerli. Before the relayer sends the withdrawal request, you must wait for the Ethereum block that includes your deposit transaction to get finalized and be reflected in the Goerli light client running on Gnosis chain. (Our operator will generate a SNARK proof and send it to the on-chain light client smart contract). The
Light Client Updates section shows the most recent light client updates and the
Eth Block Number is what you're interested in watching. Your withdrawal will be pending until the latest light client Eth block number (bottom red box) is greater than or equal to the block number of your transaction (top blue box). This will take around 12 minutes, but can take up to 18, so come back!
Step 7: Withdrawal
Once the latest light client update has an eth block number that is higher than the block number of your deposit transaction, the relayer should automatically submit a "withdrawal" transaction that will cause the Gnosis withdrawal contract to call the light client, verify that you deposited the corresponding amount of tokens on Goerli, and then mint you the same amount of tokens on Gnosis.
Step 8: Updated Balance
After the withdrawal succeeds, the status of the withdrawal should change to a green check mark and the "Succinct Token Balance (Gnosis Chain)" field should be updated to reflect your new balance of Succinct Tokens on Gnosis Chain! This should match the sum of your processed deposits.