New simple wallet template

in #bitshares5 years ago

A basic starter wallet template for the community to build on.

As we all know, the current Bitshares wallet is a bit of a behemoth, that's why I've decided to make and open source a very basic Bitshares wallet template. This template can be forked by anyone and used to create specialised/branded interfaces for Bitshares. You can find the template here:

https://github.com/svk31/bitshares-wallet-template

Wallet Template Screenshot

Simplified login

The wallet makes use of a new feature I've added to the graphenejs-lib: Account login. This is the same type of login used by Steemit, where a private key is generated on the fly from your account name and password. This means nothing is stored in your browser, and no private data is sent over the wire. This login feature could be reused by any number of wallets and you could then login everywhere using the account name and password.

Since your account name and password become your brain key in this case, it is important that you use a very long password, 16 characters at least. Remember: there's no centralised method of recovery so make sure you remember your password!

Wallet Login Screenshot

Transfer

The wallet currently only supports making transfers, and it connects to the Bitshares testnet. If you want to try it out, you can go to http://svk31.github.io/bitshares-wallet-template

Successful Transfer

Sort:  

This is just awesome!

BTW, the python libraries are now compatible to the new password scheme aswell

Well done!
A specialised/branded interfaces for Bitshares will accelerate the establishment of BitShares ecosystem!

This is very much what bitshares needs!

Looks great. I'm really happy to see this.. Keep voting everyone...

I'll be happy to update my account authorities to work with this simplified login. With these long passwords we really need to break out the Qr reader libraries and add this:

I intend to add a screen that will let you generate a new set of keys with instructions how to replace/add to your old keys in the standard GUI. In the meantime it's fairly easy to use graphenejs-lib in node.js to generate a new key, there are tests in the library doing just that. Of course until someone decides to host a version of this simple wallet for Bitshares, the only live version uses the testnet.

Amazing svk!

Nice work, svk. A couple questions: 1. To access multiple accounts from this simple wallet, would it require multiple logins? Or could multiple accounts be linked to one wallet and accessed via one log in? 2. Would it be possible for some entity (e.g. OpenLedger) to offer password recovery service in conjunction with the simplified login? 3. Can the simplified login be implemented in the current default bitshares wallet? Thanks in advance.

  1. Yes it requires multiple logins like on steemit.com. Since there's no real wallet, just a set of keys stored in memory, it's the easiest way of doing things. Support for multiple accounts could be added but I would prefer to keep it as simple as possible to be honest. What we've seen with the normal BTS GUI is that there's a lot of confusion over accounts vs wallets, so in this version I'd like to keep it to one login -> one account.
  2. Sure, but it would be equivalent to giving them control of your private keys. I'm no expert on password management or recovery though, there might be a good way to implement this without jeopardising your keys.
  3. The default wallet is heavily tied to the "wallet" infrastructure which is part of the reason why I decided to make this new wallet from scratch. It might be possible to add the simplified login though, I'll have to investigate a bit.

This is super awesome svk! :)

Something like this is so badly needed. Excellent initiative.
It's always painful for me to see such a powerful system staying in the shadow. Hopefully with improvements like this it will eventually change. Thank you, svk.

Your work is amazing and much appreciated SVK. Thank you for all that you do to help others.