🌵Cardano stake pool key generation for Windows (with Hardware Wallet)

1. Getting ready

For this guide to work, you will need a computer running the latest Windows OS and ideally, Windows PowerShell to execute commands.

1.1 Create a "cardano" directory where to store the executable files and keys (we are using Documents Folder)

creating "cardano" directory in the Documents folder

1.2 Downloading Daedalus wallet or adding Yoroi extension to your internet browser

In this installation guide, you can use either Daedelus wallet or Yoroi light wallet to manage the pledge funds (we will be using Daedalus)

2.1 download the following applications

2.1 Cardano wallet for Windows (currently we are using v2022-04-27)

Open this link in your internet browser and download the Windows zip archive file. https://github.com/input-output-hk/cardano-wallet/releases/tag/v2022-04-27

2.2 Cardano Hardware Wallet cli for windows

Open this link in your internet browser and download the windows zip archive file. https://github.com/vacuumlabs/cardano-hw-cli/releases/tag/v1.10.0

2.3 Unzip both downloaded files

2.4 Copy files from both directories. Check as you should have the following files there:

Now let's move to the key generation process

3. Creating Stake Pool pledge wallet keys

3.1. Open Power Shell which we will be using for generating keys

3.2. Let's generate the keys. Paste the following commands in the PowerShell:

3.2.1. Let's start by going to the directory where we have the executable files.

cd .\Documents\Cardano\

3.2.2. Generating staking cli keys

we are using text-based keys, as those will be used by our infrastructure to generate the rewards payments to your wallet's address

## Generating staking cli keys
.\cardano-cli.exe stake-address key-gen --verification-key-file pool.staking.vkey --signing-key-file pool.staking.skey

3.2.3. Generating payment HW keys

Let's generate a PUBLIC (not the private/secure - that stays on your Hardware Wallet device) payment key

.\cardano-hw-cli.exe  address key-gen --path 1852H/1815H/0H/0/0 --verification-key-file pool.payment.vkey --hw-signing-file pool.payment.hwsfile

3.2.4. Building a Payment (pledge) address (from payment and staking public keys)

.\cardano-cli.exe address build --payment-verification-key-file pool.payment.vkey --staking-verification-key-file pool.staking.vkey  --mainnet > pool.payment.addr

3.2.4. Building a stake Address

.\cardano-cli.exe stake-address build --staking-verification-key-file pool.staking.vkey  --mainnet > pool.staking.addr

3.2.5. Create the staking registration certificate

.\cardano-cli.exe stake-address registration-certificate --staking-verification-key-file pool.staking.vkey --out-file pool.staking.cert

3.2.5. Checking if we have generated the files

dir

You should see that we have generated the pool payment/staking files.

3.2.6. check the pledge address (where you will have to send the funds):

cat .\pool.payment.addr 

4. Testing generated addresses and pledging

After you have generated the keys, let's test if everything works fine by adding the account to Daedalus Wallet

4.1. Launch Daedalus / eternl wallet and connect the ledger/trezor device

4.2. Pair your Hardware Wallet with:

4.3. Testing the pledge address visibility in Daedalus / eternl.io

4.3.1. Send a test amount (~5 ADA) to the address which you got on previous steps when you generated the pledge wallet keys

4.3.2. When you have received the test ADA - try to send back the 5 ADA to your main wallet.

4.3.3. Wait till the ADA arrives at the Daedalus wallet - if you received it, then everything is set up correctly and you can proceed with sending the rest of the pledge to that address.

5. Sending keys:

For us to generate the necessary keys and to be able to automatically send you the rewards we will need the following files:

  • pool.payment.addr - payment/pledge address

  • pool.payment.vkey - payment/pledge public key (pledge wallet's secret key always stays in your hardware wallet device)

  • pool.staking.addr - pool's staking address, where rewards will be sent

  • pool.staking.vkey - pool's staking public key

  • pool.staking.skey - pool's staking secret key - we will automatically withdraw rewards and send your part to your identified Cardano address (which you submitted in the google spreadsheet)

Last updated

Was this helpful?