Creating Neo public and private keys OFFLINE Part 2 of 2

Offline – going secure

Creating a batch of public and private NEO keys OFFLINE

Devote an old laptop to this particular task until they provide the functionality in the NEO-CLI to allow Neon Wallet to behave like Bitcoin’s Electrum offline facilies.

You could do the following.

  1. Take a fresh Ubuntu 16.04 disto and install on laptop + simple printer (new printers may have residual printer memory…)
  2. Install Electrum follow instructions in part 1
  3. Follow my instructions for generating bitcoin electrum 12 word passphrase in part 1

You then end up with a whole collection of PRIVATE KEYS which you can use paste into the Neon Paper Wallet generator

4. Download Neon Wallet by CoZ We can use this to optionally double check the NEO public keys generated by Snowpowers Paper Wallet code. EG


5. Go to the current Neo Paper Wallet site

6. Disconnect the laptop

7. Use the private keys you generated in Electrum and paste them into the Neo Paper Wallet page which is now offline.

You generate the Neo PUBLIC keys by pasting in the PRIVATE bitcoin electrum generated keys and clicking on “Convert” – this allows you to create Neo PUBLIC keys from Electrum’s PRIVATE KEYS, which are now completely regenerative them from just a 12/13 word passphrase.

  • Create a whole load & PRINT THEM, write down the 12 or 13 word passphrase
  • Vapourise that laptop so it cannot contain any residual private keys
  • Now you have a whole collection of Neo public and private keys which have been generated offline with your own dice rolls

So you can now send Neo from an exchange to one of the public keys and the private has never been exposed to an online connected PC

When you want to send them back to the exchange you can use the Neon Wallet by the City of Zion which at present seems to be the best and scan in via your webcam and zbarcam.

Personally I use my Android phone and kde-connect

Step THREE Recovery to exchange

On your internet connected ubuntu install zbarcam

sudo apt-get install zbar-tools libzbar0 libzbar-dev

sudo apt-get install python-dev 

sudo pip install zbar

Application usage:

user@yourpc:~$ zbarcam

zbarcam will then pick up your web cam and scan a QR code which you can paste into Neo/Neon Wallet.

So now the exposure is only in your clipboard.

You can then collect your gas and immediately send Neo to your exchange. ASAP.

At this point you should just about outwit a keylogger/trojan scanning your clipboard on a linux based machine.

But this security situation for Neo will not be resolved until the NEO-CLI is changed a little from what I can understand to provide some off/on-line transaction creation and signing

NEO tipping address: AR2XDEk1Q8XCXEGaHufoCYYBqTk6ZEvVXe

Secure methodology for creating Neo public and private keys Part 1 of 2


The beauty of this process is that all those private keys you generated for the Neo Paper Wallet public key generator by snowypowers via bitcoin private keys.

These can be regenerated with just the 12 or 13 words from the bitcoin Electrum wallet which YOU can generate with dice rolls.

It creates a simple generation and management of Neo Private keys and no disclosure of the private key until you want to transfer NEO back to an exchange.


I’m on Linux which is good but I did get hacked via Teamviewer once and actually saw the person on my PC. I had recycled a password in the dim and distant past from the linkedin hack…

What saved me even if I hadn’t been in the office was 2FA on all my accounts… Live and learn fast!

However as far as I know the official Neo Web Wallet @ allows you to send without re-entering your password like say electron. This is a real over sight.

Now I’ve gone over to the Neon City of Zion wallet and use kde-connect to securely pass my private key I scan as a paper QR code on my phone to pc clipboard, which I then paste into the Neon City of Zion wallet.

What would be cool for both wallets is allow you to enter either a 12 word passphrase which you could generate in electrum for example OR your private key.

You can for example user electrum to generate your 12 word passphrase and use one of the private keys generated from your addresses as a Neo/Neon private key.


Part One Installation bitcoin Electrum

On the “official installation page”


 sudo apt-get install python-qt4 python-pip


sudo apt-get install python-qt4 python-pip python-setuptools

I have contacted the maintainers of this page and got nowhere, so I have no idea how the average Joe succeeds in installing it at the moment.


Step TWO Generate your passphrase

Follow the instructions below or just create a new wallet with Electrum which will generate a 12 word passphrase for you

Rolling the dice Download Dice to Key

wget -O 
cd dice2key-master

./ 123456123456123456123456123456123456123456123456123
dice rolls – the dice2key software will now warn you it’s not 100, but we’re not using it for the actual key, just the entropy, but more than 51 rolls in Electrum v2.4 creates a seed phrase greater than 13 words.

mark@asrock:~/dice2key-master$ ./ 123456123456123456123456123456123456123456123456123 
warning: The input has less than 100 dice rolls4. Download Neon Wallet by CoZ

Next we need the number for Electrum as a decimal not hex, which we can do from the command line:

mark@asrock:~/dice2key-master$ echo "ibase=16; 91D89C79009852800BFFCCDC406B1BA0"|bc

Go to the command line, NOT the console within electrum and run

electrum make_seed --entropy=193862769152946304546066490817889639328

It will generate a SEED PHRASE with thirteen words like:

useless welcome frame safe door scrap lock swear frame height hotel endless depth

[Or you can remove a few numbers from the end IE 39328 and get a standard 12 word passphrase

electrum make_seed --entropy=1938627691529463045460664908178896
must student hungry bike parade boring frown sell detail agent tiny matter

Having spoken with Thomas Vögtlin Electrum’s author on IRC, more entropy does not result in a more randomly generated private key:

[21:51] <m1bxd> Hullo anyone, electrum make_seed –entropy=XXXXXXX can generate a seed of MORE than 13 words, will this cause a problem in the future? or does it not matter – Cheers

[22:24] <ThomasV> m1bxd: notes

Then you can run electrum

-> File

->  New/Restore

->  Give the wallet a name 2017-08-19 NEO1

-> Standard Wallet

-> “I already have seed”

-> Enter

must student hungry bike parade boring frown sell detail agent tiny matter

-> Next

Go to “View”->”addresses”

-> choose a bitcoin public key

-> Right click

Pick a key pair and use the private key as you Neo / Neon private key.

Now do a couple of things click on the QR link above close

Go to go Copy – go into LibreOffice Writer paste it into a new document

Then go back and copy the private key IE


Next head over to

And grab you Neon wallet, if you are on Linux/Ubuntu don’t forget to make the
Linux.Neon-X.X.X-x86_64.AppImage – EXECUTABLE

And paste in the private key we derived from the bitcoin key pair because we can use this in Neon Wallet by CoZ or the official wallets.

We can use this to optionally double check

Now the Neon CoZ wallet has generated the NEO public key


From the bitcoin private key which you now regenerate from the 12 word passphrase electrum. In fact off the bat you could have generated 20 NEO private keys.

Paste this public key on your LibreOffice Writer page. As well as the NEO public key, print it a few times along with the public key & private key QR codes and12/13 word electrum passphrase.

At the end DO NOT SAVE this page. Only print it ou.

Complete Offline public key/private key generation – head off to part 2

NEO tipping address: AR2XDEk1Q8XCXEGaHufoCYYBqTk6ZEvVXe