Neo: Is there any safe way to generate and manage NEO wallet as offline?

Created on 24 May 2019  路  14Comments  路  Source: neo-project/neo

I need to generate multi neo account. It's not a safe way to go when trying to call Neo node as getnewaddress of RPC and let a NEO node manage there wallet.

Is there any way to help handle this case.
EX: In ETH or BTC there is a library named MoneyTree which simulate HdWallet.

help wanted

All 14 comments

You can use neo-cli. https://github.com/neo-project/neo-cli

https://github.com/neo-project/neo-cli/blob/6c68d5d868344917e999dd9305d26551a21097a6/neo-cli/Shell/MainService.cs#L559

There's a command: create address [n=1]

You can type help for more information.

@erikzhang thanks for your answer.
But I think to manage addresses and the private key in the neo node is not a safe way to go.
it is easy to be attacked and leak the private key.

If you don't open RPC module, it is safe to manage wallet.

I'm building an exchange and I need to generate neo account for user dynamically.
There are so many cryptocurrencies is integrated on our exchange.
The Neo-cli is the full node gateway that we used to connect with the NEO blockchain.
So it had to be exposed RPC.

You can use an offline PC to create the addresses, and then copy the wallet file to the server.

yep, I did think about that. But it's to manually and potential for many problems.

Any suggestion?

I'm trying to find a dynamically way to handle it.
I appreciate your help @erikzhang.

Won't simply using an offline seed and BIP-32 work? You only need to expose an extended public key: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#unsecure-money-receiver-nmih0

@RavenXce Thank you. I'll try it.

@RavenXce is there any way to generate root key from mnemonic like iancoleman?

You can also use this javascript library for offline generation: https://github.com/snowypowers/ansy

@RavenXce is there any way to generate root key from mnemonic like iancoleman?

Yes. Just generate the appropriate keys, ideally with the canonical coin type in the hierarchy path (888):
https://github.com/satoshilabs/slips/blob/master/slip-0044.md

Derive the account scripts and addresses from either private or public keys using something like neon-js:
https://github.com/CityOfZion/neon-js

I did with some custom from HdWallet. Thank for all support.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vncoelho picture vncoelho  路  3Comments

igormcoelho picture igormcoelho  路  3Comments

igormcoelho picture igormcoelho  路  4Comments

borovik96 picture borovik96  路  4Comments

lock9 picture lock9  路  4Comments