lightning-checkmessage -- Command to check if a signature is from a node
SYNOPSIS
checkmessage message zbase [pubkey]
DESCRIPTION
The checkmessage RPC command is the counterpart to signmessage: given a node id (pubkey), signature (zbase) and a message, it verifies that the signature was generated by that node for that message (more technically: by someone who knows that node's secret).
As a special case, if pubkey is not specified, we will try every known node key (as per listnodes), and verification succeeds if it matches for any one of them. Note: this is implemented far more efficiently than trying each one, so performance is not a concern.
- message (string): Message to be checked against the signature.
- zbase (string): The Zbase32 encoded signature to verify.
- pubkey (pubkey, optional): The Zbase32 encoded signature to verify.
RETURN VALUE
On success, an object is returned, containing:
- verified (boolean) (always true): Whether the signature was valid.
- pubkey (pubkey): The pubkey parameter, or the pubkey found by looking for known nodes.
ERRORS
On failure, an error is returned and core lightning exit with the following error code:
- -32602: Parameter missed or malformed;
- 1301: pubkey not found in the graph.
AUTHOR
Rusty Russell <[email protected]> is mainly responsible.
SEE ALSO
lightning-signmessage(7)
RESOURCES
Main web site: https://github.com/ElementsProject/lightning
EXAMPLES
Example 1:
Request:
lightning-cli checkmessage -k "message"="testcase to check new rpc error" "zbase"="d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx" "pubkey"="03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7"
{
"id": "example:checkmessage#1",
"method": "checkmessage",
"params": {
"message": "testcase to check new rpc error",
"zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx",
"pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7"
}
}
Response:
{
"pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7",
"verified": true
}
Example 2:
Request:
lightning-cli checkmessage -k "message"="this is a test!" "zbase"="d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7"
{
"id": "example:checkmessage#2",
"method": "checkmessage",
"params": {
"message": "this is a test!",
"zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7"
}
}
Response:
{
"pubkey": "nodeid010101010101010101010101010101010101010101010101010101010101",
"verified": true
}