Development of the Multichain Wallet - Multichain Ventures

The Multichain Ventures Wallet is a mobile client to send and receive $TOKES cryptocurrency (among others) transactions on the Waves Blockchain.

About

Multichain Ventures was a blockchain company that worked on developing an integrated ecosystem for merchant software products powered by blockchain technology.

Its main product was The Tokes Platform, a blockchain-powered point-of-sale (PoS) system. While initially only transacting in its own crypto token ($TOKES), it was eventually expanded to transact in other coins like $BTC and $LTC (Litecoin) and meant to work in conjunction with its mobile wallet. In addition to products surrounding the PoS, it also provided infrastructure and payment solutions for merchants.

Project Objective:

When the point-of-sale system was developed, the need for a specialized wallet for $TOKES was identified. We were tasked to help with the development of the wallet. The main objective of the wallet was to provide support for both Android and iOS as well as to have the minimum amount of features required by similar crypto wallet offerings: read and produce QR codes, send and receive cryptocurrency, and import/backup accounts.

Conceptualization:

  • We studied the existing Waves wallet to match the minimum feature coverage
  • Mockups were provided to design what would be considered optimal user experience
  • Reviewed different frameworks for mobile development

Technologies Used:

  • Node.js
  • React Native
  • Expo SDK
  • Waves Blockchain

Features:

  • View transactions
  • Send transactions via address or QR code
  • Request $TOKES via address or RQ code
  • Backup private seed
  • Import private seed
  • Vendor locator to find merchants accepting $TOKES
  • Biometric ID for security

Project Challenges:

  • We operated in a small team and needed to be able to develop an app compatible with both Android and iOS as well as have a development workflow that would allow us to review, identify bugs, test features, and automate as much as possible.

Solutions we developed:

  • For the development of the mobile app, we ended up choosing Expo SDK as our framework as it allowed us to build using React Native for both deployment platforms.
  • Using Expo’s previews, we were able to test every development branch pushed to the repo and identify bugs for fixing before any merges to master. This was paired with well-thought-out development standards, allowing us to minimize new bugs being introduced into the master branch.
©EastCode 2024