mirror of
https://github.com/urbit/shrub.git
synced 2024-12-30 07:35:19 +03:00
2043 lines
60 KiB
Plaintext
2043 lines
60 KiB
Plaintext
=> :: Helper types
|
|
::
|
|
|%
|
|
:: +address: base58check encoded public key (20 bytes)
|
|
::
|
|
:: FIXME: %bech32 is not parsed by fim:ag
|
|
::
|
|
+$ address ?(@uc [%bech32 @t])
|
|
++ blockhash @ux
|
|
:: $estimate-mode
|
|
::
|
|
:: Used in:
|
|
:: - %fund-raw-transaction
|
|
:: - %estimate-smart-fee
|
|
:: - %bump-fee
|
|
:: - %wallet-create-fundedpsbt
|
|
:: - %send-to-address
|
|
:: - %send-many
|
|
::
|
|
+$ estimate-mode ?(%'UNSET' %'ECONOMICAL' %'CONSERVATIVE')
|
|
:: $category:
|
|
::
|
|
:: Used in:
|
|
:: - $tx-in-block
|
|
:: - %get-transaction
|
|
:: - %list-transactions
|
|
::
|
|
+$ category ?(%send %receive %generate %immature %orphan)
|
|
:: $rule:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block-template
|
|
::
|
|
::
|
|
+$ rule %segwit
|
|
:: $capability:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block-template
|
|
::
|
|
+$ capability
|
|
$? %longpoll
|
|
%coinbasetxn
|
|
%coinbasevalue
|
|
%proposal
|
|
%serverlist
|
|
%workid
|
|
==
|
|
:: $block-template-mode:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block-template
|
|
::
|
|
+$ block-template-mode
|
|
$? mode=%template
|
|
[mode=%proposal data=@ux workid=(unit @t)]
|
|
==
|
|
:: $logging-category:
|
|
::
|
|
:: Used in:
|
|
:: - %logging
|
|
::
|
|
+$ logging-category
|
|
$? %net
|
|
%tor
|
|
%mempool
|
|
%http
|
|
%bench
|
|
%zmq
|
|
%db
|
|
%rpc
|
|
%estimatefee
|
|
%addrman
|
|
%selectcoins
|
|
%reindex
|
|
%cmpctblock
|
|
%rand
|
|
%prune
|
|
%proxy
|
|
%mempoolrej
|
|
%libevent
|
|
%coindb
|
|
%qt
|
|
%leveldb
|
|
==
|
|
:: $rpc-command:
|
|
::
|
|
:: Used in:
|
|
:: - %get-rpc-info
|
|
::
|
|
+$ rpc-command [method=@t duration=@dr]
|
|
:: $transaction:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block-template
|
|
::
|
|
+$ transaction
|
|
$: data=@ux
|
|
txid=@ux
|
|
hash=@ux
|
|
depends=(list @ud)
|
|
fee=@ud
|
|
sigops=@ud
|
|
weight=@ud
|
|
==
|
|
:: $mutable:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block-template
|
|
::
|
|
+$ mutable ?(%value %time %transactions %prevblock)
|
|
:: $node-address:
|
|
::
|
|
:: Used in:
|
|
:: - $node-info
|
|
::
|
|
+$ node-address [address=@t connected=?(%inbound %outbound)]
|
|
:: $node-info:
|
|
::
|
|
:: Used in:
|
|
:: - %get-added-node-info
|
|
::
|
|
+$ node-info [added-node=@t connected=? addresses=(list node-address)]
|
|
:: $upload-target:
|
|
::
|
|
:: Used in:
|
|
:: - %get-net-totals
|
|
::
|
|
+$ upload-target
|
|
$: timeframe=@dr
|
|
target=@ud
|
|
target-reached=?
|
|
serve-historical-blocks=?
|
|
bytes-left-in-cycle=@ud
|
|
time-left-in-cycle=@dr
|
|
==
|
|
:: $network-info:
|
|
::
|
|
:: Used in:
|
|
:: - %get-network-info
|
|
::
|
|
+$ network-info
|
|
$: name=?(%ipv4 %ipv6 %onion)
|
|
limited=?
|
|
reachable=?
|
|
proxy=@t
|
|
proxy-randomize-credentials=?
|
|
==
|
|
:: $local-address:
|
|
::
|
|
:: Used in:
|
|
:: - %get-network-info
|
|
::
|
|
+$ local-address [address=@t port=@ud score=@ud]
|
|
:: $node-address-info:
|
|
::
|
|
:: Used in:
|
|
:: - %get-node-addresses
|
|
::
|
|
+$ node-address-info [time=@da services=@ud address=@t port=@ud]
|
|
:: $peer-info:
|
|
::
|
|
:: Used in:
|
|
:: - %get-peer-info
|
|
::
|
|
+$ peer-info
|
|
$: id=@ud
|
|
addr=@t
|
|
addr-bind=@t
|
|
addr-local=(unit @t)
|
|
services=@t
|
|
services-names=(list @t)
|
|
relay-txes=?
|
|
last-send=@da
|
|
last-recv=@da
|
|
bytes-sent=@ud
|
|
bytes-recv=@ud
|
|
conn-time=@da
|
|
time-offset=@t
|
|
ping-time=@rd
|
|
min-ping=@rd
|
|
ping-wait=(unit @ud)
|
|
version=@ud
|
|
subver=@t
|
|
inbound=?
|
|
addnode=?
|
|
starting-height=@ud
|
|
ban-score=@ud
|
|
synced-headers=@ud
|
|
synced-blocks=@ud
|
|
inflight=(list @ud)
|
|
whitelisted=?
|
|
min-fee-filter=@rd
|
|
bytes-sent-per-msg=(map @t @ud)
|
|
bytes-recv-per-msg=(map @t @ud)
|
|
==
|
|
:: $banned:
|
|
::
|
|
:: Used in:
|
|
:: - %list-banned
|
|
::
|
|
+$ banned [address=@t banned-until=@da ban-created=@da ban-reason=@t]
|
|
:: $chain-status:
|
|
::
|
|
:: Used in:
|
|
:: - %get-chain-tips
|
|
::
|
|
+$ chain-status
|
|
$? %invalid
|
|
%headers-only
|
|
%valid-headers
|
|
%valid-fork
|
|
%active
|
|
==
|
|
:: $soft-fork-types:
|
|
::
|
|
:: Used in:
|
|
:: - %get-blockchain-info/$softforks
|
|
::
|
|
+$ soft-fork-types ?(%buried %bip9)
|
|
:: $soft-fork-status:
|
|
::
|
|
:: Used in:
|
|
:: - %get-blockchain-info/$softforks
|
|
::
|
|
+$ soft-fork-status ?(%defined %started %'locked_in' %active %failed)
|
|
:: $purpose:
|
|
::
|
|
:: Used in:
|
|
:: - %get-addresses-by-label
|
|
:: - %get-address-info
|
|
::
|
|
+$ purpose ?(%send %receive)
|
|
:: $address-type:
|
|
::
|
|
:: Used in:
|
|
:: - %add-multisig-address
|
|
::
|
|
+$ address-type ?(%legacy %p2sh-segwit %bech32)
|
|
:: $bip125-replaceable:
|
|
::
|
|
:: Used in:
|
|
:: - %get-transaction
|
|
:: - %list-transactions
|
|
:: - $tx-in-block
|
|
::
|
|
+$ bip125-replaceable ?(%yes %no %unknown)
|
|
:: $network-name:
|
|
::
|
|
:: Used in:
|
|
:: - %get-blockchain-info
|
|
::
|
|
+$ network-name ?(%main %test %regtest)
|
|
:: $sig-hash:
|
|
::
|
|
:: Used in:
|
|
:: - %wallet-process-psbt
|
|
:: - %sign-raw-transaction-with-wallet
|
|
:: - %sign-raw-transaction-with-key
|
|
:: - %decode-psbt
|
|
::
|
|
+$ sig-hash
|
|
$? %'NONE'
|
|
%'SINGLE'
|
|
%'ALL|ANYONECANPAY'
|
|
%'NONE|ANYONECANPAY'
|
|
%'SINGLE|ANYONECANPAY'
|
|
%'ALL'
|
|
==
|
|
:: $script:
|
|
::
|
|
:: Used in:
|
|
:: - %decode-psbt: $redeem-script/$witness-script
|
|
::
|
|
+$ script [asm=@t hex=@ux type=@t]
|
|
:: $script-pubkey:
|
|
::
|
|
:: Used in:
|
|
:: - $utxo
|
|
::
|
|
+$ script-pubkey
|
|
$: asm=@t
|
|
hex=@ux
|
|
type=@t
|
|
=address
|
|
==
|
|
:: $range:
|
|
::
|
|
:: Used in:
|
|
:: - %derive-addresses
|
|
:: - $scan-object
|
|
::
|
|
+$ range ?(@ud [@ud @ud])
|
|
:: $vin:
|
|
::
|
|
:: Used in:
|
|
:: - $serialized-tx
|
|
:: - $raw-transaction-rpc-out
|
|
::
|
|
+$ vin
|
|
$: txid=(unit @ux)
|
|
vout=(unit @ud)
|
|
script-sig=(unit [asm=@t hex=@ux])
|
|
tx-in-witness=(unit (list @ux))
|
|
sequence=@ud
|
|
==
|
|
:: $vout:
|
|
::
|
|
:: Used in:
|
|
:: - $serialized-tx
|
|
:: - $raw-transaction-rpc-out
|
|
::
|
|
+$ vout
|
|
$: value=@t
|
|
n=@ud
|
|
::
|
|
$= script-pubkey
|
|
$: asm=@t
|
|
hex=@ux
|
|
req-sigs=(unit @ud)
|
|
type=@t
|
|
addresses=(unit (list address))
|
|
== ==
|
|
:: $input:
|
|
::
|
|
:: Used in:
|
|
:: - %wallet-create-fundedpsbt
|
|
:: - $partially-signed-transaction
|
|
::
|
|
+$ input
|
|
$: txid=@ux
|
|
vout=@ud
|
|
sequence=@ud
|
|
==
|
|
:: $output:
|
|
::
|
|
:: Used in:
|
|
:: - %wallet-create-fundedpsbt
|
|
:: - $partially-signed-transaction
|
|
::
|
|
+$ output
|
|
$: data=[%data @ux]
|
|
addresses=(list [=address amount=@t])
|
|
==
|
|
:: $scan-object:
|
|
::
|
|
:: Used in:
|
|
:: - %scan-tx-outset
|
|
::
|
|
+$ scan-object
|
|
$? descriptor=@t
|
|
::
|
|
$= object
|
|
$: desc=@t
|
|
range=(unit range)
|
|
== ==
|
|
:: $utxo:
|
|
::
|
|
:: Used in:
|
|
:: - %decode-psbt
|
|
::
|
|
+$ utxo
|
|
(unit [amount=@t =script-pubkey])
|
|
:: $segwit-script:
|
|
::
|
|
:: Used in:
|
|
:: - %decode-script
|
|
::
|
|
+$ segwit-script
|
|
$: asm=@t
|
|
hex=(unit @ux)
|
|
type=@t
|
|
req-sigs=(unit @ud)
|
|
addresses=(list [%bech32 @t])
|
|
p2sh-segwit=(unit @uc)
|
|
==
|
|
:: $partially-signed-transaction:
|
|
::
|
|
:: Used in:
|
|
:: - %create-psbt
|
|
:: - %create-raw-transaction
|
|
::
|
|
+$ partially-signed-transaction
|
|
$: inputs=(list input)
|
|
outputs=output
|
|
locktime=(unit @ud)
|
|
replaceable=(unit ?)
|
|
==
|
|
:: $import-request:
|
|
::
|
|
:: Used in:
|
|
:: - %import-multi
|
|
::
|
|
+$ import-request
|
|
$: desc=(unit @t)
|
|
::
|
|
$= script-pubkey
|
|
$% [%script s=@t]
|
|
[%address a=address]
|
|
==
|
|
::
|
|
timestamp=?(@da %now)
|
|
redeem-script=(unit @t)
|
|
witness-script=(unit @t)
|
|
pubkeys=(unit (list @t))
|
|
keys=(unit (list @t))
|
|
range=(unit ?(@ud [@ud @ud]))
|
|
internal=(unit ?)
|
|
watchonly=(unit ?)
|
|
label=(unit @t)
|
|
keypool=(unit ?)
|
|
==
|
|
:: $serialized-tx:
|
|
::
|
|
:: Used in:
|
|
:: - %decode-psbt
|
|
:: - %decode-raw-transaction
|
|
::
|
|
+$ serialized-tx
|
|
$: txid=@ux
|
|
hash=@ux
|
|
size=@ud
|
|
vsize=@ud
|
|
weight=@ud
|
|
version=@ud
|
|
locktime=@ud
|
|
vin=(list vin)
|
|
vout=(list vout)
|
|
==
|
|
:: $prev-tx:
|
|
::
|
|
:: Used in:
|
|
:: - %sign-raw-transaction-with-wallet
|
|
:: - %sign-raw-transaction-with-key
|
|
::
|
|
+$ prev-tx
|
|
$: txid=@ux
|
|
vout=@ud
|
|
script-pubkey=@ux
|
|
redeem-script=(unit @ux)
|
|
witness-script=(unit @ux)
|
|
amount=@t
|
|
==
|
|
:: $raw-transaction-rpc-out:
|
|
::
|
|
:: Used in:
|
|
:: - %get-block
|
|
:: - %get-raw-transaction
|
|
::
|
|
+$ raw-transaction-rpc-out
|
|
$: in-active-chain=(unit ?)
|
|
hex=@ux
|
|
txid=@ux
|
|
hash=@ux
|
|
size=@ud
|
|
vsize=@ud
|
|
weight=@ud
|
|
version=@t
|
|
locktime=@ud
|
|
vin=(list vin)
|
|
vout=(list vout)
|
|
blockhash=(unit @ux)
|
|
confirmations=(unit @ud)
|
|
blocktime=(unit @ud)
|
|
time=(unit @ud)
|
|
==
|
|
:: $tx-in-block:
|
|
::
|
|
:: Used in:
|
|
:: - %lists-in-ceblock
|
|
:: - %list-transactions
|
|
::
|
|
+$ tx-in-block
|
|
$: address=(unit address)
|
|
=category
|
|
amount=@t
|
|
label=(unit @t)
|
|
vout=@ud
|
|
fee=(unit @t)
|
|
confirmations=@ud
|
|
blockhash=(unit @ux)
|
|
blockindex=(unit @ud)
|
|
blocktime=(unit @ud)
|
|
txid=@ux
|
|
time=@ud
|
|
time-received=(unit @ud)
|
|
wallet-conflicts=(unit (list @ux))
|
|
=bip125-replaceable
|
|
abandoned=(unit ?)
|
|
comment=(unit @t)
|
|
to=(unit @t)
|
|
==
|
|
:: $errors:
|
|
::
|
|
:: Used in:
|
|
:: - %sign-raw-transaction-with-key
|
|
:: - %sign-raw-transaction-with-wallet
|
|
::
|
|
+$ errors
|
|
%- list
|
|
$: txid=@
|
|
vout=@
|
|
script-sig=@
|
|
sequence=@
|
|
error=@t
|
|
==
|
|
:: $mem-pool:
|
|
::
|
|
:: Used in:
|
|
:: - $mem-pool-response
|
|
:: - %get-mempool-entry
|
|
::
|
|
+$ mem-pool
|
|
$: size=(unit @ud)
|
|
vsize=@ud
|
|
weight=@ud
|
|
fee=@t
|
|
modified-fee=@t
|
|
time=@ud
|
|
height=@ud
|
|
descendant-count=@ud
|
|
descendant-size=@ud
|
|
descendant-fees=@t
|
|
ancestor-count=@ud
|
|
ancestor-size=@ud
|
|
ancestor-fees=@t
|
|
w-txid=@ux
|
|
::
|
|
$= fees
|
|
$: base=@t
|
|
modified=@t
|
|
ancestor=@t
|
|
descendant=@t
|
|
==
|
|
::
|
|
depends=(list @ux)
|
|
spent-by=(list @ux)
|
|
bip125-replaceable=?
|
|
==
|
|
:: $mem-pool-response:
|
|
::
|
|
:: Used in:
|
|
:: - %get-raw-mempool
|
|
:: - %get-mempool-entry
|
|
:: - %get-mempool-ancestors
|
|
:: - %get-mempool-descendants
|
|
:: - %get-raw-mempool
|
|
::
|
|
+$ mem-pool-response
|
|
%- list
|
|
$@ :: (for verbose = false)
|
|
::
|
|
@ux
|
|
::
|
|
:: (for verbose = true)
|
|
::
|
|
[id=@ux =mem-pool]
|
|
::
|
|
:: $descriptor
|
|
::
|
|
:: Used in:
|
|
:: - %utxo-update-psbt
|
|
::
|
|
+$ descriptor
|
|
$? @t
|
|
::
|
|
$: desc=@t
|
|
range=(unit range)
|
|
== ==
|
|
--
|
|
|%
|
|
::
|
|
+$ btc-node-hook-action request:btc-rpc
|
|
+$ btc-node-hook-command command:btc-rpc
|
|
:: Expand the response type to include connectivity
|
|
::
|
|
+$ btc-node-hook-response
|
|
$% [%status connected=? status-code=@ud]
|
|
response:btc-rpc
|
|
==
|
|
::
|
|
++ btc-rpc
|
|
|%
|
|
+$ request
|
|
$%
|
|
:: Blockchain
|
|
::
|
|
:: %get-best-block-hash: Returns the hash of the
|
|
:: best (tip) block in the longest blockchain.
|
|
::
|
|
[%get-best-block-hash ~]
|
|
:: %get-block: Returns an Object/string with information about block
|
|
::
|
|
[%get-block blockhash=@ux verbosity=(unit ?(%0 %1 %2))]
|
|
:: %get-blockchain-info: Returns info regarding blockchain processing.
|
|
::
|
|
[%get-blockchain-info ~]
|
|
:: %get-block-count: Returns number of blocks in the longest blockchain
|
|
::
|
|
[%get-block-count ~]
|
|
:: %get-block-filter: Retrieve a BIP 157 content filter for a block.
|
|
::
|
|
[%get-block-filter block-hash=@ux filter-type=(unit @t)]
|
|
:: %get-block-hash: Returns hash of block in best-block-chain at height
|
|
::
|
|
[%get-block-hash height=@ud]
|
|
:: %get-block-header: If verbose is false, returns a string that is
|
|
:: serialized, hex-encoded data for blockheader 'hash'. If verbose is
|
|
:: true, returns an Object
|
|
::
|
|
[%get-block-header blockhash=@ux verbose=(unit ?)]
|
|
:: %get-block-stats: Compute per block statistics for a given window.
|
|
::
|
|
$: %get-block-stats
|
|
$= hash-or-height
|
|
$% [%hex @ux]
|
|
[%num @ud]
|
|
==
|
|
::
|
|
stats=(unit (list @t))
|
|
==
|
|
:: %get-chain-tips: Return information about tips in the block tree.
|
|
::
|
|
[%get-chain-tips ~]
|
|
:: %get-chain-tx-stats: Compute statistics about total number rate
|
|
:: of transactions in the chain.
|
|
::
|
|
[%get-chain-tx-stats n-blocks=(unit @ud) blockhash=(unit @ux)]
|
|
:: %get-difficulty: Returns the proof-of-work difficulty as a multiple
|
|
:: of the minimum difficulty.
|
|
::
|
|
[%get-difficulty ~]
|
|
:: %get-mempool-ancestors: If txid is in the mempool, returns
|
|
:: all in-mempool ancestors.
|
|
::
|
|
[%get-mempool-ancestors txid=@ux verbose=(unit ?)]
|
|
:: %get-mempool-descendants: If txid is in the mempool, returns
|
|
:: all in-mempool descendants.
|
|
::
|
|
[%get-mempool-descendants txid=@ux verbose=(unit ?)]
|
|
:: %get-mempool-entry: Returns mempool data for given transaction
|
|
::
|
|
[%get-mempool-entry txid=@ux]
|
|
:: %get-mempool-info: Returns details on the active state of the
|
|
:: TX memory pool.
|
|
::
|
|
[%get-mempool-info ~]
|
|
:: %get-raw-mempool: Returns all transaction ids in memory pool as a
|
|
:: json array of string transaction ids.
|
|
::
|
|
[%get-raw-mempool verbose=(unit ?)]
|
|
:: %get-tx-out: Returns details about an unspent transaction output.
|
|
::
|
|
[%get-tx-out txid=@ux n=@ud include-mempool=(unit ?)]
|
|
:: %get-tx-out-proof: Returns a hex-encoded proof that "txid" was
|
|
:: included in a block.
|
|
::
|
|
[%get-tx-out-proof tx-ids=(list @ux) blockhash=(unit @ux)]
|
|
:: %get-tx-outset-info: Returns statistics about the unspent
|
|
:: transaction output set.
|
|
::
|
|
[%get-tx-outset-info ~]
|
|
:: %precious-block: Treats a block as if it were received before
|
|
:: others with the same work.
|
|
::
|
|
[%precious-block blockhash=@ux]
|
|
:: %prune-blockchain:
|
|
::
|
|
[%prune-blockchain height=@ud]
|
|
:: %save-mempool: Dumps the mempool to disk.
|
|
:: It will fail until the previous dump is fully loaded.
|
|
::
|
|
[%save-mempool ~]
|
|
:: %scan-tx-outset: Scans the unspent transaction output set for
|
|
:: entries that match certain output descriptors.
|
|
::
|
|
$: %scan-tx-outset
|
|
action=?(%start %abort %status)
|
|
scan-objects=(list scan-object)
|
|
==
|
|
:: %verify-chain: Verifies blockchain database.
|
|
::
|
|
[%verify-chain check-level=(unit @ud) n-blocks=(unit @ud)]
|
|
:: %verify-tx-out-proof: Verifies that a proof points to a transaction
|
|
:: in a block, returning the transaction it commits to
|
|
:: and throwing an RPC error if the block is not in our best chain
|
|
::
|
|
[%verify-tx-out-proof proof=@t]
|
|
:: Control
|
|
::
|
|
:: %getmemoryinfo: Returns an object containing information about memory
|
|
:: usage.
|
|
::
|
|
[%get-memory-info ~]
|
|
:: %getrpcinfo: Returns details of the RPC server.
|
|
::
|
|
[%get-rpc-info ~]
|
|
:: %help: List all commands, or get help for a specified command.
|
|
::
|
|
[%help command=(unit @t)]
|
|
:: %logging: Gets and sets the logging configuration.
|
|
::
|
|
$: %logging
|
|
include=?(%all %none (list logging-category))
|
|
exclude=?(%all %none (list logging-category))
|
|
==
|
|
:: %stop: Stop Bitcoin server.
|
|
::
|
|
[%stop ~]
|
|
:: %uptime: Returns the total uptime of the server.
|
|
::
|
|
[%uptime ~]
|
|
:: Generating
|
|
::
|
|
[%generate blocks=@ud max-tries=(unit @ud)]
|
|
:: %generatetoaddress: Mine blocks immediately to a specified address
|
|
:: (before the RPC call returns)
|
|
::
|
|
[%generate-to-address n-blocks=@ud =address max-tries=(unit @ud)]
|
|
:: Mining
|
|
::
|
|
:: %getblocktemplate: It returns data needed to construct a block
|
|
:: to work on.
|
|
::
|
|
$: %get-block-template
|
|
rules=(list rule)
|
|
capabilities=(list capability)
|
|
mode=(unit block-template-mode)
|
|
==
|
|
:: %getmininginfo: Returns a json object containing mining-related
|
|
:: information.
|
|
::
|
|
[%get-mining-info ~]
|
|
:: %getnetworkhashps: Returns the estimated network hashes per second
|
|
:: based on the last n blocks.
|
|
::
|
|
[%get-network-hash-ps n-blocks=(unit @ud) height=(unit @ud)]
|
|
:: %prioritisetransaction: Accepts the transaction into mined blocks
|
|
:: at a higher (or lower) priority
|
|
::
|
|
[%prioritise-transaction txid=@ux fee-delta=@ud]
|
|
:: %submitblock: Attempts to submit new block to network.
|
|
::
|
|
[%submit-block hex-data=@ux]
|
|
:: %submitheader: Decode the given hexdata as a header and submit it
|
|
:: as a candidate chain tip if valid. Throws when the header is
|
|
:: invalid.
|
|
::
|
|
[%submit-header hex-data=@ux]
|
|
:: Mining
|
|
::
|
|
:: %addnode: Attempts to add or remove a node from the addnode list.
|
|
:: Or try a connection to a node once.
|
|
::
|
|
[%add-node node=@if port=@ud command=?(%add %remove %onetry)]
|
|
:: %clearbanned: Clear all banned IPs.
|
|
::
|
|
[%clear-banned ~]
|
|
:: %disconnectnode: Immediately disconnects from the specified peer node.
|
|
::
|
|
[%disconnect-node node=?(node-id=@t [address=@if port=@ud])]
|
|
:: %getaddednodeinfo: Returns information about the given added node,
|
|
:: or all added nodes (note that onetry addnodes are not listed here)
|
|
::
|
|
[%get-added-node-info node=(unit @if)]
|
|
:: %getconnectioncount: Returns the number of connections to other
|
|
:: nodes.
|
|
::
|
|
[%get-connection-count ~]
|
|
:: %getnettotals: Returns information about network traffic,
|
|
:: including bytes in, bytes out, and current time.
|
|
::
|
|
[%get-net-totals ~]
|
|
:: %getnetworkinfo: Returns an object containing various state info
|
|
:: regarding P2P networking.
|
|
::
|
|
[%get-network-info ~]
|
|
:: %getnodeaddresses: Return known addresses which can potentially be
|
|
:: used to find new nodes in the network
|
|
[%get-node-addresses count=(unit @ud)]
|
|
:: %getpeerinfo: Returns data about each connected network node as a
|
|
:: json array of objects.
|
|
::
|
|
[%get-peer-info ~]
|
|
:: %listbanned: List all banned IPs/Subnets.
|
|
::
|
|
[%list-banned ~]
|
|
:: %ping: Requests that a ping be sent to all other nodes, to measure
|
|
:: ping time. Results provided in getpeerinfo, pingtime and pingwait
|
|
:: fields are decimal seconds. Ping command is handled in queue with all
|
|
:: other commands, so it measures processing backlog, not just network
|
|
:: ping.
|
|
::
|
|
[%ping ~]
|
|
:: %setban: Attempts to add or remove an IP/Subnet from the banned list.
|
|
::
|
|
$: %set-ban
|
|
subnet=@t
|
|
command=?(%add %remove)
|
|
ban-time=(unit ?([%dr @dr] [%da @da]))
|
|
==
|
|
:: %setnetworkactive: Disable/enable all p2p network activity.
|
|
::
|
|
[%set-network-active state=?]
|
|
:: Raw Transactions
|
|
::
|
|
:: %analyze-psbt: Analyzes and provides information about
|
|
:: the current status of a PSBT and its inputs
|
|
::
|
|
[%analyze-psbt psbt=@t]
|
|
:: %combine-psbt: Combine multiple partially signed Bitcoin
|
|
:: transactions into one transaction.
|
|
::
|
|
[%combine-psbt txs=(list @t)]
|
|
:: %combine-raw-transaction: Combine multiple partially signed t
|
|
:: ransactions into one transaction.
|
|
::
|
|
[%combine-raw-transaction txs=(list @ux)]
|
|
:: %convert-to-psbt: Converts a network serialized transaction to a
|
|
:: PSBT.
|
|
::
|
|
$: %convert-to-psbt
|
|
hex-string=@ux
|
|
permit-sig-data=(unit ?)
|
|
is-witness=(unit ?)
|
|
==
|
|
:: %create-psbt: Creates a transaction in the Partially Signed
|
|
:: Transaction format.
|
|
::
|
|
[%create-psbt partially-signed-transaction]
|
|
:: %create-raw-transaction: Create a transaction spending the given
|
|
:: inputs and creating new outputs.
|
|
::
|
|
[%create-raw-transaction partially-signed-transaction]
|
|
:: %decode-psbt: Return a JSON object representing the serialized,
|
|
:: base64-encoded partially signed Bitcoin transaction.
|
|
::
|
|
[%decode-psbt psbt=@t]
|
|
:: %decode-raw-transaction: Return a JSON object representing the
|
|
:: serialized, hex-encoded transaction.
|
|
::
|
|
[%decode-raw-transaction hex-string=@ux is-witness=?]
|
|
:: %decode-script: Decode a hex-encoded script.
|
|
::
|
|
[%decode-script hex-string=@ux]
|
|
:: %finalize-psbt: Finalize the inputs of a PSBT.
|
|
::
|
|
[%finalize-psbt psbt=@t extract=(unit ?)]
|
|
:: %fund-raw-transaction: Add inputs to a transaction until it has
|
|
:: enough in value to meet its out value.
|
|
::
|
|
$: %fund-raw-transaction
|
|
hex-string=@ux
|
|
::
|
|
$= options
|
|
%- unit
|
|
$: change-address=(unit address)
|
|
change-position=(unit @ud)
|
|
change-type=(unit address-type)
|
|
include-watching=(unit ?)
|
|
lock-unspents=(unit ?)
|
|
fee-rate=(unit @t)
|
|
subtract-fee-from-outputs=(unit (list @ud))
|
|
replaceable=(unit ?)
|
|
conf-target=(unit @ud)
|
|
mode=(unit estimate-mode)
|
|
==
|
|
::
|
|
is-witness=?
|
|
==
|
|
:: %get-raw-transaction: Return the raw transaction data.
|
|
::
|
|
[%get-raw-transaction txid=@ux verbose=(unit ?) blockhash=(unit @ux)]
|
|
:: %join-psbts: Joins multiple distinct PSBTs with different inputs
|
|
:: and outputs into one PSBT with inputs and outputs from all of
|
|
:: the PSBTs
|
|
::
|
|
[%join-psbts txs=(list @t)]
|
|
:: %send-raw-transaction: Submits raw transaction
|
|
:: (serialized, hex-encoded) to local node and network.
|
|
::
|
|
[%send-raw-transaction hex-string=@ux max-fee-rate=(unit @t)]
|
|
:: %sign-raw-transaction-with-key: Sign inputs for raw transaction
|
|
:: (serialized, hex-encoded).
|
|
::
|
|
$: %sign-raw-transaction-with-key
|
|
hex-string=@ux
|
|
priv-keys=(list @t)
|
|
prev-txs=(unit (list prev-tx))
|
|
sig-hash-type=(unit sig-hash)
|
|
==
|
|
:: %test-mempool-accept: Returns result of mempool acceptance tests
|
|
:: indicating if raw transaction (serialized, hex-encoded) would be
|
|
:: accepted by mempool.
|
|
::
|
|
[%test-mempool-accept raw-txs=(list @ux) max-fee-rate=(unit @t)]
|
|
:: %utxo-update-psbt: Updates a PSBT with witness UTXOs retrieved from
|
|
:: the UTXO set or the mempool.
|
|
::
|
|
$: %utxo-update-psbt
|
|
psbt=@t
|
|
descriptors=(unit (list descriptor))
|
|
==
|
|
:: Util
|
|
::
|
|
:: %create-multi-sig: Creates a multi-signature address with n
|
|
:: signature of m keys required. It returns a json object with the
|
|
:: address and redeemScript.
|
|
::
|
|
$: %create-multi-sig
|
|
n-required=@ud
|
|
keys=(list @ux)
|
|
address-type=(unit address-type)
|
|
==
|
|
:: %derive-addresses: Derives one or more addresses corresponding to
|
|
:: an output descriptor.
|
|
::
|
|
[%derive-addresses descriptor=@t range=(unit range)]
|
|
:: %estimate-smart-fee: Estimates the approximate fee per kilobyte
|
|
:: needed for a transaction to begin confirmation within conf_target
|
|
:: blocks if possible and return the number of blocks for which the
|
|
:: estimate is valid.
|
|
::
|
|
[%estimate-smart-fee conf-target=@ud mode=(unit estimate-mode)]
|
|
:: %get-descriptor-info: Analyses a descriptor.
|
|
::
|
|
[%get-descriptor-info descriptor=@t]
|
|
:: %sign-message-with-privkey: Sign a message with the private key of
|
|
:: an address
|
|
::
|
|
[%sign-message-with-privkey privkey=@t message=@t]
|
|
:: %validate-address: Return information about the given
|
|
:: bitcoin address.
|
|
::
|
|
[%validate-address =address]
|
|
:: %verify-message: Verify a signed message
|
|
::
|
|
[%verify-message =address signature=@t message=@t]
|
|
:: Wallet
|
|
::
|
|
:: %abandon-transaction: Mark in-wallet transaction as abandoned.
|
|
::
|
|
[%abandon-transaction txid=@ux]
|
|
:: %abort-rescan: Stops current wallet rescan triggered by an
|
|
:: RPC call, e.g. by an importprivkey call.
|
|
::
|
|
[%abort-rescan ~]
|
|
:: %add-multisig-address: Add a nrequired-to-sign multisignature
|
|
:: address to the wallet.
|
|
::
|
|
$: %add-multisig-address
|
|
n-required=@ud
|
|
keys=(list address)
|
|
label=(unit @t)
|
|
=address-type
|
|
==
|
|
:: %backupwallet: Safely copies current wallet file to destination.
|
|
::
|
|
[%backup-wallet destination=@t]
|
|
:: %bump-fee: Bumps the fee of an opt-in-RBF transaction T, replacing
|
|
:: it with a new transaction B.
|
|
::
|
|
$: %bump-fee
|
|
txid=@ux
|
|
::
|
|
$= options
|
|
%- unit
|
|
$: conf-target=(unit @ud)
|
|
total-fee=(unit @t)
|
|
fee-rate=(unit @t)
|
|
replaceable=(unit ?)
|
|
mode=(unit estimate-mode)
|
|
== ==
|
|
:: %create-wallet: Creates and loads a new wallet.
|
|
::
|
|
:: - %name: The name for the new wallet.
|
|
:: - %disable-private-keys: Disable the possibility of private keys
|
|
:: (only watchonlys are possible in this mode).
|
|
:: - %blank: Create a blank wallet.
|
|
:: A blank wallet has no keys or HD seed.
|
|
:: One can be set using sethdseed.
|
|
::
|
|
$: %create-wallet
|
|
name=@t
|
|
disable-private-keys=(unit ?)
|
|
blank=(unit ?)
|
|
passphrase=(unit @t)
|
|
avoid-reuse=(unit ?)
|
|
==
|
|
:: %dump-privkey: Reveals the private key corresponding to 'address'.
|
|
::
|
|
[%dump-privkey =address]
|
|
:: %dump-wallet: Dumps all wallet keys in a human-readable format to
|
|
:: a server-side file.
|
|
::
|
|
[%dump-wallet filename=@t]
|
|
:: %encrypt-wallet: Encrypts the wallet with 'passphrase'.
|
|
::
|
|
[%encrypt-wallet passphrase=@t]
|
|
:: %get-addresses-by-label: Returns the list of addresses assigned the
|
|
:: specified label.
|
|
::
|
|
[%get-addresses-by-label label=@t]
|
|
:: %get-address-info: Return information about the given bitcoin
|
|
:: address.
|
|
::
|
|
[%get-address-info =address]
|
|
:: %get-balance: Returns the total available balance.
|
|
::
|
|
$: %get-balance
|
|
%- unit
|
|
$: dummy=(unit %'*')
|
|
minconf=(unit @ud)
|
|
include-watch-only=(unit ?)
|
|
avoid-reuse=(unit ?)
|
|
== ==
|
|
:: %get-balances: Returns an object with all balances in BTC.
|
|
::
|
|
[%get-balances ~]
|
|
:: %get-new-address: Returns a new Bitcoin address for receiving
|
|
:: payments.
|
|
::
|
|
[%get-new-address label=(unit @t) address-type=(unit address-type)]
|
|
:: %get-raw-change-address: Returns a new Bitcoin address,
|
|
:: for receiving change.
|
|
::
|
|
[%get-raw-change-address address-type=(unit address-type)]
|
|
:: %get-received-by-address: Returns the total amount received by the
|
|
:: given address in transactions with at least minconf confirmations.
|
|
::
|
|
[%get-received-by-address =address minconf=@ud]
|
|
:: %get-received-by-label: Returns the total amount received by
|
|
:: addresses with <label> in transactions with at least [minconf]
|
|
:: confirmations.
|
|
::
|
|
[%get-received-by-label label=@t minconf=(unit @ud)]
|
|
:: %get-transaction: Get detailed information about in-wallet
|
|
:: transaction <txid>
|
|
::
|
|
$: %get-transaction
|
|
txid=@ux
|
|
include-watch-only=(unit ?)
|
|
verbose=(unit ?)
|
|
==
|
|
:: %get-unconfirmed-balance: Returns the server's total unconfirmed
|
|
:: balance
|
|
::
|
|
[%get-unconfirmed-balance ~]
|
|
:: %get-wallet-info: Returns an object containing various wallet
|
|
:: state info.
|
|
::
|
|
[%get-wallet-info wallet=@t]
|
|
:: %import-address: Adds an address or script (in hex) that can be
|
|
:: watched as if it were in your wallet but cannot be used to spend.
|
|
::
|
|
$: %import-address
|
|
$= address
|
|
$% [%addr @uc]
|
|
[%bech32 @t]
|
|
[%script @ux]
|
|
==
|
|
::
|
|
label=(unit @t)
|
|
rescan=(unit ?)
|
|
p2sh=(unit ?)
|
|
==
|
|
:: %import-multi: Import addresses/scripts (with private or public
|
|
:: keys, redeem script (P2SH)), optionally rescanning the blockchain
|
|
:: from the earliest creation time of the imported scripts.
|
|
::
|
|
$: %import-multi
|
|
requests=(list import-request)
|
|
options=(unit rescan=?)
|
|
==
|
|
:: %import-privkey: Adds a private key (as returned by dumpprivkey)
|
|
:: to your wallet.
|
|
::
|
|
[%import-privkey privkey=@t label=(unit @t) rescan=(unit ?)]
|
|
:: %import-pruned-funds: Imports funds without rescan.
|
|
::
|
|
[%import-pruned-funds raw-transaction=@ux tx-out-proof=@t]
|
|
:: %import-pubkey: Adds a public key (in hex) that can be watched as
|
|
:: if it were in your wallet but cannot be used to spend.
|
|
::
|
|
[%import-pubkey pubkey=@ux label=(unit @t) rescan=(unit ?)]
|
|
:: %import-wallet: Imports keys from a wallet dump file
|
|
::
|
|
[%import-wallet filename=@t]
|
|
:: %key-pool-refill: Fills the keypool.
|
|
::
|
|
[%key-pool-refill new-size=(unit @ud)]
|
|
:: %list-address-groupings: Lists groups of addresses which have had
|
|
:: their common ownership (made public by common use as inputs or as
|
|
:: the resulting change in past transactions)
|
|
::
|
|
[%list-address-groupings ~]
|
|
:: %list-labels: Returns the list of all labels, or labels that are
|
|
:: assigned to addresses with a specific purpose.
|
|
::
|
|
[%list-labels purpose=(unit purpose)]
|
|
:: %list-lock-unspent: Returns list of temporarily unspendable
|
|
:: outputs.
|
|
::
|
|
[%list-lock-unspent ~]
|
|
:: %list-received-by-address: List balances by receiving address.
|
|
::
|
|
$: %list-received-by-address
|
|
%- unit
|
|
$: minconf=(unit @ud)
|
|
include-empty=(unit ?)
|
|
include-watch-only=(unit ?)
|
|
address-filter=(unit =address)
|
|
== ==
|
|
:: %list-received-by-label: List received transactions by label.
|
|
::
|
|
$: %list-received-by-label
|
|
%- unit
|
|
$: minconf=(unit @ud)
|
|
include-empty=(unit ?)
|
|
include-watch-only=(unit ?)
|
|
== ==
|
|
:: %lists-in-ceblock: Get all transactions in blocks since block
|
|
:: [blockhash], or all transactions if omitted.
|
|
::
|
|
$: %lists-in-ceblock
|
|
%- unit
|
|
$: blockhash=(unit blockhash)
|
|
target-confirmations=(unit @ud)
|
|
include-watch-only=(unit ?)
|
|
include-removed=(unit ?)
|
|
== ==
|
|
:: %list-transactions: If a label name is provided, this will return
|
|
:: only incoming transactions paying to addresses with the specified
|
|
:: label.
|
|
::
|
|
$: %list-transactions
|
|
%- unit
|
|
$: label=(unit @t)
|
|
count=(unit @ud)
|
|
skip=(unit @ud)
|
|
include-watch-only=(unit ?)
|
|
== ==
|
|
:: %list-unspent: Returns array of unspent transaction outputs
|
|
:: (with between minconf and maxconf (inclusive) confirmations.
|
|
::
|
|
$: %list-unspent
|
|
%- unit
|
|
$: minconf=(unit @ud)
|
|
maxconf=(unit @ud)
|
|
addresses=(unit (list address))
|
|
include-unsafe=(unit ?)
|
|
::
|
|
$= query-options
|
|
%- unit
|
|
$: minimum-amount=(unit @ud)
|
|
maximum-amount=(unit @ud)
|
|
maximum-count=(unit @ud)
|
|
minimum-sum-amount=(unit @ud)
|
|
== == ==
|
|
:: %list-wallet-dir Returns a list of wallets in the wallet directory.
|
|
::
|
|
[%list-wallet-dir ~]
|
|
:: %list-wallets Returns a list of currently loaded wallets.
|
|
:: (For full information on the wallet, use "getwalletinfo"
|
|
::
|
|
[%list-wallets ~]
|
|
:: %load-wallet Loads a wallet from a wallet file or directory.
|
|
::
|
|
[%load-wallet filename=@t]
|
|
:: %lock-unspent: Updates list of temporarily unspendable outputs.
|
|
::
|
|
$: %lock-unspent
|
|
unlock=?
|
|
transactions=(unit (list [txid=@ux vout=@ud]))
|
|
==
|
|
:: %remove-pruned-funds Deletes the specified transaction from the
|
|
:: wallet.
|
|
::
|
|
[%remove-pruned-funds txid=@ux]
|
|
:: %rescan-blockchain Rescan the local blockchain for wallet related
|
|
:: transactions.
|
|
::
|
|
[%rescan-blockchain start-height=(unit @ud) stop-height=(unit @ud)]
|
|
:: %send-many: Send multiple times.
|
|
:: Amounts are double-precision floating point numbers.
|
|
::
|
|
$: %send-many
|
|
dummy=%$
|
|
amounts=(list [=address amount=@t])
|
|
minconf=(unit @ud)
|
|
comment=(unit @t)
|
|
subtract-fee-from=(unit (list address))
|
|
replaceable=(unit ?)
|
|
conf-target=(unit @ud)
|
|
mode=(unit estimate-mode)
|
|
==
|
|
:: %send-to-address: Send an amount to a given address.
|
|
::
|
|
$: %send-to-address
|
|
=address
|
|
amount=@t
|
|
comment=(unit @t)
|
|
comment-to=(unit @t)
|
|
subtract-fee-from-amount=(unit ?)
|
|
replaceable=(unit ?)
|
|
conf-target=(unit @ud)
|
|
mode=(unit estimate-mode)
|
|
avoid-reuse=(unit ?)
|
|
==
|
|
:: %set-hd-seed: Set or generate a new HD wallet seed.
|
|
:: Non-HD wallets will not be upgraded to being a HD wallet.
|
|
::
|
|
[%set-hd-seed ~]
|
|
:: %set-label: Sets the label associated with the given address.
|
|
::
|
|
[%set-label =address label=@t]
|
|
:: %set-tx-fee: Set the transaction fee per kB for this wallet.
|
|
::
|
|
[%set-tx-fee amount=@t]
|
|
:: %set-wallet-flag: Change the state of the given wallet flag for a wallet.
|
|
::
|
|
[%set-wallet-flag flag=@t value=(unit ?)]
|
|
:: %sign-message: Sign a message with the private key of an address
|
|
::
|
|
[%sign-message =address message=@t]
|
|
:: %sign-raw-transaction-with-wallet: Sign inputs for raw transaction
|
|
:: (serialized, hex-encoded).
|
|
::
|
|
$: %sign-raw-transaction-with-wallet
|
|
hex-string=@ux
|
|
prev-txs=(unit (list prev-tx))
|
|
sig-hash-type=(unit sig-hash)
|
|
==
|
|
:: %unload-wallet: Unloads the wallet referenced by the request
|
|
:: endpoint otherwise unloads the wallet specified in the argument.
|
|
::
|
|
[%unload-wallet wallet-name=(unit @t)]
|
|
:: %wallet-create-fundedpsbt: Creates and funds a transaction in the
|
|
:: Partially Signed Transaction format.
|
|
:: Inputs will be added if supplied inputs are not enough
|
|
::
|
|
$: %wallet-create-fundedpsbt
|
|
inputs=(list input)
|
|
outputs=output
|
|
locktime=(unit @ud)
|
|
::
|
|
$= options
|
|
%- unit
|
|
$: change-address=(unit address)
|
|
change-position=(unit @ud)
|
|
change-type=(unit address-type)
|
|
include-watching=(unit ?)
|
|
lock-unspents=(unit ?)
|
|
fee-rate=(unit @t)
|
|
subtract-fee-from-outputs=(unit (list @ud))
|
|
replaceable=(unit ?)
|
|
conf-target=(unit @ud)
|
|
mode=(unit estimate-mode)
|
|
==
|
|
::
|
|
bip32-derivs=(unit ?)
|
|
==
|
|
:: %wallet-lock: Removes the wallet encryption key from memory,
|
|
:: locking the wallet.
|
|
::
|
|
[%wallet-lock ~]
|
|
:: %wallet-passphrase: Stores the wallet decryption key in memory
|
|
:: for 'timeout' seconds.
|
|
::
|
|
[%wallet-passphrase passphrase=@t timeout=@ud]
|
|
:: %wallet-passphrase-changehange: s the wallet passphrase from
|
|
:: 'oldpassphrase' to 'newpassphrase'.
|
|
::
|
|
$: %wallet-passphrase-change
|
|
old-passphrase=(unit @t)
|
|
new-passphrase=(unit @t)
|
|
==
|
|
:: %wallet-process-psbt: Update a PSBT with input information from
|
|
:: our wallet and then sign inputs
|
|
::
|
|
$: %wallet-process-psbt
|
|
psbt=@t
|
|
sign=?
|
|
=sig-hash
|
|
bip32-derivs=(unit ?)
|
|
==
|
|
:: ZMQ management
|
|
::
|
|
:: %get-zmq-notifications Returns information about the active
|
|
:: ZeroMQ notifications.
|
|
::
|
|
[%get-zmq-notifications ~]
|
|
==
|
|
::
|
|
+$ response
|
|
$%
|
|
:: Blockchain
|
|
::
|
|
[%get-best-block-hash hex=@ux]
|
|
::
|
|
$: %get-block
|
|
$? :: verbosity = 0
|
|
::
|
|
@ux
|
|
::
|
|
:: verbosity > 0
|
|
::
|
|
$: hash=@ux
|
|
confirmations=@ud
|
|
size=@ud
|
|
stripped-size=@ud
|
|
weight=@ud
|
|
height=@ud
|
|
version=@t
|
|
version-hex=@ux
|
|
merkle-root=@ux
|
|
::
|
|
$= tx
|
|
%- list
|
|
$? :: verbosity = 1
|
|
::
|
|
@ux
|
|
::
|
|
:: verbosity = 2
|
|
::
|
|
raw-transaction-rpc-out
|
|
==
|
|
::
|
|
time=@ud
|
|
median-time=@ud
|
|
nonce=@ud
|
|
bits=@ux
|
|
difficulty=@t
|
|
chain-work=@ux
|
|
n-tx=@ud
|
|
previous-blockhash=@ux
|
|
next-blockhash=(unit @ux)
|
|
== == ==
|
|
::
|
|
$: %get-blockchain-info
|
|
chain=network-name
|
|
blocks=@ud
|
|
headers=@ud
|
|
best-block-hash=@ux
|
|
difficulty=@t
|
|
median-time=@ud
|
|
verification-progress=@t
|
|
initial-block-download=?
|
|
chain-work=@ux
|
|
size-on-disk=@ud
|
|
pruned=?
|
|
pruneheight=(unit @ud)
|
|
automatic-pruning=(unit ?)
|
|
prune-target-size=(unit @ud)
|
|
::
|
|
$= softforks
|
|
%+ map name=@t
|
|
$: type=soft-fork-types
|
|
::
|
|
$= bip9
|
|
%- unit
|
|
$: status=(unit soft-fork-status)
|
|
bit=(unit @ud)
|
|
start-time=?(%'-1' @ud)
|
|
timeout=@ud
|
|
since=@ud
|
|
::
|
|
$= statistics
|
|
%- unit
|
|
$: period=@ud
|
|
threshold=@ud
|
|
elapsed=@ud
|
|
count=@ud
|
|
possible=?
|
|
== ==
|
|
::
|
|
height=(unit @ud)
|
|
active=?
|
|
== ==
|
|
::
|
|
[%get-block-count count=@ud]
|
|
[%get-block-filter filter=@ux header=@ux]
|
|
[%get-block-hash hash=@ux]
|
|
::
|
|
$: %get-block-header
|
|
$? :: (for verbose = false)
|
|
::
|
|
@ux
|
|
::
|
|
:: (for verbose = true)
|
|
::
|
|
$: hash=@ux
|
|
confirmations=@ud
|
|
weight=@ud
|
|
version=@t
|
|
version-hex=@ux
|
|
merkle-root=@ux
|
|
time=@ud
|
|
median-time=@ud
|
|
nonce=@ud
|
|
bits=@ux
|
|
difficulty=@t
|
|
chain-work=@ux
|
|
n-tx=@ud
|
|
previous-blockhash=@ux
|
|
next-blockhash=(unit @ux)
|
|
== == ==
|
|
::
|
|
$: %get-block-stats
|
|
avg-fee=@t
|
|
avg-feerate=@ud
|
|
avg-tx-size=@ud
|
|
block-hash=@ux
|
|
::
|
|
$= fee-rate-percentiles
|
|
$: p-1=@t
|
|
p-2=@t
|
|
p-3=@t
|
|
p-4=@t
|
|
p-5=@t
|
|
==
|
|
::
|
|
height=@ud
|
|
ins=@ud
|
|
max-fee=@t
|
|
max-fee-rate=@t
|
|
max-tx-size=@ud
|
|
median-fee=@t
|
|
median-time=@ud
|
|
median-tx-size=@ud
|
|
min-fee=@t
|
|
min-fee-rate=@t
|
|
min-tx-size=@ud
|
|
outs=@ud
|
|
subsidy=@t
|
|
swtotal-size=@ud
|
|
swtotal-weight=@ud
|
|
swtxs=@ud
|
|
time=@ud
|
|
total-out=@t
|
|
total-size=@ud
|
|
total-weight=@t
|
|
total-fee=@t
|
|
txs=@ud
|
|
utxo-increase=@t
|
|
utxo-size-inc=@t
|
|
==
|
|
::
|
|
$: %get-chain-tips
|
|
%- list
|
|
$: height=@ud
|
|
hash=@ux
|
|
branch-len=@ud
|
|
status=chain-status
|
|
== ==
|
|
::
|
|
$: %get-chain-tx-stats
|
|
time=@ud
|
|
tx-count=@ud
|
|
window-final-block-hash=@ux
|
|
window-final-block-height=@ud
|
|
window-block-count=@ud
|
|
window-tx-count=(unit @ud)
|
|
window-interval=(unit @ud)
|
|
tx-rate=(unit @t)
|
|
==
|
|
::
|
|
[%get-difficulty n=@t]
|
|
[%get-mempool-ancestors mem-pool-response]
|
|
[%get-mempool-descendants mem-pool-response]
|
|
[%get-mempool-entry mem-pool]
|
|
::
|
|
$: %get-mempool-info
|
|
size=@ud
|
|
bytes=@ud
|
|
usage=@ud
|
|
max-mem-pool=@ud
|
|
mem-pool-min-fee=@t
|
|
min-relay-tx-fee=@t
|
|
==
|
|
::
|
|
[%get-raw-mempool mem-pool-response]
|
|
::
|
|
$: %get-tx-out
|
|
%- unit
|
|
$: best-block=@ux
|
|
confirmations=@ud
|
|
value=@t
|
|
::
|
|
$= script-pubkey
|
|
$: asm=@t
|
|
hex=@ux
|
|
req-sigs=(unit @ud)
|
|
type=@t
|
|
addresses=(unit (list address))
|
|
==
|
|
::
|
|
coinbase=?
|
|
== ==
|
|
::
|
|
[%get-tx-out-proof data=@t]
|
|
::
|
|
$: %get-tx-outset-info
|
|
height=@ud
|
|
best-block=@ux
|
|
transactions=@ud
|
|
tx-outs=@ud
|
|
bogo-size=@ud
|
|
hash-serialized-2=@ux
|
|
disk-size=@ud
|
|
total-amount=@t
|
|
==
|
|
::
|
|
[%precious-block ~]
|
|
[%prune-blockchain height=@ud]
|
|
[%save-mempool ~]
|
|
::
|
|
$: %scan-tx-outset
|
|
success=(unit ?)
|
|
searched-items=(unit @ud)
|
|
txouts=(unit @ud)
|
|
height=(unit @ud)
|
|
best-blocks=(unit @ux)
|
|
::
|
|
$= unspents
|
|
%- list
|
|
$: txid=@ux
|
|
vout=@ud
|
|
script-pubkey=@ux
|
|
desc=@t
|
|
amount=@t
|
|
height=@ud
|
|
==
|
|
::
|
|
total-amount=@t
|
|
==
|
|
::
|
|
[%verify-chain ?]
|
|
[%verify-tx-out-proof (list @ux)]
|
|
:: Control
|
|
::
|
|
$: %get-memory-info
|
|
used=@ud
|
|
free=@ud
|
|
total=@ud
|
|
locked=@ud
|
|
chunks-free=@ud
|
|
chunks-used=@ud
|
|
==
|
|
::
|
|
[%get-rpc-info active-commands=(list rpc-command)]
|
|
[%help help=wall]
|
|
[%logging logging-config=(map @t ?)]
|
|
[%stop res=@t]
|
|
[%uptime uptime=@dr]
|
|
:: Generating
|
|
::
|
|
[%generate blocks=(list blockhash)]
|
|
[%generate-to-address blockhashes=(list blockhash)]
|
|
:: Mining
|
|
::
|
|
$: %get-block-template
|
|
version=@ud
|
|
rules=(list rule)
|
|
vb-available=(map @t @ud)
|
|
vb-required=@ud
|
|
previous-blockhash=blockhash
|
|
transactions=(list transaction)
|
|
coinbase-aux=@t
|
|
coinbase-value=@ud
|
|
target=blockhash
|
|
min-time=@da
|
|
mutable=(list mutable)
|
|
nonce-range=@t
|
|
sigop-limit=@ud
|
|
size-limit=@ud
|
|
weight-limit=@ud
|
|
cur-time=@da
|
|
bits=@ux
|
|
height=@ud
|
|
default-witness-commitment=blockhash
|
|
==
|
|
::
|
|
$: %get-mining-info
|
|
blocks=@ud
|
|
current-block-weight=@ud
|
|
current-block-tx=@ud
|
|
difficulty=@rd
|
|
network-hash-ps=@rd
|
|
pooled-tx=@ud
|
|
chain=network-name
|
|
warnings=@t
|
|
==
|
|
::
|
|
[%get-network-hash-ps hash-ps=@rd]
|
|
[%prioritise-transaction res=?]
|
|
[%submit-block res=@t]
|
|
[%submit-header res=@t]
|
|
:: Network
|
|
::
|
|
[%add-node res=null]
|
|
[%clear-banned res=null]
|
|
[%disconnect-node res=null]
|
|
[%get-added-node-info node-info=(list node-info)]
|
|
[%get-connection-count connection-count=@ud]
|
|
::
|
|
$: %get-net-totals
|
|
total-bytes-recv=@ud
|
|
total-bytes-sent=@ud
|
|
time-millis=@da
|
|
=upload-target
|
|
==
|
|
::
|
|
$: %get-network-info
|
|
version=@ud
|
|
subversion=@t
|
|
protocol-version=@ud
|
|
local-services=@t
|
|
local-services-names=(list @t)
|
|
local-relay=?
|
|
time-offset=@t
|
|
connections=@ud
|
|
network-active=?
|
|
networks=(list network-info)
|
|
relay-fee=@rd
|
|
incremental-fee=@rd
|
|
local-addresses=(list local-address)
|
|
warnings=@t
|
|
==
|
|
::
|
|
[%get-node-addresses (list node-address-info)]
|
|
[%get-peer-info (list peer-info)]
|
|
[%list-banned (list banned)]
|
|
[%ping res=null]
|
|
[%set-ban res=null]
|
|
[%set-network-active res=?]
|
|
:: Raw Transactions
|
|
::
|
|
$: %analyze-psbt
|
|
$= inputs
|
|
%- list
|
|
$: has-utxo=?
|
|
is-final=?
|
|
::
|
|
$= missing
|
|
%- unit
|
|
$: pubkeys=(unit (list @ux))
|
|
signatures=(unit (list @ux))
|
|
redeem-script=(unit @ux)
|
|
witness-script=(unit @ux)
|
|
==
|
|
::
|
|
next=(unit @t)
|
|
==
|
|
::
|
|
estimated-vsize=(unit @t)
|
|
estimated-feerate=(unit @t)
|
|
fee=(unit @t)
|
|
next=@t
|
|
==
|
|
::
|
|
[%combine-psbt psbt=@t]
|
|
[%combine-raw-transaction hex=@ux]
|
|
[%convert-to-psbt psbt=@t]
|
|
[%create-psbt psbt=@t]
|
|
[%create-raw-transaction transaction=@ux]
|
|
::
|
|
$: %decode-psbt
|
|
tx=serialized-tx
|
|
::
|
|
unknown=(map @t @t)
|
|
::
|
|
$= inputs
|
|
%- list
|
|
$: non-witness-utxo=utxo
|
|
witness-utxo=utxo
|
|
partial-signatures=(unit (map pubkey=@ux signature=@ux))
|
|
sig-hash-type=(unit sig-hash)
|
|
redeem-script=(unit script)
|
|
witness-script=(unit script)
|
|
::
|
|
$= bip32-derivs
|
|
%- unit
|
|
%+ map
|
|
pubkey=@ux
|
|
::
|
|
$: master-fingerprint=@t
|
|
path=@t
|
|
==
|
|
::
|
|
final-script-sig=(unit [asm=@t hex=@ux])
|
|
final-script-witness=(unit (list @ux))
|
|
unknown=(unit (map @t @t))
|
|
==
|
|
::
|
|
$= outputs
|
|
%- list
|
|
$: redeem-script=(unit script)
|
|
witness-script=(unit script)
|
|
::
|
|
$= bip32-derivs
|
|
%- unit
|
|
%+ map
|
|
pubkey=@ux
|
|
::
|
|
$: master-fingerprint=@t
|
|
path=@t
|
|
==
|
|
::
|
|
unknown=(unit (map @t @t))
|
|
==
|
|
::
|
|
fee=(unit @t)
|
|
==
|
|
::
|
|
[%decode-raw-transaction =serialized-tx]
|
|
::
|
|
$: %decode-script
|
|
asm=@t
|
|
hex=(unit @ux)
|
|
type=@t
|
|
req-sigs=(unit @ud)
|
|
addresses=(unit (list address))
|
|
p2sh=(unit @uc)
|
|
segwit=(unit segwit-script)
|
|
==
|
|
::
|
|
[%finalize-psbt psbt=(unit @t) hex=(unit @ux) complete=?]
|
|
[%fund-raw-transaction hex=@ux fee=@t change-pos=?(@ud %'-1')]
|
|
[%get-raw-transaction data=?(@ux raw-transaction-rpc-out)]
|
|
[%join-psbts psbt=@t]
|
|
[%send-raw-transaction hex=@ux]
|
|
::
|
|
$: %sign-raw-transaction-with-key
|
|
hex=@ux
|
|
complete=?
|
|
errors=(unit errors)
|
|
==
|
|
::
|
|
$: %test-mempool-accept
|
|
%- list
|
|
$: txid=@ux
|
|
allowed=?
|
|
reject-reason=(unit @t)
|
|
== ==
|
|
::
|
|
[%utxo-update-psbt psbt=@t]
|
|
:: Util
|
|
::
|
|
[%create-multi-sig =address redeem-script=@t]
|
|
[%derive-addresses (list address)]
|
|
::
|
|
$: %estimate-smart-fee
|
|
fee-rate=(unit @t)
|
|
errors=(unit (list @t))
|
|
blocks=@ud
|
|
==
|
|
::
|
|
$: %get-descriptor-info
|
|
descriptor=@t
|
|
checksum=@t
|
|
is-range=?
|
|
is-solvable=?
|
|
has-private-keys=?
|
|
==
|
|
::
|
|
[%sign-message-with-privkey signature=@t]
|
|
::
|
|
$: %validate-address
|
|
is-valid=?
|
|
address=(unit address)
|
|
script-pubkey=(unit @ux)
|
|
is-script=(unit ?)
|
|
is-witness=(unit ?)
|
|
witness-version=(unit @t)
|
|
witness-program=(unit @ux)
|
|
==
|
|
::
|
|
[%verify-message ?]
|
|
:: Wallet
|
|
::
|
|
[%abandon-transaction ~]
|
|
[%abort-rescan ~]
|
|
::
|
|
$: %add-multisig-address
|
|
=address
|
|
redeem-script=@t
|
|
==
|
|
::
|
|
[%backup-wallet ~]
|
|
[%bump-fee txid=@ux orig-fee=@t fee=@t errors=(list @t)]
|
|
[%create-wallet name=@t warning=@t]
|
|
[%dump-privkey key=@t]
|
|
[%dump-wallet filename=@t]
|
|
[%encrypt-wallet ~]
|
|
::
|
|
$: %get-addresses-by-label
|
|
addresses=(list [address =purpose])
|
|
==
|
|
::
|
|
$: %get-address-info
|
|
=address
|
|
script-pubkey=@ux
|
|
is-mine=?
|
|
is-watchonly=?
|
|
solvable=?
|
|
desc=(unit @t)
|
|
is-script=?
|
|
is-change=?
|
|
is-witness=?
|
|
witness-version=(unit @t)
|
|
witness-program=(unit @ux)
|
|
script=(unit @t)
|
|
hex=(unit @ux)
|
|
pubkeys=(unit (list @ux))
|
|
sigs-required=(unit @ud)
|
|
pubkey=(unit @ux)
|
|
::
|
|
$= embedded
|
|
%- unit
|
|
$: script-pubkey=@ux
|
|
solvable=(unit ?)
|
|
desc=(unit @t)
|
|
is-script=?
|
|
is-change=(unit ?)
|
|
is-witness=?
|
|
witness-version=(unit @t)
|
|
witness-program=(unit @ux)
|
|
script=(unit @ux)
|
|
hex=(unit @ux)
|
|
pubkeys=(unit (list @ux))
|
|
sigs-required=(unit @ud)
|
|
pubkey=(unit @ux)
|
|
is-compressed=(unit ?)
|
|
label=(unit @t)
|
|
hd-master-finger-print=(unit @ux)
|
|
labels=(unit (list [name=@t =purpose]))
|
|
==
|
|
::
|
|
is-compressed=(unit ?)
|
|
label=(unit @t)
|
|
timestamp=(unit @ud)
|
|
hd-key-path=(unit @t)
|
|
hd-seed-id=(unit @ux)
|
|
hd-master-finger-print=(unit @ux)
|
|
labels=(list [name=@t =purpose])
|
|
==
|
|
::
|
|
[%get-balance amount=@t]
|
|
::
|
|
$: %get-balances
|
|
$= mine
|
|
$: trusted=(unit @t)
|
|
untrusted-pending=@t
|
|
immature=@t
|
|
used=(unit @t)
|
|
==
|
|
::
|
|
$= watchonly
|
|
%- unit
|
|
$: trusted=@t
|
|
untrusted-pending=@t
|
|
immature=@t
|
|
== ==
|
|
::
|
|
[%get-new-address =address]
|
|
[%get-raw-change-address =address]
|
|
[%get-received-by-address amount=@t]
|
|
[%get-received-by-label amount=@t]
|
|
::
|
|
$: %get-transaction
|
|
amount=@t
|
|
fee=(unit @t)
|
|
confirmations=@ud
|
|
blockhash=(unit @ux)
|
|
blockindex=(unit @ud)
|
|
blocktime=(unit @ud)
|
|
txid=@ux
|
|
time=@ud
|
|
time-received=@ud
|
|
=bip125-replaceable
|
|
::
|
|
$= details
|
|
%- list
|
|
$: address=(unit address)
|
|
=category
|
|
amount=@t
|
|
label=(unit @t)
|
|
vout=@ud
|
|
fee=(unit @t)
|
|
abandoned=(unit ?)
|
|
==
|
|
::
|
|
hex=@ux
|
|
decoded=(unit raw-transaction-rpc-out)
|
|
==
|
|
::
|
|
[%get-unconfirmed-balance amount=@t]
|
|
::
|
|
$: %get-wallet-info
|
|
wallet-name=@t
|
|
wallet-version=@ud
|
|
balance=@t
|
|
unconfirmed-balance=@t
|
|
immature-balance=@t
|
|
tx-count=@ud
|
|
key-pool-oldest=@ud
|
|
key-pool-size=@ud
|
|
key-pool-size-hd-internal=(unit @ud)
|
|
unlocked-until=(unit @ud)
|
|
pay-tx-fee=@t
|
|
hd-seed-id=(unit @ux)
|
|
private-keys-enabled=?
|
|
avoid-reuse=?
|
|
scanning=?(? [duration=@t progress=@t])
|
|
==
|
|
::
|
|
[%import-address ~]
|
|
::
|
|
$: %import-multi
|
|
%- list
|
|
$: success=?
|
|
warnings=(unit (list @t))
|
|
errors=(unit [code=@t message=@t])
|
|
== ==
|
|
::
|
|
[%import-privkey ~]
|
|
[%import-pruned-funds ~]
|
|
[%import-pubkey ~]
|
|
[%import-wallet ~]
|
|
[%key-pool-refill ~]
|
|
::
|
|
$: %list-address-groupings
|
|
$= groups
|
|
%- list
|
|
%- list
|
|
%- list
|
|
$: address
|
|
amount=@t
|
|
label=(unit @t)
|
|
== ==
|
|
::
|
|
[%list-labels labels=(list @t)]
|
|
[%list-lock-unspent outputs=(list [txid=@ux vout=@ud])]
|
|
::
|
|
$: %list-received-by-address
|
|
%- list
|
|
$: involves-watch-only=(unit %&)
|
|
=address
|
|
amount=@t
|
|
confirmations=@ud
|
|
label=@t
|
|
txids=(list @ux)
|
|
== ==
|
|
::
|
|
$: %list-received-by-label
|
|
%- list
|
|
$: involves-watch-only=(unit %&)
|
|
amount=@t
|
|
confirmations=@ud
|
|
label=@t
|
|
== ==
|
|
::
|
|
$: %lists-in-ceblock
|
|
transactions=(list tx-in-block)
|
|
removed=(unit (list tx-in-block))
|
|
last-block=@ux
|
|
==
|
|
::
|
|
[%list-transactions transactions=(list tx-in-block)]
|
|
::
|
|
$: %list-unspent
|
|
$= txs
|
|
%- list
|
|
$: txid=@ux
|
|
vout=@ud
|
|
=address
|
|
label=@t
|
|
script-pubkey=@ux
|
|
amount=@t
|
|
confirmations=@ud
|
|
redeem-script=@ux
|
|
witness-script=(unit @ux)
|
|
spendable=?
|
|
solvable=?
|
|
reused=(unit ?)
|
|
desc=(unit @t)
|
|
safe=?
|
|
== ==
|
|
::
|
|
[%list-wallet-dir wallets=(list @t)]
|
|
[%list-wallets wallets=(list @t)]
|
|
[%load-wallet name=@t warning=@t]
|
|
[%lock-unspent ?]
|
|
[%remove-pruned-funds ~]
|
|
[%rescan-blockchain start-height=@ud stop-height=@ud]
|
|
[%send-many txid=@ux]
|
|
[%send-to-address txid=@ux]
|
|
[%set-hd-seed ~]
|
|
[%set-label ~]
|
|
[%set-tx-fee ?]
|
|
[%set-wallet-flag flag-name=@t flag-state=? warnings=@t]
|
|
[%sign-message signature=@t]
|
|
::
|
|
$: %sign-raw-transaction-with-wallet
|
|
hex=@ux
|
|
complete=?
|
|
errors=(unit errors)
|
|
==
|
|
::
|
|
[%unload-wallet ~]
|
|
[%wallet-create-fundedpsbt psbt=@t fee=@t changepos=?(@ud %'-1')]
|
|
[%wallet-lock ~]
|
|
[%wallet-passphrase ~]
|
|
[%wallet-passphrase-change ~]
|
|
[%wallet-process-psbt psbt=@t complete=?]
|
|
::
|
|
:: ZMQ
|
|
::
|
|
$: %get-zmq-notifications
|
|
(list [type=@t =address hwm=@ud])
|
|
== ==
|
|
::
|
|
+$ command
|
|
$% :: Loads RPC node URL+credentials
|
|
::
|
|
[%credentials url=@t user=@t pass=@t]
|
|
:: Adds an RPC call to the set of calls that trigger a broadcast to subscribers
|
|
::
|
|
[%watch call=term]
|
|
:: Removes an RPC call from the set of calls that trigger a broadcast to subscribers
|
|
::
|
|
[%unwatch call=term]
|
|
:: Check connectivity of node and return to subscribers
|
|
::
|
|
[%ping ~]
|
|
:: TODO: Sync data/wallets...
|
|
::
|
|
[%sync ~]
|
|
==
|
|
--
|
|
--
|