Inside the code choice that connects MetaMask with the Cosmos ecosystem

The launch of MetaMask Snaps brought expanded functionality to MetaMask wallets, allowing users to access different layer-1 blockchains without needing to install different extensions or wallet applications. 

These features enabled the primarily Ethereum-based wallet app to become interoperable with other layer-1 blockchains, such as Bitcoin, Solana and Cosmos chains. 

Snaps achieves this by deriving addresses from other blockchains, according to Christian Montoya, the global product lead for MetaMask Snaps. 

“We can derive from a Cosmos address, so rather than going to a bridge that allows you to transfer tokens from Ethereum to Cosmos, you can just do that within MetaMask and the Cosmos Snap that you install into MetaMask,” Montoya told Blockworks in an interview. “The addresses you’re using to bridge from one way to another are within MetaMask and fully self-custodial.”

As a result, Snaps could expand cross-chain traffic by giving users simple access to bridges. 

There are currently 36 open Snaps in Open Beta, and the Cosmos MetaMask Snap is one of them that has been made available during this time. 

MetaMask is currently one of the most popular crypto wallets today. According to a report by CoinGecko, as of Aug. 1, 2023, a total of 22.66 million users had installed the MetaMask wallet. Making it the most used crypto wallet. Coinbase Wallet, the second largest wallet by installation, only had 11 million users. 

Why Agoric’s hardened Javascript for Cosmos Snaps?

Connecting MetaMask to Cosmos was no easy feat, and the development team chose Hardened JavaScript for its ability to operate with third-party applications without compromising security.  

Agoric CEO and founder Dean Tribble told Blockworks that his team dug into research about how to make JavaScript applications more secure, having previously worked with the founders of MetaMask on extensibility projects.

“Agoric was founded around this: how do you harden JavaScript, how do you safely run confined components written by other people when you don’t trust them,” Tribble said. 

Hardened JavaScript, previously referred to as SES, is what Tribble refers to as the “JavaScript you thought you were programming in.”

JavaScript itself is mutable, so different libraries could change the programming language, Tribble explained. Hardened JavaScript locks down the programming language in the way the spec says it is programming in.

“It gets rid of a few things like non-determinism, but it makes it much better suited for blockchain uses, and it was really the hardening in the ability to run third-party components that got [MetaMask co-founders] excited about it,” Tribble said.

Don’t miss the next big story – join our free daily newsletter.

Follow Sam Bankman-Fried’s trial with the latest news from the courtroom.

Leave a Reply

Your email address will not be published. Required fields are marked *