Wallet Foreign API
Foreign API — это сторона кошелька, которую вызывают другие участники. Отправитель публикует слейт (slate) на этот эндпоинт и получает обратно частично подписанный слейт, инвойс плательщика возвращается финализированным, а майнинговый узел запрашивает у него сборку выхода (output) coinbase, который зачисляет средства в этот кошелёк.
- Эндпоинт:
http://127.0.0.1:3415/v2/foreign, запускается сepic-wallet listen - Протокол: JSON-RPC 2.0 поверх HTTP POST
- Учётные данные: отсутствуют
- Привязка по умолчанию:
api_listen_interface—127.0.0.1,api_listen_port— 3415 (config/src/types.rs:71)
Учётные данные здесь невозможны, поскольку контрагент, завершающий перевод, — незнакомец, который должен иметь возможность достучаться до поверхности. Привязка по умолчанию — loopback, поэтому контрагенту, обращающемуся к этому кошельку по HTTP, необходимо расширить интерфейс или поставить перед ним обратный прокси; ограничить доступ можно только на том уровне, что стоит перед кошельком. Приём через epicbox релей не требует входящего порта вовсе.
Те же методы 6 обслуживаются из owner listener, когда owner_api_include_foreign равно true (controller/src/controller.rs:151).
- Endpoint
http://127.0.0.1:3415/v2/foreign- Credential
- None. This is what a counterparty pays you through
- Methods here
- 6
- Documented against
- node 4.1.0, wallet 4.1.0
check_version
Read onlyReport the Foreign API and supported slate versions.
- Surface
/v2/foreignon port 3415- Parameters
- none
- Declared in
- api/src/foreign_rpc.rs:66
This method takes no parameters.
{
"jsonrpc": "2.0",
"id": 1,
"method": "check_version",
"params": []
}N/Abuild_coinbase
Changes stateBuild a coinbase output and kernel for a candidate block.
- Surface
/v2/foreignon port 3415- Parameters
- 1 positional
- Declared in
- api/src/foreign_rpc.rs:117
{
"jsonrpc": "2.0",
"id": 1,
"method": "build_coinbase",
"params": [
{
"fees": 0,
"height": 1,
"key_id": null
}
]
}N/Abuild_foundation
Changes stateBuild the foundation output and kernel for a candidate block.
- Surface
/v2/foreignon port 3415- Parameters
- 1 positional
- Declared in
- api/src/foreign_rpc.rs:120
{
"jsonrpc": "2.0",
"id": 1,
"method": "build_foundation",
"params": [
{
"fees": 0,
"height": 1,
"key_id": null
}
]
}N/Averify_slate_messages
Read onlyVerify message signatures attached to a slate.
- Surface
/v2/foreignon port 3415- Parameters
- 1 positional
- Declared in
- api/src/foreign_rpc.rs:202
{
"jsonrpc": "2.0",
"id": 1,
"method": "verify_slate_messages",
"params": [
{}
]
}N/Areceive_tx
Changes stateAdd the listener wallet output and signature to an incoming slate.
- Surface
/v2/foreignon port 3415- Parameters
- 4 positional
- Declared in
- api/src/foreign_rpc.rs:357
{
"jsonrpc": "2.0",
"id": 1,
"method": "receive_tx",
"params": [
{},
null,
null,
null
]
}N/Afinalize_invoice_tx
Changes stateFinalize an invoice slate after the payer has funded it.
- Surface
/v2/foreignon port 3415- Parameters
- 1 positional
- Declared in
- api/src/foreign_rpc.rs:525
{
"jsonrpc": "2.0",
"id": 1,
"method": "finalize_invoice_tx",
"params": [
{}
]
}N/AИсточник
api/src/foreign_rpc.rs:66определяет методы 6controller/src/controller.rs:209— автономный слушательlibwallet/src/api_impl/foreign.rsдля реализации, стоящей за ними