New Paper Wallet Generator

Edit: Wallet Generator is live and can be used form:

https://paperwallet.peercoin.net/


As you all know, there is a new wallet generator in development.

You can check a demo here (mobile-only for now): https://wrong-song.surge.sh/

The main focus was getting a simpler and modern interface, while making it smaller, which means faster load time on mobile devices.

I think we achieved both. Its simple, clean, and way smaller than any other wallet generator that I know of.

Just for comparison:

While other wallet generators certainly have more options, for the general enduser what really matters is being able to generate an address as fast as possible. And in this regard, we now will have a 20x lighter tool.

But that comes at a cost.

Basically everything was built from scratch, including a good part of the actual generator code (cryptographic/math libraries are 3rd-party tho). This could lead to bugs and other inconsistencies, so a review from this code by the core devs would be much appreciated, because yah know… don’t want to disapoint mr. Xavier here right?

tl;dr

please review the code (to help find bugs/security issues), starting from here (check imports for other files where you might want to take a look).

Any other bugs/ideas/whatever can also be posted here.

2 Likes

@hrobeers can you take a look at cryptography code?

I will take some time to review soon.
But can you make it work without a touch interface?

I know I’m a dinosaur not having touch interfaces, but I really dislike them.
I’m already avoiding my mouse as much as possible.

1 Like

But can you make it work without a touch interface?

Definitely, the wallet is set to work on desktop too in order to be released, I’m start working on it this week.

The wallet now works on desktop and mobile: https://wrong-song.surge.sh/

Great job @kazzkiq.

@hrobeers please take a look at the code then we can host it.

@willy I was thinking to use paperwallet.peercoin.net and hodl.peercoin.net (not published thought, but as easter egg).

Pinged for dns settings I suppose?

Sure, just give me the IP addresses.

@kazzkiq

My first review without diving into the code:

General look and feel: fantastic! Much better than http://wallet.peercointalk.org/.
Also good that no network communication is happening after initial load.
However, I’m missing some features for a full replacement.

The features I’m missing in order of importance:

  1. BIP38 encryption support (both generation and decryption). I consider this the most important as users should be encouraged to encrypt their keys even when stored on paper.
  2. Private key QR code, nobody wants to type in his private key when spending.
  3. Paper wallet art, it’s always nice to print money and give it to someone.
  4. Bulk generation, especially merchants need this.

Will dive into the code soon.

This is something I need to have made by my designer. He’s working on something more important for me right now, but I’ll eventually get to it.

There is plenty of room for improvements and new features, but that could be added after this basic version goes online. In the meantime, if a heavy user demands advanced options, we can give him the old generator.

What do you guys think?

Also, is the repo going under peercoin?

Aha, right after blessing by @hrobeers

I really like the source code, looks clean and simple to me.
Thanks for teaching me about https://svelte.technology/ :wink:

Just one question @kazzkiq :
Where did you get these source files from? https://github.com/kazzkiq/ppc-wallet/tree/master/app/helpers/peercoin

The tests/review I did:

  • Validate some generated keys
  • Monitor network communication
  • Made sure local storage and cookies do not store keys.
  • Went through the source code to get an idea of the architecture.

One feature that I believe is still needed, is to run some basic tests before showing the keys to make sure the browser correctly supports this tool.
You don’t want people with old browsers accidently sending money to incorrectly generated keys.

1 Like

Agreed. Right now there isn’t any visual notice for unsupported browsers. Older browsers should be blocked on the spot with a friendly message. Will work on it tonight.

They were imported from this peercoin repo, which in return used this code from a bitcoin address generator. Since any of them seem to have any specific licenses, I guess we can simply add attribution to their Github users.

I don’t think this can replace wallet.peercointalk.org yet, due to some missing features.
But it definitely has the potential!

This app get’s my blessing, it looks solid.

The point of the project is to replace it, as we can’t have such an important service depending on a person who is not in our community.

Then I will work on the points @hrobeers raised, so we can release a full-featured version.

You can get to hosting this though, as it’s somewhat usable already.

@kazzkiq please coordinate with @willy about DNS.

@willy I reached you on peercoin.chat yesterday, but just in case you didn’t got that, I will post it here too:

Can you point the DNS of those domains to this IP address?

hodl.peercoin.net

To this IP:
172.104.159.149

I’ll do that later tonight. :ok_hand:

1 Like