Introducing ThunderBridge: The Backbone Powering ThunderCore’s Interoperability
Tags: Dapps, Research, Thundercore, Ethereum, Crosschain

In the last post, we discussed how ThunderCore can now support over 75% of the entire crypto market cap to be interoperable on ThunderCore, and how you can convert your WBTC, USDC and USDT on Ethereum to their high-speed ThunderCore counterparts TT-WBTC, TT-USDC and TT-USDT today. All tokens running on ThunderCore can instantly enjoy the benefits of cheap transaction fees and blazingly fast confirmations.

[You can see your TT-USDT, TT-USDC, TT-WBTC and TT-ETH along with your TT balances on the wallet tab in ThunderCore Hub]

You might have noticed that there is a new TT-ETH! We are proud to announce that, TT-ETH has just been supported on ThunderBridge and it’s now available in ThunderCore Hub!

If you open up the ThunderCore Hub mobile wallet today, go into the Wallet tab and look at the available tokens, you might be surprised to know that you can directly deposit your WBTC, USDC, USDT and ETH to your ThunderCore Hub address, and it will be automatically converted to TT-WBTC, TT-USDC, TT-USDT and TT-ETH and accessible in ThunderCore Hub instantly! You might wonder how does this all work? The short answer is that: it is ThunderBridge that’s doing all of the hard work and performing its magic behind the scenes.

What is ThunderBridge? 🌉

ThunderBridge is the infrastructure that enables the interoperability between ThunderCore and other chains, in particular Ethereum, in its current form. Under the hood, ThunderBridge is comprised of a series of smart contracts deployed both on the ThunderCore side and on the Ethereum side to enable the cross-chain communication.

Why ThunderBridge?

Interoperability between different chains has been one of the most urgent issues in the entire cryptocurrency industry. Our team believes that the ability to freely move crypto assets between different public blockchains is a basic right for crypto users as well as the future of the industry, hence our team has been building the ThunderBridge as early as 2019 when we launched TT-USDT last year, in an effort to build a resilient infrastructure to be used for years to come. ThunderBridge plays an important role in the ThunderCore ecosystem where DeFi applications have been flourishing. And to achieve the holy grail of interoperability, the ThunderCore team built ThunderBridge to supporting 75% of the crypto market cap.

How do I use ThunderBridge?

📱Mobile Users: ThunderCore Hub

If you are a ThunderCore Hub user, great news! ThunderBridge is actually fully integrated and neatly tucked away for you so that you may not even realize that you are actually using ThunderBridge! In fact, every time you receive TT-ETH in ThunderCore Hub by scanning the QR code or copy/pasting the address, the conversion from Ethereum’s ETH to ThunderCore’s TT-ETH happens on the ThunderBridge! The same is true for the other direction, and for other tokens. For a walkthrough of the transfer steps within ThunderCore Hub, see here.

2. 💻 Desktop Users:

If you are a desktop user who uses MetaMask every day, you can visit the ThunderBridge UI here: https://bridge.thundercore.com/

[ThunderBridge UI]

For example, if you select Ethereum Mainnet as the connected network of your Metamask, you will be initiating a transfer from your Ethereum tokens(ERC20-USDC, ERC20-WBTC, ERC20-USDT, ETH) and convert them to ThunderCore.

How does ThunderBridge work?

On a high level, the ThunderBridge works exactly like a bridge with cantilevers on both ends of the bridge, just like the Golden Gate Bridge.

[The mental model of ThunderBridge is just like the Golden Gate Bridge]

Let’s take the TT-USDT <-> USDT bridge as an example:

There are a set of smart contracts on the ThunderCore Blockchain, and similarly, another set of smart contracts on Ethereum:

```

[ TT ] “Home” EternalStorageProxy: 0x2C66e58c123fe807ef9c36682257fA6bfB4AFA52 at block 12844082

[ TT ] TT-USDT Token: 0x4f3C8E20942461e2c3Bdd8311AC57B0c222f2b82

[ ETH ] “Foreign” EternalStorageProxy: 0x2E8a97c62Cc644aDCd108b9bEbCB9B32C9c58a1C at block 8223469

[ ETH ] ERC20-USDT Token: 0xdac17f958d2ee523a2206206994597c13d831ec7

```

For the TT-ETH <-> ETH bridge:

```

[ TT ] “Home” EternalStorageProxy: 0x09b122f3d3f971e8fb2e311135BE7E10513E0B0D at block 52544692

[ TT ] TT-ETH Token: 0x6576Bb918709906DcbFDCeae4bB1e6df7C8a1077

[ ETH ] “Foreign” EternalStorageProxy: 0x48B884FE1b6F92Ca21646260001307b8E5B83e25 at block 11156642

```

When you initiate a transfer of 1 USDT from Ethereum to ThunderCore’s TT-USDT, the Ethereum smart contracts component of ThunderBridge takes notice of that event and holds your 1 ERC20-USDT in smart contract escrow.

At the same time, the ThunderCore end of the ThunderBridge, that is, the smart contracts on ThunderCore also notices that the user is trying to convert to TT-USDT. Once ThunderBridge sees that sufficient confirmations have happened on Ethereum(this part take up the majority amount of waiting time, as Ethereum confirmation time is generally slow), the ThunderCore smart contracts begin to mint an equivalent amount of 1 TT-USDT and it becomes available to the user’s ThunderCore address.

Conversely, when a user decides to convert 1 TT-USDT back to Ethereum USDT, the 1 TT-USDT first gets burnt on ThunderCore. Once the Ethereum Smart Contracts notices that 1 TT-USDT has been burnt, it then releases 1 USDT to the user-specified Ethereum Address. This is how ThunderBridge guarantees atomic transaction so that there is always a 1:1 peg between the corresponding pairs on ThunderCore and Ethereum.

How do Tokens on ThunderCore differ with those ERC20 Tokens on Ethereum?

In the next post, we will share more details about how TT20, the token standard behind all the blazingly fast tokens on ThunderCore. Stay tuned!

[ Website] Thundercore.com

[ Telegram ]

T.me/thundercore_china

T.me/thunder_official

[ Medium ] Medium.com/thundercore

[ Twitter ] Twitter.com/ThunderProtocol