|
@ -1,6 +1,232 @@ |
|
|
Protocol Methods |
|
|
Protocol Methods |
|
|
================ |
|
|
================ |
|
|
|
|
|
|
|
|
|
|
|
blockchain.address.get_balance |
|
|
|
|
|
------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
Return the confirmed and unconfirmed balances of a bitcoin address. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: This method is deprecated; support will be removed in a later |
|
|
|
|
|
protocol version. Use :func:`blockchain.scripthash.get_balance` instead. |
|
|
|
|
|
|
|
|
|
|
|
**Signature** |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.get_balance(address) |
|
|
|
|
|
|
|
|
|
|
|
* *address* |
|
|
|
|
|
|
|
|
|
|
|
The address as a Base58 string. |
|
|
|
|
|
|
|
|
|
|
|
**Result** |
|
|
|
|
|
|
|
|
|
|
|
A dictionary with keys `confirmed` and `unconfirmed`. The value of |
|
|
|
|
|
each is the appropriate balance in coin units as a string. |
|
|
|
|
|
|
|
|
|
|
|
**Result Example**:: |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
"confirmed": "1.03873966", |
|
|
|
|
|
"unconfirmed": "0.236844" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blockchain.address.get_history |
|
|
|
|
|
------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
Return the confirmed and unconfirmed history of a bitcoin address. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: This method is deprecated; support will be removed in a later |
|
|
|
|
|
protocol version. Use :func:`blockchain.scripthash.get_history` instead. |
|
|
|
|
|
|
|
|
|
|
|
**Signature** |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.get_history(address) |
|
|
|
|
|
|
|
|
|
|
|
* *address* |
|
|
|
|
|
|
|
|
|
|
|
The address as a Base58 string. |
|
|
|
|
|
|
|
|
|
|
|
**Result** |
|
|
|
|
|
|
|
|
|
|
|
A list of confirmed transactions in blockchain order, with the |
|
|
|
|
|
output of :func:`blockchain.address.get_mempool` appended to the |
|
|
|
|
|
list. Each confirmed transaction is a dictionary with the following |
|
|
|
|
|
keys: |
|
|
|
|
|
|
|
|
|
|
|
* *height* |
|
|
|
|
|
|
|
|
|
|
|
The integer height of the block the transaction was confirmed |
|
|
|
|
|
in. |
|
|
|
|
|
|
|
|
|
|
|
* *tx_hash* |
|
|
|
|
|
|
|
|
|
|
|
The transaction hash in hexadecimal. |
|
|
|
|
|
|
|
|
|
|
|
See :func:`blockchain.address.get_mempool` for how mempool |
|
|
|
|
|
transactions are returned. |
|
|
|
|
|
|
|
|
|
|
|
**Result Examples** |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
"height": 200004, |
|
|
|
|
|
"tx_hash": "acc3758bd2a26f869fcc67d48ff30b96464d476bca82c1cd6656e7d506816412" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"height": 215008, |
|
|
|
|
|
"tx_hash": "f3e1bf48975b8d6060a9de8884296abb80be618dc00ae3cb2f6cee3085e09403" |
|
|
|
|
|
} |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
"fee": 20000, |
|
|
|
|
|
"height": 0, |
|
|
|
|
|
"tx_hash": "9fbed79a1e970343fcd39f4a2d830a6bde6de0754ed2da70f489d0303ed558ec" |
|
|
|
|
|
} |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blockchain.address.get_mempool |
|
|
|
|
|
------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
Return the unconfirmed transactions of a bitcoin address. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: This method is deprecated; support will be removed in a later |
|
|
|
|
|
protocol version. Use :func:`blockchain.scripthash.get_mempool` instead. |
|
|
|
|
|
|
|
|
|
|
|
**Signature** |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.get_mempool(address) |
|
|
|
|
|
|
|
|
|
|
|
* *address* |
|
|
|
|
|
|
|
|
|
|
|
The address as a Base58 string. |
|
|
|
|
|
|
|
|
|
|
|
**Result** |
|
|
|
|
|
|
|
|
|
|
|
A list of mempool transactions in arbitrary order. Each mempool |
|
|
|
|
|
transaction is a dictionary with the following keys: |
|
|
|
|
|
|
|
|
|
|
|
* *height* |
|
|
|
|
|
|
|
|
|
|
|
``0`` if all inputs are confirmed, and ``-1`` otherwise. |
|
|
|
|
|
|
|
|
|
|
|
* *tx_hash* |
|
|
|
|
|
|
|
|
|
|
|
The transaction hash in hexadecimal. |
|
|
|
|
|
|
|
|
|
|
|
* *fee* |
|
|
|
|
|
|
|
|
|
|
|
The transaction fee in minimum coin units (satoshis). |
|
|
|
|
|
|
|
|
|
|
|
**Result Example** |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
"tx_hash": "45381031132c57b2ff1cbe8d8d3920cf9ed25efd9a0beb764bdb2f24c7d1c7e3", |
|
|
|
|
|
"height": 0, |
|
|
|
|
|
"fee": 24310 |
|
|
|
|
|
} |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blockchain.address.listunspent |
|
|
|
|
|
------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
Return an ordered list of UTXOs sent to a bitcoin address. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: This method is deprecated; support will be removed in a later |
|
|
|
|
|
protocol version. Use :func:`blockchain.scripthash.get_mempool` instead. |
|
|
|
|
|
|
|
|
|
|
|
**Signature** |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.listunspent(address) |
|
|
|
|
|
|
|
|
|
|
|
* *address* |
|
|
|
|
|
|
|
|
|
|
|
The address as a Base58 string. |
|
|
|
|
|
|
|
|
|
|
|
**Result** |
|
|
|
|
|
|
|
|
|
|
|
A list of unspent outputs in blockchain order. This function |
|
|
|
|
|
takes the mempool into account. Mempool transactions paying to |
|
|
|
|
|
the address are included at the end of the list in an undefined |
|
|
|
|
|
order. Any output that is spent in the mempool does not appear. |
|
|
|
|
|
Each output is a dictionary with the following keys: |
|
|
|
|
|
|
|
|
|
|
|
* *height* |
|
|
|
|
|
|
|
|
|
|
|
The integer height of the block the transaction was confirmed |
|
|
|
|
|
in. ``0`` if the transaction is in the mempool. |
|
|
|
|
|
|
|
|
|
|
|
* *tx_pos* |
|
|
|
|
|
|
|
|
|
|
|
The zero-based index of the output in the transaction's list of |
|
|
|
|
|
outputs. |
|
|
|
|
|
|
|
|
|
|
|
* *tx_hash* |
|
|
|
|
|
|
|
|
|
|
|
The output's transaction hash as a hexadecimal string. |
|
|
|
|
|
|
|
|
|
|
|
* *value* |
|
|
|
|
|
|
|
|
|
|
|
The output's value in minimum coin units (satoshis). |
|
|
|
|
|
|
|
|
|
|
|
**Result Example** |
|
|
|
|
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
"tx_pos": 0, |
|
|
|
|
|
"value": 45318048, |
|
|
|
|
|
"tx_hash": "9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf", |
|
|
|
|
|
"height": 437146 |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"tx_pos": 0, |
|
|
|
|
|
"value": 919195, |
|
|
|
|
|
"tx_hash": "3d2290c93436a3e964cfc2f0950174d8847b1fbe3946432c4784e168da0f019f", |
|
|
|
|
|
"height": 441696 |
|
|
|
|
|
} |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blockchain.address.subscribe |
|
|
|
|
|
---------------------------- |
|
|
|
|
|
|
|
|
|
|
|
Subscribe to a bitcoin address. |
|
|
|
|
|
|
|
|
|
|
|
.. note:: This method is deprecated; support will be removed in a later |
|
|
|
|
|
protocol version. Use :func:`blockchain.scripthash.subscribe` instead. |
|
|
|
|
|
|
|
|
|
|
|
**Signature** |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.subscribe(address) |
|
|
|
|
|
|
|
|
|
|
|
*address* |
|
|
|
|
|
|
|
|
|
|
|
The address as a Base58 string. |
|
|
|
|
|
|
|
|
|
|
|
**Result** |
|
|
|
|
|
|
|
|
|
|
|
The :ref:`status <status>` of the address. |
|
|
|
|
|
|
|
|
|
|
|
**Notifications** |
|
|
|
|
|
|
|
|
|
|
|
As this is a subcription, the client will receive a notification |
|
|
|
|
|
when the :ref:`status <status>` of the address changes. Its |
|
|
|
|
|
signature is |
|
|
|
|
|
|
|
|
|
|
|
.. function:: blockchain.address.subscribe(address, status) |
|
|
|
|
|
|
|
|
mempool.get_fee_histogram |
|
|
mempool.get_fee_histogram |
|
|
------------------------- |
|
|
------------------------- |
|
|
|
|
|
|
|
@ -45,7 +271,7 @@ server.add_peer |
|
|
|
|
|
|
|
|
.. versionadded:: 1.1 |
|
|
.. versionadded:: 1.1 |
|
|
|
|
|
|
|
|
* **features** |
|
|
* *features* |
|
|
|
|
|
|
|
|
The same information that a call to the sender's |
|
|
The same information that a call to the sender's |
|
|
:func:`server.features` RPC call would return. |
|
|
:func:`server.features` RPC call would return. |
|
@ -114,7 +340,7 @@ server.features |
|
|
The following features MUST be reported by the server. Additional |
|
|
The following features MUST be reported by the server. Additional |
|
|
key-value pairs may be returned. |
|
|
key-value pairs may be returned. |
|
|
|
|
|
|
|
|
* **hosts** |
|
|
* *hosts* |
|
|
|
|
|
|
|
|
A dictionary, keyed by host name, that this server can be reached |
|
|
A dictionary, keyed by host name, that this server can be reached |
|
|
at. Normally this will only have a single entry; other entries |
|
|
at. Normally this will only have a single entry; other entries |
|
@ -123,25 +349,25 @@ server.features |
|
|
The value for a host is itself a dictionary, with the following |
|
|
The value for a host is itself a dictionary, with the following |
|
|
optional keys: |
|
|
optional keys: |
|
|
|
|
|
|
|
|
* **ssl_port** |
|
|
* *ssl_port* |
|
|
|
|
|
|
|
|
An integer. Omit or set to **null** if SSL connectivity is not |
|
|
An integer. Omit or set to :const:`null` if SSL connectivity |
|
|
provided. |
|
|
is not provided. |
|
|
|
|
|
|
|
|
* **tcp_port** |
|
|
* *tcp_port* |
|
|
|
|
|
|
|
|
An integer. Omit or set to **null** if TCP connectivity is not |
|
|
An integer. Omit or set to :const:`null` if TCP connectivity is |
|
|
provided. |
|
|
not provided. |
|
|
|
|
|
|
|
|
A server should ignore information provided about any host other |
|
|
A server should ignore information provided about any host other |
|
|
than the one it connected to. |
|
|
than the one it connected to. |
|
|
|
|
|
|
|
|
* **genesis_hash** |
|
|
* *genesis_hash* |
|
|
|
|
|
|
|
|
The hash of the genesis block. This is used to detect if a peer |
|
|
The hash of the genesis block. This is used to detect if a peer |
|
|
is connected to one serving a different network. |
|
|
is connected to one serving a different network. |
|
|
|
|
|
|
|
|
* **hash_function** |
|
|
* *hash_function* |
|
|
|
|
|
|
|
|
The hash function the server uses for :ref:`script hashing |
|
|
The hash function the server uses for :ref:`script hashing |
|
|
<script hashes>`. The client must use this function to hash |
|
|
<script hashes>`. The client must use this function to hash |
|
@ -149,22 +375,22 @@ server.features |
|
|
The default is "sha256". "sha256" is currently the only |
|
|
The default is "sha256". "sha256" is currently the only |
|
|
acceptable value. |
|
|
acceptable value. |
|
|
|
|
|
|
|
|
* **server_version** |
|
|
* *server_version* |
|
|
|
|
|
|
|
|
A string that identifies the server software. Should be the same |
|
|
A string that identifies the server software. Should be the same |
|
|
as the response to :func:`server.version` RPC call. |
|
|
as the response to :func:`server.version` RPC call. |
|
|
|
|
|
|
|
|
* **protocol_max** |
|
|
* *protocol_max* |
|
|
* **protocol_min** |
|
|
* *protocol_min* |
|
|
|
|
|
|
|
|
Strings that are the minimum and maximum Electrum protocol |
|
|
Strings that are the minimum and maximum Electrum protocol |
|
|
versions this server speaks. Example: "1.1". |
|
|
versions this server speaks. Example: "1.1". |
|
|
|
|
|
|
|
|
* **pruning** |
|
|
* *pruning* |
|
|
|
|
|
|
|
|
An integer, the pruning limit. Omit or set to **null** if there is |
|
|
An integer, the pruning limit. Omit or set to :const:`null` if |
|
|
no pruning limit. Should be the same as what would suffix the |
|
|
there is no pruning limit. Should be the same as what would |
|
|
letter **p** in the IRC real name. |
|
|
suffix the letter ``p`` in the IRC real name. |
|
|
|
|
|
|
|
|
**Example Result** |
|
|
**Example Result** |
|
|
|
|
|
|
|
@ -220,19 +446,19 @@ server.version |
|
|
|
|
|
|
|
|
.. function:: server.version(client_name="", protocol_version="1.1") |
|
|
.. function:: server.version(client_name="", protocol_version="1.1") |
|
|
|
|
|
|
|
|
* **client_name** |
|
|
* *client_name* |
|
|
|
|
|
|
|
|
A string identifying the connecting client software. |
|
|
A string identifying the connecting client software. |
|
|
|
|
|
|
|
|
* **protocol_version** |
|
|
* *protocol_version* |
|
|
|
|
|
|
|
|
An array [`protocol_min`, `protocol_max`], each of which is a |
|
|
An array ``[protocol_min, protocol_max]``, each of which is a |
|
|
string. If `protocol_min` and `protocol_max` are the same, they |
|
|
string. If ``protocol_min`` and ``protocol_max`` are the same, |
|
|
can be passed as a single string rather than as an array of two |
|
|
they can be passed as a single string rather than as an array of |
|
|
strings, as for the default value. |
|
|
two strings, as for the default value. |
|
|
|
|
|
|
|
|
.. versionadded:: 1.1 |
|
|
.. versionadded:: 1.1 |
|
|
**protocol_version** is not ignored. |
|
|
*protocol_version* is not ignored. |
|
|
|
|
|
|
|
|
The server should use the highest protocol version both support:: |
|
|
The server should use the highest protocol version both support:: |
|
|
|
|
|
|
|
@ -250,7 +476,7 @@ server.version |
|
|
|
|
|
|
|
|
An array of 2 strings: |
|
|
An array of 2 strings: |
|
|
|
|
|
|
|
|
[`server software version`, `protocol version`] |
|
|
``[server_software_version, protocol_version]`` |
|
|
|
|
|
|
|
|
identifying the server and the protocol version that will be used |
|
|
identifying the server and the protocol version that will be used |
|
|
for future communication. |
|
|
for future communication. |
|
|