I was inspired to write an extension for signing Hedera Hashgraph transactions just before I started working on a web app. Eventually I decided to make Hedera Wallet a fully featured wallet extension like Metamask and build a web app to demonstrate its functionalities. Instead of settling for generic test cases, I decided to write components that were actually useful. I settled with an asset tokenization helper, a token bridge, an account ID faucet and a yield marketplace (unfinished due to time constraints) after brainstorming what the Hedera community would find helpful.

What it does

The Hedera Wallet extension has most features you would expect from a wallet, and provides an API that websites can use to connect to it. The Hedera Wallet Playground web app has 3 components: The asset tokenizer helps users tokenize assets; the Ethereum to Hedera Hashgraph bridge lets users wrap ETH into hETH for usage on Hedera Hashgraph and also lets them unwrap hETH back to ETH; the testnet account faucet provides account IDs along with testnet HBAR for testing purposes.

How we built it

As I did not have any prior experience with building a browser extension, I looked at the source codes of various browser extensions to learn common practices for file organization. I started with adding TokenCreate transaction support for the BitGo account library as I thought I could make use of it, but Hedera's Javascript SDK already supported offline signing of transactions. Eventually, I was able to piece together something that could sign Hedera Hashgraph transactions, and I built upon that until I had a functional wallet. As for the web app, I dogfooded by using APIs provided by Hedera Wallet, and was able to improve the extension and the web app together.

Challenges we ran into

Besides the challenge of never having built a browser extension prior to this hackathon, I also faced difficulties while building the bridge, as I have never built an Ethereum application before. Not only that, it was my first time using Vue to build applications.

Accomplishments that we're proud of

I'm proud that I am able to end up with any working products at all. This project was largely uncharted waters for me.

What we learned

  • How to build a browser extension
  • Hedera Hashgraph is easier to build on than Ethereum
  • Vue is superior to React in some ways
  • Cloud functions for firebase is the way to go unless you absolutely need to have your own VPS or if you require huge amounts of processing power ## What's next for Hedera Wallet Browser Extension and Companion Web App I will continue to improve the asset tokenization protocol (from the flowchart to something else), and will enhance the security of the token wrapping protocol. I will also build a yield marketplace, one of my cut ideas. It is a marketplace for tokenized yield generating assets (e.g. tokenized properties, tokenized fiat currencies). An entity will be responsible for the distribution of yield for each token proportional to a user's holdings. The yield distribution algorithm could also be used by charities to efficiently distribute help to those who need them most, (more yield generating tokens are given to those who need it more).

Built With

Share this project: