[CLOSED] fully CORRECT wallet setup - how? - readme -


so there is, unfortunately, no single source of truth regarding a number of things. How to correctly set up a wallet too.

Generating a keypair using bin/epoch keys_gen my_secret_password is meant to be for testing purposes according to the epoch docs.
Trying to read my privkey or the publickey in /_build/prod/rel/epoch/keys doesn’t work.

According to some topics here we should use the SDK.
I follow this doc: https://github.com/aeternity/aepp-sdk-python

But how to set up this SDK for mainnet ?
Or is it not needed to be able to generate wallet (just keypair) ?


If you want to generate a keypair it doesn’t matter what network you are connected to as long as you use the latest aepp-sdk-python


privkey isn’t stored anzwheer, i assuem that is by design ,corrct ? So he beneficiary simply is the pubkey ?


privkey is stored in encrypted form in the wallet key that you create in aepp-sdk-python.

You can aslo export the private hex key so you can recreate the account if you need a hard backup.

Here you can find information about how to do that, they back it up, generate the new wallet format and export. So this should solve all your questions. :slight_smile:


There are still open questions and the answers are only implied which frankly sucks.

  1. when using a procedure other than the _keys_gen (which is for testing only as everyone says ) do we need to change something in the epoch.yaml ??? I am asking because:

    dir: keys
    peer_password: “secret”

So it stands to reason that it might be required to actually put the wallet.json and corresponding secret in this ‘keys’ folder to be able to SUCCESSFULLY receive rewards.

So, is it required ?

  1. When creating an AirGap Wallet it is NOT possible to extract the wallet.json (so to speak). How do we then use it for the epoch node ?


The key gens method was mandatory on 0.24 and earlier because it was the node account and it would be used to mine. but since 0.25 the node creates its own disposable keys and as such the key_gens is not required anymore but it is used for testing.

the keys folder requires a password to encrypt the keys generated by the node. and a folder to be able to save the keys. You do not need to provide a private key or a wallet file.

Does this answer your doubts about it?


There are a lot of key pairs in epoch, used for various activities.

  • beneficiary key is probably the most important one. This is the public address that will receive the block reward if your node mines a generation of blocks. Providing a beneficiary pubkey in your epoch.yaml file is a requirement for starting a node. Indeed this could as well be a product of ./bin/epoch keys_gen <PASSWORD>, although, as stated above, you are highly discouraged to do so. This command is for tests only.
  • peers pubkeys are part of the sync protocol. The noise protocol provides encrypted connections but it relies heavily on disposable key pairs and those are auto-generated for you.
  • state channels also use the noise protocol and thus have some key pairs auto-generated for connection purposes

@doge in order for you to receive block mining rewards you need to just add your beneficiary address in the epoch.yaml. As @Kryztoval stated, all the other keys are generated for you. Please keep in mind that the epoch.yaml file is verified for your own safety so using an old version file will cause your node to crash at start (so you don’t have a misconfigured node) :slight_smile: Having the keys section is an example for that - you will have to remove it and put the beneficiary address in the proper section.