New simple wallet template

in #bitshares8 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.

I opened several accounts: Coinbase, BitShares and I got an app, Breadwallet for my iphone.
It's clear I have no f#$#*ing idea what I'm doing as cryptocurrency is new to me. A really clear, non-technical route would be really appreciated....
I feel that for the newbie, Coinbase is much easier to use than BitShares, but I want to use BitShares because it's Dan's baby and I respect him. However, I spent over ten minutes on BitShares trying to find the "sign out" or "log out" button, and I never found it. I cleared my browsing cache instead of wasting more time.......incredibly non-user friendly, unless, there's something I'm unaware of...

If you're talking about the openledger wallet there's not really a 'log-out' button. Just a lock in the upper right corner that locks the wallet from having any activity until you enter the password again.
Dan built the Bitshares blockchain and code (which is beautiful), not so much the wallet (which really is very very good).
Coinbase has a different sort of function to OpenLedger. Coinbase lets you trade your dollars for bitcoin and then holds the bitcoin private keys for you. They basically issue you an IOU for your hard-earned dollars. OpenLedger is an interface to the Bitshares blockchain and you get to hold you own key to your own assets. OpenLedger also lets you trade a variety of coins like Steem or Etherium and other assets like Gold, USD, or Obits.
Coinbase makes it simple, they offer one price and one trade pair with a spread that they choose. This is extremely profitable for them. OpenLedger offers better flexibility and infinitely better security.

This is why we need s user friendly wallet for non-technical folks. It should be so easy and intuitive we don't need a help section.

My-echo are building something and hopefully others will too.

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.

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.

Amazing svk!

This is super awesome svk! :)

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