Skip to content

Add BLS key generation and hashing#1355

Open
palas wants to merge 6 commits intomasterfrom
bls-key-gen-and-hash
Open

Add BLS key generation and hashing#1355
palas wants to merge 6 commits intomasterfrom
bls-key-gen-and-hash

Conversation

@palas
Copy link
Contributor

@palas palas commented Mar 23, 2026

Changelog

- description: |
    Added support for generating and hashing BLS keys.
  type:
    - feature

Context

This addresses the first part of: input-output-hk/ouroboros-leios#776

This is based on cardano-api changes of PR: IntersectMBO/cardano-api#1148

How to trust this PR

Highlight important bits of the PR that will make the review faster. If there are commands the reviewer can run to observe the new behavior, describe them.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

@palas palas self-assigned this Mar 23, 2026
Copilot AI review requested due to automatic review settings March 23, 2026 17:14
@palas palas changed the title Bls key gen and hash Add BLS key generation and hashing Mar 23, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds CLI support for generating and hashing node operational BLS keys, along with help-text goldens and dependency pinning needed to build against the required cardano-api changes.

Changes:

  • Introduce node key-gen-BLS and node key-hash-BLS commands (and equivalents under latest/conway).
  • Wire new commands through CLI option parsing, command types, and runtime handlers.
  • Update golden help outputs and pin cardano-api via source-repository-package in cabal.project.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
cardano-cli/src/Cardano/CLI/EraIndependent/Node/Run.hs Implements BLS key generation and key hashing command handlers.
cardano-cli/src/Cardano/CLI/EraIndependent/Node/Option.hs Adds optparse-applicative parsers for key-gen-BLS and key-hash-BLS.
cardano-cli/src/Cardano/CLI/EraIndependent/Node/Command.hs Introduces new command constructors and argument records for BLS commands.
cardano-cli/src/Cardano/CLI/EraIndependent/Key/Run.hs Extends key-type handling to include BLS verification keys in relevant command paths.
cardano-cli/test/cardano-cli-golden/files/golden/help/*.cli Adds/updates golden help text for the new BLS node subcommands across eras.
cabal.project Pins cardano-api from Git to pick up required upstream changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@Jimbo4350 Jimbo4350 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one comment

@palas palas added the next-update For issues that require an update of a dependency label Mar 23, 2026
@palas palas force-pushed the bls-key-gen-and-hash branch 3 times, most recently from e037d45 to 4f5df59 Compare March 23, 2026 21:14
palas added 5 commits March 23, 2026 22:15
Use `writeTextFileWithOwnerPermissions` instead of `writeTextFile` for
the signing key
Drop the `:: () =>` constraint from `runNodeKeyGenBLSCmd` and
`runNodeKeyHashBlsCmd` signatures
Use default for the description of the text envelope
@palas palas force-pushed the bls-key-gen-and-hash branch from 4f5df59 to 23272b2 Compare March 23, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

next-update For issues that require an update of a dependency

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tools for key generation and registration

3 participants