Theta Desktop Wallet App for Windows and Mac OS X

My project for the Theta Hackathon is a full desktop application, complete with an installer, that runs the Theta Web Wallet. I started with forking the GitHub repository where Theta hosts their web wallet source code and I wrapped the Electron Framework around it to turn it into an installable application. I have implemented the ability to build installers for both Windows and Mac OS X.

What is the Electron Framework?

Electron is a framework that allows you to create cross-platform native applications easily with web technologies such as JavaScript, React, etc. Since the Theta Web Wallet is mostly self-contained, except for calls to their blockchain API, it was a perfect candidate for converting to a desktop application. There are many well known applications built using Electron, such as Visual Studio Code, Slack, and Twitch.

Inspiration: Multiple Receive Address

There was one other motivation for me, though--I wanted the ability to generate new receive addresses based on the mnemonic sequence. This is similar to the way the Bitcoin Electrum wallet works--you can get a new receive address anytime you need one. I added a new option to the Theta Wallet Tab Bar called "Addresses" that will bring up the addresses that can be derived from your mnemonic using the derivation path plus an index. You can also select an address from this list to switch the wallet view to perform additional transactions.

Challenges

My primary challenge is that I have no professional experience in JavaScript, React, or Electron. I have been writing code for many years but most of my experience is C++. In order to get up to speed on this project, I took some Udemy courses on these technologies and then I just dove in head-first.

What's Next For the Theta Desktop Wallet?

If there is sufficient interest, I can add more features, such as a tray component and notification features that alert you when balances change.

Share this project:

Updates