-
Notifications
You must be signed in to change notification settings - Fork 0
Wallet seeds vs ids
Your wallets each have an id as well as a seed. Both are 32-byte uppercase hex strings that look like this:
000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F
Nanook uses wallet ids to identify your wallet. A wallet id only exists locally on the nano node that it was created on. The person who knows this id can only perform all read and write actions against the wallet and all accounts inside the wallet from the same nano node that it was created on. This makes wallet ids fairly safe to use as a person needs to know your wallet id as well as have access to run RPC commands against your nano node to be able to control your accounts.
A seed on the other hand can be used to link any wallet to another wallet's accounts, from anywhere in the nano network. This happens by setting a wallet's seed to be the same as a previous wallet's seed. When a wallet has the same seed as another wallet, any accounts created in the second wallet will be the same accounts as those that were created in the previous wallet, and the new wallet's owner will also gain ownership of the previous wallet's accounts. Note, that the two wallets will have different ids, but the same seed.
Nanook is based on the Nano RPC, which uses wallet ids and not seeds. The RPC and therefore Nanook cannot tell you what a wallet's seed is, only its id. Knowing a wallet's seed is very useful for if you ever want to restore the wallet anywhere else on the nano network besides the node you originally created it on.
The nano command line interface (CLI) is the only method for discovering a wallet's seed. See the –-wallet_decrypt_unsafe CLI command.
At the time of writing (April 2021) if you are using the official docker image to run your node, you can call --wallet_decrypt_unsafe
like this:
docker exec <container_id> rai_node --wallet_decrypt_unsafe --wallet=<wallet_id>
Replacing <container_id>
with the number below CONTAINER ID
when you run docker ps
, and <wallet_id>
with the wallet id (wallet.id
) that you see in Nanook.
In case you ever lose access to your node, or the data is erased, you should write any seeds down for wallets that you intend to use to receive payments.