2024-01-15 13:35:14 -08:00
{
"$schema" : "../rpc-schema-draft.json" ,
"type" : "object" ,
"rpc" : "checkmessage" ,
"title" : "Command to check if a signature is from a node" ,
"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."
] ,
"request" : {
"required" : [
"message" ,
"zbase"
] ,
2024-10-30 09:38:42 +10:30
"additionalProperties" : false ,
2024-01-15 13:35:14 -08:00
"properties" : {
"message" : {
"type" : "string" ,
"description" : [
"Message to be checked against the signature."
]
} ,
"zbase" : {
"type" : "string" ,
"description" : [
"The Zbase32 encoded signature to verify."
]
} ,
"pubkey" : {
"type" : "pubkey" ,
"description" : [
"The Zbase32 encoded signature to verify."
]
}
}
} ,
"response" : {
"required" : [
"verified" ,
"pubkey"
] ,
2024-10-30 09:38:42 +10:30
"additionalProperties" : false ,
2024-01-15 13:35:14 -08:00
"properties" : {
"verified" : {
"type" : "boolean" ,
"enum" : [
true
] ,
"description" : [
"Whether the signature was valid."
]
} ,
"pubkey" : {
"type" : "pubkey" ,
"description" : [
"The *pubkey* parameter, or the pubkey found by looking for known nodes."
]
}
}
} ,
2024-06-20 14:57:02 -07:00
"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 <<rusty@rustcorp.com.au>> is mainly responsible."
] ,
"see_also" : [
"lightning-signmessage(7)"
] ,
"resources" : [
"Main web site: <https://github.com/ElementsProject/lightning>"
] ,
"examples" : [
2024-01-15 13:35:14 -08:00
{
2024-03-27 18:45:18 -07:00
"request" : {
"id" : "example:checkmessage#1" ,
"method" : "checkmessage" ,
"params" : {
"message" : "testcase to check new rpc error" ,
"zbase" : "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx" ,
"pubkey" : "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7"
}
} ,
"response" : {
"pubkey" : "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7" ,
"verified" : true
2024-01-15 13:35:14 -08:00
}
} ,
{
2024-03-27 18:45:18 -07:00
"request" : {
"id" : "example:checkmessage#2" ,
"method" : "checkmessage" ,
"params" : {
"message" : "this is a test!" ,
2024-06-18 14:49:51 -07:00
"zbase" : "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7"
2024-03-27 18:45:18 -07:00
}
} ,
"response" : {
"pubkey" : "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518" ,
"verified" : true
2024-01-15 13:35:14 -08:00
}
}
]
}