Comment on page
The Marscoin Online Wallet ("Wallet") is an open-source non-custodial online HD wallet with a built-in encrypted backup service and seed phrase recovery.
It serves as the entry point for new users to the transactional features of the Martian Republic and our set of online tools for participation in the civic functions of the Martian colony.
Setting up an online wallet account is simple: A basic website framework provides a website where users can setup accounts and sign in (password and 2FA protected by default). Users can create accounts and HD wallets in their browser client side. The website uses strong entropy sources to facilitate the generation of a unique secure client-side browser-generated seed phrase. This seed phrase can then be backed up encrypted to the Martian Republic server or simply re-entered every time the user logs in, for those who prefer an extra level of security.
Basic receive and send functions allow users to receive and send Marscoin to and from other participants in the network, from the convenience of an online experience and the security of a non-hosted private wallet. The Martian Republic server has no access to the user's private seed phrase. Encryption of the seed phrase for the optional server-side backup uses AES.
The open-source nature allows anyone to vet and improve the online wallet codebase and minimize security risks. It is also intended to allow multiple parties to offer these hosting services and distribute the server load while competing with each other by providing additional services. As each implementation rests on the blockchain as the ultimate arbiter of truth, various architectures and systems can be deployed that vie for utilization, increasing the decentralized nature of the participating server/client architectures and allowing them to keep evolving.
The Martian Republic wallet currently features two main pages: a Dashboard page with general analytics and the Wallet page itself used for making online transactions.
Martian Republic wallet dashboard
The dashboard features the wallet summary, transaction list, and Marscoin price charts.
The main wallet page
The wallet itself allows the user to send and receive Marscoin. (Use the scan button for webcam popup to read QR codes.) To open a new wallet or reconnect an existing one, the user chooses options "New Wallet" or "Connect Wallet" from the menu structure.
Disconnecting, reconnecting, and generating new wallets
The user's seed phrase is stored in the browser's local storage after decrypting the AES-encrypted backup from the server. This way the server does not have any knowledge of the user's private key.
Unlocking with seed phrase
For unlocking the user can chose between entering the full seed phrase or unlocking a backed up encrypted copy of his seed phrase with a password
Generating a new wallet involves moving your mouse cursor to add entropy on top of a seed number derived from real-world entropy sources. (random.org, drand etc.)