core-lightning/doc/schemas/lightning-checkmessage.json

109 lines
3.2 KiB
JSON
Raw Normal View History

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"additionalProperties": false,
"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"
],
"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"
],
"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-03-28 02:45:18 +01:00
"json_example": [
{
2024-03-28 02:45:18 +01: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-03-28 02:45:18 +01:00
"request": {
"id": "example:checkmessage#2",
"method": "checkmessage",
"params": {
"message": "this is a test!",
"zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7",
"pubkey": null
}
},
"response": {
"pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518",
"verified": true
}
}
],
"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>"
]
}