Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ We have a script that:
In a terminal execute:

```bash
./scripts/generate-keys.sh
./scripts/helper/generate-keys.sh
```

This will create you a keys directory with some fun things inside, looks like this:
Expand Down
29 changes: 10 additions & 19 deletions scripts/generate-keys.sh → scripts/helper/generate-keys.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@

#!/bin/bash
set -euo pipefail

# Get the script's directory and project root
script_dir=$(dirname "$0")
project_root=$(cd "$script_dir/.." && pwd)

project_root=$(cd "$script_dir/../.." && pwd)
echo "Script directory: $script_dir"
echo "Project root: $project_root"
# Define directory paths relative to project root
keys_dir="$project_root/keys"

# Create keys directory if it doesn't exist
mkdir -p "$keys_dir"

# Source the cardano-cli wrapper
source "$script_dir/helper/cardano-cli-wrapper.sh"

source "$script_dir/cardano-cli-wrapper.sh"
# Check network for mainnet warning (only in Docker mode)
if [ "$NODE_MODE" = "docker" ]; then
container_name="$("$script_dir/helper/get-container.sh")"
container_name="$("$script_dir/get-container.sh")"
network=$(echo $container_name | cut -d'-' -f2)

if [ "$network" = "mainnet" ]; then
Expand All @@ -25,45 +23,38 @@ if [ "$NODE_MODE" = "docker" ]; then
exit 0
fi
fi

# Check if keys already exist
if [ -f "$keys_dir/drep.id" ]; then
echo "Keys already generated."
echo "Exiting."
exit 0
fi

# Generate keys; payment, stake and DRep.
echo "Generating keys; payment, stake and DRep."
echo "from keys, generate payment address, stake address and DRep ID."

echo "Keys will be stored in: $keys_dir"
# Generate payment keys
cardano_cli address key-gen \
--verification-key-file "$keys_dir/payment.vkey" \
--signing-key-file "$keys_dir/payment.skey"

# Generate stake keys
cardano_cli stake-address key-gen \
cardano_cli conway stake-address key-gen \
--verification-key-file "$keys_dir/stake.vkey" \
--signing-key-file "$keys_dir/stake.skey"

# Generate DRep keys
cardano_cli conway governance drep key-gen \
--verification-key-file "$keys_dir/drep.vkey" \
--signing-key-file "$keys_dir/drep.skey"

# Generate DRep ID
cardano_cli conway governance drep id \
--drep-verification-key-file "$keys_dir/drep.vkey" \
--out-file "$keys_dir/drep.id"

# Get payment address from keys
cardano_cli address build \
--payment-verification-key-file "$keys_dir/payment.vkey" \
--stake-verification-key-file "$keys_dir/stake.vkey" \
--out-file "$keys_dir/payment.addr"

# Derive stake address from stake keys
cardano_cli stake-address build \
cardano_cli conway stake-address build \
--stake-verification-key-file "$keys_dir/stake.vkey" \
--out-file "$keys_dir/stake.addr"
--out-file "$keys_dir/stake.addr"
Loading