Releases: gitmachtl/cardano-signer
cardano-signer 1.20.0
Release Notes / Change-Logs
1.20.0
NEW FUNCTION - Derive keys from Hardware-Wallet mnemonics
- Two new flags have been added to the
keygen
mode:--ledger
let you derive your keys in Ledger-Hardware-Wallet type format--trezor
let you derive your keys in Trezor-Hardware-Wallet type format
This new function allows to recover keys from a Hardware-Wallet as pure CLI-Keys.
UPDATE/CHANGES:
- The preset path
--path pool
has been added to thekeygen
mode, to directly derive Cardano-Pool Cold-Keys - The
path
entry in the--json-extended
output for thekeygen
mode was renamed intoderivationPath
(breaking!) - A new entry was added in the
--json-extended
output for thekeygen
mode ->derivationType
, which can beicarus
,ledger
ortrezor
- If keys are derived for
--path drep
or--path pool
, the output now also contains the corresponding DRep-ID/Pool-ID.
cardano-signer 1.19.0
Release Notes / Change-Logs
1.19.0
NEW FUNCTION - Adding authors signatures to CIP100/108/119 JSONLD governance metadata in one go
- A new function is now available via the 'sign --cip100' parameter. Its now possible to add authors entries (Name + Signature) with a single command using cardano-signer
So if you input a JSONLD governance file (context part not shown) like
{
...
"hashAlgorithm": "blake2b-256",
"body": {
"title": "Example CIP108(+CIP100) metadata",
"abstract": "This metadata was generated to test out db-sync, SPO-Scripts, Koios and other tools...",
"motivation": "This must work, should be motivation enough.",
"rationale": "Let's keep testing stuff",
"references": [
{
"@type": "Other",
"label": "SanchoNet",
"uri": "https://sancho.network"
}
],
"comment": "This is an example CIP-108 metadata-file... testing SPO-Scripts, Koios and Co.",
"externalUpdates": [
{
"title": "SPO Scripts",
"uri": "https://github.com/gitmachtl/scripts"
},
{
"title": "Koios",
"uri": "https://koios.rest"
}
]
}
}
and after running
$ cardano-signer.js sign --cip100 --data-file CIP108-example.json --secret-key dummy.skey --author-name "The great Name"
you get out:
{
...
"hashAlgorithm": "blake2b-256",
"body": {
"title": "Example CIP108(+CIP100) metadata",
"abstract": "This metadata was generated to test out db-sync, SPO-Scripts, Koios and other tools...",
"motivation": "This must work, should be motivation enough.",
"rationale": "Let's keep testing stuff",
"references": [
{
"@type": "Other",
"label": "SanchoNet",
"uri": "https://sancho.network"
}
],
"comment": "This is an example CIP-108 metadata-file... testing SPO-Scripts, Koios and Co.",
"externalUpdates": [
{
"title": "SPO Scripts",
"uri": "https://github.com/gitmachtl/scripts"
},
{
"title": "Koios",
"uri": "https://koios.rest"
}
]
},
"authors": [
{
"name": "The great Name",
"witness": {
"witnessAlgorithm": "ed25519",
"publicKey": "755b017578b701dc9ddd4eaee67015b4ca8baf66293b7b1d204df426c0ceccb9",
"signature": "8b579ba2cb9bcb2355e550a67865d56017d4696a4a48f8db5218a92a7f85bb3ddcde13500b89531c68a3f52deb83ca45f1987ea048500e11feee26847cb6b900"
}
}
]
}
So cardano-signer does a sanity check about the governance JSONLD file, it checks all existing author signatures, it checks if there are any duplicates, it does the canonization of the body, hashes it and then adds a new author entry by signing the document via the provided secret-key and author-name. more authors can be added by running it multiple times!
Also, if you write out the new file directly via the --out-file
parameter, the output of cardano-signer becomes a json with the basic infos of the new file, including the anchorHash
. Ready do be used with governance on Cardano.
{
"workMode": "sign-cip100",
"outFile": "CIP108-example-signed.json",
"anchorHash": "8723898521770d095f522a3976f8318128f97ae10b8cd97da0f66dd29f849f80"
}
UPDATE/CHANGES:
General:
- cardano-signer is now compatible with CIP129 standard for drep, committee-cold and committee-hot bech strings. this works now for all functions that allow an
--address
parameter.
CIP 8/30 DataSign:
- you can now directly also use governance bech-ids for the
--address
parameter likedrep1...
when signing in CIP8/30 mode.
CIP 100 - Governance:
-
the canonize&hash command
hash
introduced in version 1.17 was renamed tocanonize
. the change was made to avoid confusion, because this command is to output the hash of the canonized body, not the file-hash. there is also now a red note as info:
-
output fields of the
canonize
andverify
function changed:hash
is nowcanonizedHash
, andcanonized
is nowcanonizedBody
. -
in addition to the existing checks in the
verify
function, cardano-signer now also checks for duplicated public-key entries in the authors array of the input jsonld file.
cardano-signer 1.18.0
Release Notes / Change-Logs
-
1.18.0
New Verification mode for Governance Metadata
Example:
./cardano-signer verify --cip100 --data-file CIP119-example-fail.json --json-extended
{
"workMode": "verify-cip100",
"result": false,
"errorMsg": "at least one invalid signature found",
"authors": [
{
"name": "Martin Lang",
"publicKey": "b18eacea2003b68e39137545e9d42ce5bca133ca0334d6a75aa9cb1fd02be7ec",
"signature": "6aae4ed31604601062c14d58c7f5f561daaec5a0716c03665a432a08bc73c09280edbe5b7f4716374340034f4a608d43b56bbea7e32e9bc68d7382b80324a804",
"valid": true
},
{
"name": "Pi Lanningham",
"publicKey": "7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a",
"signature": "340c2ef8d6abda96769844ab9dca2634ae21ef97ddbfad1f8843bea1058e40d656455a2962143adc603d063bbbe27b54b88d002d23d1dff1cd0e05017cd4f506",
"valid": false
}
],
"hash": "8e5086456795294e40203884dc380a6c70203754be0e2d02927d619cce995ee9",
"body": {
"title": "Example CIP100(+CIP108+CIP119) metadata",
"abstract": "This metadata was generated to test out db-sync, SPO-Scripts, Koios and other tools...",
"motivations": "This must work, should be motivation enough.",
"rationale": "Let's keep testing stuff",
"paymentAddress": "addr_test1qrlvt2gzuvrhq7m2k00rsyzfrrqwx085cdqgum7w5nc2rxwpxkp2ajdyflxxmxztuqpu2pvvvc8p6tl3xu8a3dym5uls50mr97",
"givenName": "Martin Lang",
"image": {
"@type": "ImageObject",
"contentUrl": "https://www.stakepool.at/pics/stakepool_operator_scripts.png",
"sha256": "e98afb3651b5c3808201890e24eff5811bb855fe7b5e8dab0a8ec086ed0a9131"
},
"objectives": "This is an Testobjectives entry.",
"qualifications": "Don't ask me... just doing it.",
"references": [
{
"@type": "Other",
"label": "SanchoNet",
"uri": "https://sancho.network"
}
],
"comment": "This is an example CIP-119 metadata-file... testing SPO-Scripts, Koios and Co.",
"externalUpdates": [
{
"title": "SPO Scripts",
"uri": "https://github.com/gitmachtl/scripts"
},
{
"title": "Koios",
"uri": "https://koios.rest"
}
]
},
"canonized": [
"_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://schema.org/ImageObject> .",
"_:c14n1 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#update-title> \"SPO Scripts\"@en-us .",
"_:c14n1 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#update-uri> \"https://github.com/gitmachtl/scripts\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#comment> \"This is an example CIP-119 metadata-file... testing SPO-Scripts, Koios and Co.\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#externalUpdates> _:c14n1 .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#externalUpdates> _:c14n3 .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#abstract> \"This metadata was generated to test out db-sync, SPO-Scripts, Koios and other tools...\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#rationale> \"Let's keep testing stuff\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#title> \"Example CIP100(+CIP108+CIP119) metadata\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#givenName> \"Martin Lang\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#image> _:c14n0 .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#motivations> \"This must work, should be motivation enough.\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#objectives> \"This is an Testobjectives entry.\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#paymentAddress> \"addr_test1qrlvt2gzuvrhq7m2k00rsyzfrrqwx085cdqgum7w5nc2rxwpxkp2ajdyflxxmxztuqpu2pvvvc8p6tl3xu8a3dym5uls50mr97\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#qualifications> \"Don't ask me... just doing it.\"@en-us .",
"_:c14n2 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#references> _:c14n5 .",
"_:c14n3 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#update-title> \"Koios\"@en-us .",
"_:c14n3 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#update-uri> \"https://koios.rest\"@en-us .",
"_:c14n4 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#body> _:c14n2 .",
"_:c14n5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#OtherReference> .",
"_:c14n5 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#reference-label> \"SanchoNet\"@en-us .",
"_:c14n5 <https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#reference-uri> \"https://sancho.network\"@en-us ."
]
}
cardano-signer 1.17.0
cardano-signer 1.16.1
Release Notes / Change-Logs
- 1.16.1
Catalyst Vote Key Generation CIP36
- Bugfix: The description field of the generated *.vkey file was corrected to be 'Catalyst Vote Verification Key'
cardano-signer 1.16.0
Release Notes / Change-Logs
- 1.16.0
Signing & Verification in CIP-030/008 mode
- Added a new flag
--nohashcheck
for the signing and verification in CIP030/008 format. Using this flag will tell cardano-signer to not perform a check of the hash in the address-field against the public-key during the verification process. And additionally it can disable the address/hash check in the signing process too.
- Added a new flag
cardano-signer 1.15.2
Release Notes / Change-Logs
- 1.15.2
General
- small bugfix, parameter
mainnet
throwing an "unknown" error for thesign --cip36
command - added an arm64 build
- small bugfix, parameter
cardano-signer 1.15.1
Release Notes / Change-Logs
-
1.15.1
General
- small bugfix, parameters
help
,usage
,version
throwing an "unknown" error
- small bugfix, parameters
-
1.15.0
New constitutional-commitee-member cold-key generation mode:
- generate conway cc-cold keys via the path
--path cc-cold
or - generate conway cc-cold keys from the derivation path "1852'/1815'/acc'/4/idx'
- generate conway cc-cold keys from mnemonics or let cardano-signer generate new mnemonics for you
New constitutional-commitee-member hot-key generation mode:
- generate conway cc-hot keys via the path
--path cc-hot
or - generate conway cc-hot keys from the derivation path "1852'/1815'/acc'/5/idx'
- generate conway cc-hot keys from mnemonics or let cardano-signer generate new mnemonics for you
General
- some corrections on extended verification key outputs
- an unknown parameter now throws an error. before, optional parameters with a typo were simply ignored
- general code cleanup, typos, etc.
- generate conway cc-cold keys via the path
cardano-signer 1.14.0
Release Notes / Change-Logs
-
1.14.0
New dRep-Key generation mode:
- generate conway dRep keys via the path
--path drep
or - generate conway dRep keys from the derivation path
1852'/1815'/acc'/3/idx'
- generate conway dRep keys from mnemonics or let cardano-signer generate new mnemonics for you
Key generation mode changes:
- the flag
with-chain-code
has been replaced by the new flagvkey-extended
. this makes it easier for the users to understand the meaning - per default the public keys are now always generated as non-extended keys, the secret keys are always extended ones if derived from a path
General
- code cleanup
- generate conway dRep keys via the path
cardano-signer 1.13.0
Release Notes / Change-Logs
- 1.13.0
New key generation mode:
- generate normal ed25519 keys
- generate extended ed25519 keys from a derivation path like "1852H/1815H/0H/0/0"
- generate keys from mnemonics or let cardano-signer generate new mnemonics for you
- generate CIP36 conform vote keys incl. bech
cvote_vk
data and an optional vote_purpose - generate keys with or without chaincode attached
- directly write out
.skey
/.vkey
files (like cardano-cli) - extended information like an
Xpub...
key is available via the--json-extended
flag - shortcuts for paths can be used like
--path payment
,--path stake
,--path cip36