mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-09 17:14:28 +01:00
Document the 'rpc_command' hook
This commit is contained in:
committed by
Christian Decker
parent
95c6513ff3
commit
6427ccba50
@@ -683,6 +683,71 @@ processed before the HTLC was forwarded, failed, or resolved, then the plugin
|
||||
may see the same HTLC again during startup. It is therefore paramount that the
|
||||
plugin is idempotent if it talks to an external system.
|
||||
|
||||
|
||||
#### `rpc_command`
|
||||
|
||||
The `rpc_command` hook allows a plugin to take over any RPC command. It sends
|
||||
the received JSON-RPC request to the registered plugin,
|
||||
|
||||
```json
|
||||
{
|
||||
"rpc_command": {
|
||||
"method": "method_name",
|
||||
"params": {
|
||||
"param_1": [],
|
||||
"param_2": {},
|
||||
"param_n": "",
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
which can in turn:
|
||||
|
||||
Let `lightningd` execute the command with
|
||||
|
||||
```json
|
||||
{
|
||||
"continue": true
|
||||
}
|
||||
```
|
||||
Replace the request made to `lightningd`:
|
||||
|
||||
```json
|
||||
{
|
||||
"replace": {
|
||||
"method": "method_name",
|
||||
"params": {
|
||||
"param_1": [],
|
||||
"param_2": {},
|
||||
"param_n": "",
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Return a custom response to the request sender:
|
||||
|
||||
```json
|
||||
{
|
||||
"return": {
|
||||
"result": {
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Return a custom error to the request sender:
|
||||
|
||||
```json
|
||||
{
|
||||
"return": {
|
||||
"error": {
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[jsonrpc-spec]: https://www.jsonrpc.org/specification
|
||||
[jsonrpc-notification-spec]: https://www.jsonrpc.org/specification#notification
|
||||
[bolt4]: https://github.com/lightningnetwork/lightning-rfc/blob/master/04-onion-routing.md
|
||||
|
||||
Reference in New Issue
Block a user