From e8f49dab838065952332d2a07c560913fdf0a8c2 Mon Sep 17 00:00:00 2001 From: jnewbery Date: Thu, 6 Oct 2016 09:17:42 -0400 Subject: [PATCH 01/36] Version message Relay field is optional --- _includes/devdoc/ref_p2p_networking.md | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 074c3730..2aef4806 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -1253,22 +1253,22 @@ If a `version` message is accepted, the receiving node should send a before initializing its half of the connection by first sending a `version` message. -| Bytes | Name | Data Type | Description -|----------|-----------------------|------------------|-------------- -| 4 | version | int32_t | The highest protocol version understood by the transmitting node. See the [protocol version section][section protocol versions]. -| 8 | services | uint64_t | The services supported by the transmitting node encoded as a bitfield. See the list of service codes below. -| 8 | timestamp | int64_t | The current Unix epoch time according to the transmitting node's clock. Because nodes will reject blocks with timestamps more than two hours in the future, this field can help other nodes to determine that their clock is wrong. -| 8 | addr_recv services | uint64_t | *Added in protocol version 106.*

The services supported by the receiving node as perceived by the transmitting node. Same format as the 'services' field above. Bitcoin Core will attempt to provide accurate information. BitcoinJ will, by default, always send 0. -| 16 | addr_recv IP address | char | *Added in protocol version 106.*

The IPv6 address of the receiving node as perceived by the transmitting node in **big endian byte order**. IPv4 addresses can be provided as [IPv4-mapped IPv6 addresses][]. Bitcoin Core will attempt to provide accurate information. BitcoinJ will, by default, always return ::ffff:127.0.0.1 -| 2 | addr_recv port | uint16_t | *Added in protocol version 106.*

The port number of the receiving node as perceived by the transmitting node in **big endian byte order**. -| 8 | addr_trans services | uint64_t | The services supported by the transmitting node. Should be identical to the 'services' field above. -| 16 | addr_trans IP address | char | The IPv6 address of the transmitting node in **big endian byte order**. IPv4 addresses can be provided as [IPv4-mapped IPv6 addresses][]. Set to ::ffff:127.0.0.1 if unknown. -| 2 | addr_trans port | uint16_t | The port number of the transmitting node in **big endian byte order**. -| 8 | nonce | uint64_t | A random nonce which can help a node detect a connection to itself. If the nonce is 0, the nonce field is ignored. If the nonce is anything else, a node should terminate the connection on receipt of a `version` message with a nonce it previously sent. -| *Varies* | user_agent bytes | compactSize uint | Number of bytes in following user\_agent field. If 0x00, no user agent field is sent. -| *Varies* | user_agent | string | *Renamed in protocol version 60000.*

User agent as defined by BIP14. Previously called subVer. -| 4 | start_height | int32_t | The height of the transmitting node's best block chain or, in the case of an SPV client, best block header chain. -| 1 | relay | bool | *Added in protocol version 70001 as described by BIP37.*

Transaction relay flag. If 0x00, no `inv` messages or `tx` messages announcing new transactions should be sent to this client until it sends a `filterload` message or `filterclear` message. If 0x01, this node wants `inv` messages and `tx` messages announcing new transactions. +| Bytes | Name | Data Type | Required/Optional | Description +|----------|-----------------------|------------------|------------------------------------------|------------- +| 4 | version | int32_t | Required | The highest protocol version understood by the transmitting node. See the [protocol version section][section protocol versions]. +| 8 | services | uint64_t | Required | The services supported by the transmitting node encoded as a bitfield. See the list of service codes below. +| 8 | timestamp | int64_t | Required | The current Unix epoch time according to the transmitting node's clock. Because nodes will reject blocks with timestamps more than two hours in the future, this field can help other nodes to determine that their clock is wrong. +| 8 | addr_recv services | uint64_t | Required | *Added in protocol version 106.*

The services supported by the receiving node as perceived by the transmitting node. Same format as the 'services' field above. Bitcoin Core will attempt to provide accurate information. BitcoinJ will, by default, always send 0. +| 16 | addr_recv IP address | char | Required | *Added in protocol version 106.*

The IPv6 address of the receiving node as perceived by the transmitting node in **big endian byte order**. IPv4 addresses can be provided as [IPv4-mapped IPv6 addresses][]. Bitcoin Core will attempt to provide accurate information. BitcoinJ will, by default, always return ::ffff:127.0.0.1 +| 2 | addr_recv port | uint16_t | Required | *Added in protocol version 106.*

The port number of the receiving node as perceived by the transmitting node in **big endian byte order**. +| 8 | addr_trans services | uint64_t | Required | The services supported by the transmitting node. Should be identical to the 'services' field above. +| 16 | addr_trans IP address | char | Required | The IPv6 address of the transmitting node in **big endian byte order**. IPv4 addresses can be provided as [IPv4-mapped IPv6 addresses][]. Set to ::ffff:127.0.0.1 if unknown. +| 2 | addr_trans port | uint16_t | Required | The port number of the transmitting node in **big endian byte order**. +| 8 | nonce | uint64_t | Required | A random nonce which can help a node detect a connection to itself. If the nonce is 0, the nonce field is ignored. If the nonce is anything else, a node should terminate the connection on receipt of a `version` message with a nonce it previously sent. +| *Varies* | user_agent bytes | compactSize uint | Required | Number of bytes in following user\_agent field. If 0x00, no user agent field is sent. +| *Varies* | user_agent | string | Required if user_agent bytes > 0 | *Renamed in protocol version 60000.*

User agent as defined by BIP14. Previously called subVer. +| 4 | start_height | int32_t | Required | The height of the transmitting node's best block chain or, in the case of an SPV client, best block header chain. +| 1 | relay | bool | Optional | *Added in protocol version 70001 as described by BIP37.*

Transaction relay flag. If 0x00, no `inv` messages or `tx` messages announcing new transactions should be sent to this client until it sends a `filterload` message or `filterclear` message. If the relay field is not present or is set to 0x01, this node wants `inv` messages and `tx` messages announcing new transactions. The following service identifiers have been assigned. From 3285ca7dc9dc083435c1a0a223b7d2a3ab91f7b8 Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Wed, 7 Dec 2016 18:42:14 +0100 Subject: [PATCH 02/36] Devdoc RPC calls up-to-date as of 0.13.1 --- _autocrossref.yaml | 18 ++ _config.yml | 10 + .../devdoc/bitcoin-core/rpcs/quick-ref.md | 54 +++-- .../rpcs/rpcs/addwitnessaddress.md | 58 +++++ .../rpcs/rpcs/estimatepriority.md | 3 + .../rpcs/rpcs/fundrawtransaction.md | 124 ++++++++++ .../devdoc/bitcoin-core/rpcs/rpcs/generate.md | 23 +- .../rpcs/rpcs/generatetoaddress.md | 88 +++++++ .../rpcs/rpcs/getaccountaddress.md | 3 + .../rpcs/rpcs/getaddressesbyaccount.md | 3 + .../bitcoin-core/rpcs/rpcs/getgenerate.md | 34 +-- .../bitcoin-core/rpcs/rpcs/gethashespersec.md | 31 +-- .../rpcs/rpcs/getmempoolancestors.md | 214 ++++++++++++++++++ .../rpcs/rpcs/getmempooldescendants.md | 214 ++++++++++++++++++ .../bitcoin-core/rpcs/rpcs/getmempoolentry.md | 148 ++++++++++++ .../bitcoin-core/rpcs/rpcs/getmininginfo.md | 15 +- .../bitcoin-core/rpcs/rpcs/getnettotals.md | 53 ++++- .../bitcoin-core/rpcs/rpcs/getnetworkinfo.md | 136 +++++------ .../bitcoin-core/rpcs/rpcs/getpeerinfo.md | 96 ++++++-- .../bitcoin-core/rpcs/rpcs/getrawmempool.md | 90 ++++++-- .../rpcs/rpcs/getreceivedbyaccount.md | 3 + .../devdoc/bitcoin-core/rpcs/rpcs/getwork.md | 6 +- .../rpcs/rpcs/importprunedfunds.md | 65 ++++++ .../bitcoin-core/rpcs/rpcs/listaccounts.md | 3 + .../rpcs/rpcs/listaddressgroupings.md | 2 +- .../rpcs/rpcs/listreceivedbyaccount.md | 3 + .../rpcs/rpcs/listreceivedbyaddress.md | 13 +- .../bitcoin-core/rpcs/rpcs/listsinceblock.md | 9 +- .../rpcs/rpcs/listtransactions.md | 50 ++-- .../bitcoin-core/rpcs/rpcs/listunspent.md | 12 +- .../devdoc/bitcoin-core/rpcs/rpcs/move.md | 3 + .../rpcs/rpcs/removeprunedfunds.md | 54 +++++ .../devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md | 3 + .../devdoc/bitcoin-core/rpcs/rpcs/sendmany.md | 2 +- .../bitcoin-core/rpcs/rpcs/setaccount.md | 3 + .../bitcoin-core/rpcs/rpcs/setgenerate.md | 95 +------- .../bitcoin-core/rpcs/rpcs/signmessage.md | 10 +- .../rpcs/rpcs/signmessagewithprivkey.md | 68 ++++++ _includes/helpers/summaries.md | 22 +- _includes/helpers/vars.md | 2 +- _includes/references.md | 9 + en/developer-reference.md | 18 ++ 42 files changed, 1535 insertions(+), 335 deletions(-) create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md create mode 100644 _includes/devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md diff --git a/_autocrossref.yaml b/_autocrossref.yaml index bdf99d7a..3f7d8253 100644 --- a/_autocrossref.yaml +++ b/_autocrossref.yaml @@ -183,6 +183,8 @@ CVE-2012-2459: '`addmultisigaddress` RPC': rpc addmultisigaddress '`addnode`': rpc addnode '`addnode` RPC': rpc addnode +'`addwitnessaddress`': rpc addwitnessaddress +'`addwitnessaddress` RPC': rpc addwitnessaddress '`backupwallet`': rpc backupwallet '`backupwallet` RPC': rpc backupwallet '`clearbanned`': rpc clearbanned @@ -207,8 +209,12 @@ CVE-2012-2459: '`estimatefee` RPC': rpc estimatefee '`estimatepriority`': rpc estimatepriority '`estimatepriority` RPC': rpc estimatepriority +'`fundrawtransaction`': rpc fundrawtransaction +'`fundrawtransaction` RPC': rpc fundrawtransaction '`generate`': rpc generate '`generate` RPC': rpc generate +'`generatetoaddress`': rpc generatetoaddress +'`generatetoaddress` RPC': rpc generatetoaddress '`getaccount`': rpc getaccount '`getaccount` RPC': rpc getaccount '`getaccountaddress`': rpc getaccountaddress @@ -245,6 +251,12 @@ CVE-2012-2459: '`gethashespersec` RPC': rpc gethashespersec '`getinfo`': rpc getinfo '`getinfo` RPC': rpc getinfo +'`getmempoolancestors`': rpc getmempoolancestors +'`getmempoolancestors` RPC': rpc getmempoolancestors +'`getmempooldescendants`': rpc getmempooldescendants +'`getmempooldescendants` RPC': rpc getmempooldescendants +'`getmempoolentry`': rpc getmempoolentry +'`getmempoolentry` RPC': rpc getmempoolentry '`getmempoolinfo`': rpc getmempoolinfo '`getmempoolinfo` RPC': rpc getmempoolinfo '`getmininginfo`': rpc getmininginfo @@ -289,6 +301,8 @@ CVE-2012-2459: '`importaddress` RPC': rpc importaddress '`importprivkey`': rpc importprivkey '`importprivkey` RPC': rpc importprivkey +'`importprunedfunds`': rpc importprunedfunds +'`importprunedfunds` RPC': rpc importprunedfunds '`importwallet`': rpc importwallet '`importwallet` RPC': rpc importwallet '`keypoolrefill`': rpc keypoolrefill @@ -317,6 +331,8 @@ CVE-2012-2459: '`move` RPC': rpc move '`ping`': rpc ping '`ping` RPC': rpc ping +'`removeprunedfunds`': rpc removeprunedfunds +'`removeprunedfunds` RPC': rpc removeprunedfunds '`sendfrom`': rpc sendfrom '`sendfrom` RPC': rpc sendfrom '`sendheaders`': sendheaders message @@ -338,6 +354,8 @@ CVE-2012-2459: '`settxfee` RPC': rpc settxfee '`signmessage`': rpc signmessage '`signmessage` RPC': rpc signmessage +'`signmessagewithprivkey`': rpc signmessagewithprivkey +'`signmessagewithprivkey` RPC': rpc signmessagewithprivkey '`signrawtransaction`': rpc signrawtransaction '`signrawtransaction` RPC': rpc signrawtransaction '`stop`': rpc stop diff --git a/_config.yml b/_config.yml index ea87e555..a810aac4 100644 --- a/_config.yml +++ b/_config.yml @@ -250,6 +250,7 @@ devsearches: - 'AbandonTransaction': "/en/developer-reference#abandontransaction" - 'AddMultiSigAddress': "/en/developer-reference#addmultisigaddress" - 'AddNode': "/en/developer-reference#addnode" + - 'AddWitnessAddress': "/en/developer-reference#addwitnessaddress" - 'BackupWallet': "/en/developer-reference#backupwallet" - 'ClearBanned': "/en/developer-reference#clearbanned" - 'CreateMultisig': "/en/developer-reference#createmultisig" @@ -262,6 +263,9 @@ devsearches: - 'EncryptWallet': "/en/developer-reference#encryptwallet" - 'EstimateFee': "/en/developer-reference#estimatefee" - 'EstimatePriority': "/en/developer-reference#estimatepriority" + - 'FundRawTransaction': "/en/developer-reference#fundrawtransaction" + - 'Generate': "/en/developer-reference#generate" + - 'GenerateToAddress': "/en/developer-reference#generatetoaddress" - 'GetAccount': "/en/developer-reference#getaccount" - 'GetAccountAddress': "/en/developer-reference#getaccountaddress" - 'GetAddedNodeInfo': "/en/developer-reference#getaddednodeinfo" @@ -281,6 +285,9 @@ devsearches: - 'GetHashesPerSec': "/en/developer-reference#gethashespersec" - 'GetInfo': "/en/developer-reference#getinfo" - 'GetMempoolInfo': "/en/developer-reference#getmempoolinfo" + - 'GetMempoolEntry': "/en/developer-reference#getmempoolentry" + - 'GetMempoolAncestors': "/en/developer-reference#getmempoolancestors" + - 'GetMempoolDescendants': "/en/developer-reference#getmempooldescendants" - 'GetMiningInfo': "/en/developer-reference#getmininginfo" - 'GetNetTotals': "/en/developer-reference#getnettotals" - 'GetNetworkHashPS': "/en/developer-reference#getnetworkhashps" @@ -302,6 +309,7 @@ devsearches: - 'Help': "/en/developer-reference#help" - 'ImportAddress': "/en/developer-reference#importaddress" - 'ImportPrivkey': "/en/developer-reference#importprivkey" + - 'ImportPrunedFunds': "/en/developer-reference#importprunedfunds" - 'ImportWallet': "/en/developer-reference#importwallet" - 'KeypoolRefill': "/en/developer-reference#keypoolrefill" - 'ListAccounts': "/en/developer-reference#listaccounts" @@ -316,6 +324,7 @@ devsearches: - 'LockUnspent': "/en/developer-reference#lockunspent" - 'Move': "/en/developer-reference#move" - 'Ping': "/en/developer-reference#ping-rpc" + - 'RemovePrunedFunds': "/en/developer-reference#removeprunedfunds" - 'SendFrom': "/en/developer-reference#sendfrom" - 'SendMany': "/en/developer-reference#sendmany" - 'SendRawTransaction': "/en/developer-reference#sendrawtransaction" @@ -325,6 +334,7 @@ devsearches: - 'SetGenerate': "/en/developer-reference#setgenerate" - 'SetTxFee': "/en/developer-reference#settxfee" - 'SignMessage': "/en/developer-reference#signmessage" + - 'SignMessageWithPrivKey': "/en/developer-reference#signmessagewithprivkey" - 'SignRawTransaction': "/en/developer-reference#signrawtransaction" - 'Stop': "/en/developer-reference#stop" - 'SubmitBlock': "/en/developer-reference#submitblock" diff --git a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md index b3a116fe..c81f3d96 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md +++ b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md @@ -21,6 +21,13 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% assign UPDATED_MASTER='**Updated in master**' %} {% assign DEPRECATED='**Deprecated**' %} + +{% assign UPDATED0_13_1='*Updated in 0.13.1*' %} + + +{% assign NEW0_13_0='*New in 0.13.0*' %} +{% assign UPDATED0_13_0='*Updated in 0.13.0*' %} + {% assign UPDATED0_12_1='*Updated in 0.12.1*' %} @@ -56,8 +63,11 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. * [GetBlockHeader][rpc getblockheader]: {{summary_getBlockHeader}} {{NEW0_12_0}} * [GetChainTips][rpc getchaintips]: {{summary_getChainTips}} {{NEW0_10_0}} * [GetDifficulty][rpc getdifficulty]: {{summary_getDifficultly}} +* [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} {{NEW0_13_0}} +* [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} {{NEW0_13_0}} +* [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} {{NEW0_13_0}} * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} {{NEW0_10_0}}, {{UPDATED0_12_0}} -* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} +* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} {{UPDATED0_13_0}} * [GetTxOut][rpc gettxout]: {{summary_getTxOut}} * [GetTxOutProof][rpc gettxoutproof]: {{summary_getTxOutProof}} {{NEW0_11_0}} * [GetTxOutSetInfo][rpc gettxoutsetinfo]: {{summary_getTxOutSetInfo}} @@ -84,9 +94,8 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% autocrossref %} -* [Generate][rpc generate]: {{summary_generate}} {{NEW_MASTER}} -* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}} -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} {{UPDATED_MASTER}} +* [Generate][rpc generate]: {{summary_generate}} {{NEW0_11_0}}, {{UPDATED0_13_0}} +* [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} {{NEW0_13_0}} {% endautocrossref %} @@ -97,7 +106,7 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% autocrossref %} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} -* [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED_MASTER}} +* [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED0_13_0}} * [GetNetworkHashPS][rpc getnetworkhashps]: {{summary_getNetworkHashPS}} * [PrioritiseTransaction][rpc prioritisetransaction]: {{summary_prioritiseTransaction}} {{NEW0_10_0}} * [SubmitBlock][rpc submitblock]: {{summary_submitBlock}} @@ -115,9 +124,9 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. * [DisconnectNode][rpc disconnectnode]: {{summary_disconnectNode}} {{NEW0_12_0}} * [GetAddedNodeInfo][rpc getaddednodeinfo]: {{summary_getAddedNodeInfo}} * [GetConnectionCount][rpc getconnectioncount]: {{summary_getConnectionCount}} -* [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} -* [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{UPDATED0_10_0}} -* [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} {{UPDATED0_10_0}} +* [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} {{UPDATED0_12_0}} +* [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{UPDATED0_13_0}} +* [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} {{UPDATED0_13_0}} * [ListBanned][rpc listbanned]: {{summary_listBanned}} {{NEW0_12_0}} * [Ping][rpc ping]: {{summary_ping-rpc}} * [SetBan][rpc setban]: {{summary_setBan}} {{NEW0_12_0}} @@ -131,6 +140,7 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% autocrossref %} * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{UPDATED0_12_0}} +* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{NEW0_12_0}}, {{UPDATED0_13_0}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} * [DecodeScript][rpc decodescript]: {{summary_decodeScript}} * [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} @@ -147,7 +157,7 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. * [CreateMultiSig][rpc createmultisig]: {{summary_createMultiSig}} * [EstimateFee][rpc estimatefee]: {{summary_estimateFee}} {{NEW0_10_0}} -* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} {{NEW0_10_0}} +* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} {{NEW0_10_0}}, {{DEPRECATED}} * [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} @@ -164,42 +174,46 @@ with [wallet support][]{:#term-wallet-support}{:.term}, which is the default. * [AbandonTransaction][rpc abandontransaction]: {{summary_abandonTransaction}} {{NEW0_12_0}} +* [AddWitnessAddress][rpc addwitnessaddress]: {{summary_addWitnessAddress}} {{NEW0_13_0}} * [AddMultiSigAddress][rpc addmultisigaddress]: {{summary_addMultiSigAddress}} * [BackupWallet][rpc backupwallet]: {{summary_backupWallet}} * [DumpPrivKey][rpc dumpprivkey]: {{summary_dumpPrivKey}} * [DumpWallet][rpc dumpwallet]: {{summary_dumpWallet}} * [EncryptWallet][rpc encryptwallet]: {{summary_encryptWallet}} -* [GetAccountAddress][rpc getaccountaddress]: {{summary_getAccountAddress}} +* [GetAccountAddress][rpc getaccountaddress]: {{summary_getAccountAddress}} {{DEPRECATED}} * [GetAccount][rpc getaccount]: {{summary_getAccount}} -* [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} +* [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} {{DEPRECATED}} * [GetBalance][rpc getbalance]: {{summary_getBalance}} * [GetNewAddress][rpc getnewaddress]: {{summary_getNewAddress}} * [GetRawChangeAddress][rpc getrawchangeaddress]: {{summary_getRawChangeAddress}} -* [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} +* [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} {{DEPRECATED}} * [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}} * [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} {{UPDATED0_12_0}} * [GetUnconfirmedBalance][rpc getunconfirmedbalance]: {{summary_getUnconfirmedBalance}} * [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} * [ImportAddress][rpc importaddress]: {{summary_importAddress}} {{NEW0_10_0}} +* [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} {{NEW0_13_0}} * [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} * [ImportWallet][rpc importwallet]: {{summary_importWallet}} * [KeyPoolRefill][rpc keypoolrefill]: {{summary_keyPoolRefill}} -* [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{UPDATED0_10_0}} +* [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{UPDATED0_10_0}}, {{DEPRECATED}} * [ListAddressGroupings][rpc listaddressgroupings]: {{summary_listAddressGroupings}} * [ListLockUnspent][rpc listlockunspent]: {{summary_listLockUnspent}} -* [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{UPDATED0_10_0}} +* [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{UPDATED0_10_0}}, {{DEPRECATED}} * [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} {{UPDATED0_10_0}} * [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}} {{UPDATED0_10_0}} * [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{UPDATED0_12_1}} -* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{UPDATED0_10_0}} +* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{UPDATED0_13_0}} * [LockUnspent][rpc lockunspent]: {{summary_lockUnspent}} -* [Move][rpc move]: {{summary_move}} -* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} +* [Move][rpc move]: {{summary_move}} {{DEPRECATED}} +* [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{NEW0_13_0}} +* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} {{DEPRECATED}} * [SendMany][rpc sendmany]: {{summary_sendMany}} * [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}} -* [SetAccount][rpc setaccount]: {{summary_setAccount}} +* [SetAccount][rpc setaccount]: {{summary_setAccount}} {{DEPRECATED}} * [SetTxFee][rpc settxfee]: {{summary_setTxFee}} -* [SignMessage][rpc signmessage]: {{summary_signMessage}} +* [SignMessage][rpc signmessage]: {{summary_signMessage}} +* [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} {{NEW0_13_0}} * [WalletLock][rpc walletlock]: {{summary_walletLock}} * [WalletPassphrase][rpc walletpassphrase]: {{summary_walletPassphrase}} * [WalletPassphraseChange][rpc walletpassphrasechange]: {{summary_walletPassphraseChange}} @@ -212,7 +226,9 @@ default. {% autocrossref %} +* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}} * [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}} * [GetWork][rpc getwork]: {{summary_getWork}} +* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md new file mode 100644 index 00000000..b72b2972 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md @@ -0,0 +1,58 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md" %} + +##### AddWitnessAddress +{% include helpers/subhead-links.md %} + +{% assign summary_addWitnessAddress="adds a witness address for a script (with pubkey or redeemscript known)." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +*Requires wallet support. Requires an unlocked wallet or an +unencrypted wallet.* + +The `addwitnessaddress` RPC {{summary_addWitnessAddress}} + +*Parameter #1---the witness address* + +{% itemplate ntpd1 %} +- n: "Address" + t: "string (base58)" + p: "Required
(exactly 1)" + d: "A witness address that gets added to a script. Needs to be in the wallet and uncompressed" + +{% enditemplate %} + +*Result---the witness script* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "string (base58)" + p: "Required
(exactly 1)" + d: "The value of the new address (P2SH of witness script)" + +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +{% highlight bash %} +bitcoin-cli addwitnessaddress 1BRo7qrYHMPrzdBDzfjmzteBdYAyTMXW75 +{% endhighlight %} + +Result: + +The RPC is disabled by default on mainet as long as Segregated Witness has not been activated. +`-walletprematurewitness` enables the RPC. + +{% highlight text %} +3LfAujMsBHgQKoxLn59dVbeYPmfUrHSAQb +{% endhighlight %} + +*See also* + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/estimatepriority.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/estimatepriority.md index 91ac1951..67bac9e3 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/estimatepriority.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/estimatepriority.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `estimatepriority` RPC {{summary_estimatePriority}} +{{WARNING}} `estimatepriority` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + Transaction priority is relative to a transaction's byte size. *Parameter #1---how many blocks the transaction may wait before being included as a free high-priority transaction* diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md new file mode 100644 index 00000000..5c467b65 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md @@ -0,0 +1,124 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md" %} + +##### FundRawTransaction +{% include helpers/subhead-links.md %} + +{% assign summary_fundRawTransaction="adds inputs to a transaction until it has enough in value to meet its out value." %} + +{% autocrossref %} + +*Requires wallet support.* + +The `fundrawtransaction` RPC {{summary_fundRawTransaction}} This will not modify existing inputs, and will add one change output to the outputs. +Note that inputs which were signed may need to be resigned after completion since in/outputs have been added. The inputs added will not be signed, use signrawtransaction for that. +All existing inputs must have their previous output transaction be in the wallet. + +*Parameter #1---The hex string of the raw transaction* + +{% itemplate ntpd1 %} +- n: "Hexstring" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The hex string of the raw transaction" + +{% enditemplate %} + +*Parameter #2---Additional options* + +{% itemplate ntpd1 %} +- n: "Options" + t: "Object" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.13.0*

Additional options" + +- n: "→
`changeAddress`" + t: "string" + p: "Optional
(0 or 1)" + d: "The bitcoin address to receive the change. If not set, the address is chosen from address pool" + +- n: "→
`changePosition`" + t: "nummeric " + p: "Optional
(0 or 1)" + d: "The index of the change output. If not set, the change position is randomly chosen" + +- n: "→
`includeWatching`" + t: "bool" + p: "Optional
(0 or 1)" + d: "Inputs from watch-only addresses are also considered. The default is `false`" + +- n: "→
`lockUnspent`" + t: "bool" + p: "Optional
(0 or 1)" + d: "The selected outputs are locked after running the rpc call. The default is `false`" + +- n: "→
`feeRate`" + t: "numeric (bitcoins)" + p: "Optional
(0 or 1)" + d: "The specific feerate you are willing to pay(BTC per KB). If not set, the wallet determines the fee" + +{% enditemplate %} + +*Result---information about the created transaction* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "An object including information about the created transaction" + +- n: "→
hex" + t: "string (hex)" + p: "Required
(Exactly 1)" + d: "The resulting unsigned raw transaction in serialized transaction format encoded as hex" + +- n: "→
fee" + t: "numeric (bitcoins)" + p: "Required
(Exactly 1)" + d: "Fee in BTC the resulting transaction pays" + +- n: "→
changepos" + t: "numeric (int)" + p: "Required
(Exactly 1)" + d: "The position of the added change output, or `-1` if no change output was added" + +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +{% highlight bash %} +bitcoin-cli -testnet fundrawtransaction 01000000011da9283b4ddf8d\ +89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e0000000000ffff\ +ffff01405dc600000000001976a9140dfc8bafc8419853b34d5e072ad37d1a51\ +59f58488ac00000000 +{ + "changeAddress": "15gJiApWFGTN2iTteQwQbqasdT6dwGWwv6", + "changePosition" : "", + "includeWatching" : false, + "lockUnspents" : true, + "feeRate" : 0.0001 +} +{% endhighlight %} + +Result: + +{% highlight text %} +{ + "hex": "01000000011da9283b4ddf8d89eb996988b89ead56cecdc44041ab38bf787f1206cd90b51e0000000000ffffffff01405dc600000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000", + "fee": 0.0000245, + "changepos": 2 +} +{% endhighlight %} + +*See also* + +* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} +* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} +* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} +* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} +* [Serialized Transaction Format][raw transaction format] + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/generate.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/generate.md index 586fefde..b3b5a6c5 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/generate.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/generate.md @@ -7,7 +7,7 @@ http://opensource.org/licenses/MIT. ##### Generate {% include helpers/subhead-links.md %} -{% assign summary_generate="nearly instantly generates blocks (in regtest mode only)" %} +{% assign summary_generate="nearly instantly generates blocks." %} {% autocrossref %} @@ -21,7 +21,18 @@ The `generate` RPC {{summary_generate}} - n: "Blocks" t: "number (int)" p: "Required
(exactly 1)" - d: "The number of blocks to generate. The RPC call will not return until all blocks have been generated" + d: "The number of blocks to generate. The RPC call will not return until all blocks have been generated or the maxium number of iterations has been reached" + +{% enditemplate %} + +*Parameter #2---the maximum number of iterations to try* + +{% itemplate ntpd1 %} +- n: "Maxtries" + t: "number (int)" + p: "Optional
(0 or 1)" + d: "The maximum number of iterations that are tried to create the requested number of blocks. Default is `1000000`" + {% enditemplate %} *Result---the generated block header hashes* @@ -38,12 +49,12 @@ The `generate` RPC {{summary_generate}} d: "The hashes of the headers of the blocks generated in regtest mode, as hex in RPC byte order" {% enditemplate %} -*Examples from Bitcoin Core master (commit c2fa0846)* +*Example from Bitcoin Core 0.13.1* -Using regtest mode, generate 2 blocks: +Using regtest mode (also works in normal mode), generate 2 blocks: {% highlight bash %} -bitcoin-cli -regtest generate 2 +bitcoin-cli -regtest generate 2 500000 {% endhighlight %} Result: @@ -57,7 +68,7 @@ Result: *See also* -* [SetGenerate][rpc getgenerate]: {{summary_getGenerate}} +* [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md new file mode 100644 index 00000000..41bec74c --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md @@ -0,0 +1,88 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md" %} + +##### GenerateToAddress +{% include helpers/subhead-links.md %} + +{% assign summary_generateToAddress="mines blocks immediately to a specified address." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +*Requires wallet support.* + +The `generatetoaddress` RPC {{summary_generateToAddress}} + +*Parameter #1---the number of blocks to generate* + +{% itemplate ntpd1 %} +- n: "Blocks" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of blocks to generate. The RPC call will not return until all blocks have been generated or the maxium number of iterations has been reached" + +{% enditemplate %} + +*Parameter #2---a transaction identifier (TXID)* + +{% itemplate ntpd1 %} +- n: "Address" + t: "string (base58)" + p: "Required
(exactly 1)" + d: "The address to send the newly generated Bitcoin to" + +{% enditemplate %} + +*Parameter #3---the maximum number of iterations to try* + +{% itemplate ntpd1 %} +- n: "Maxtries" + t: "number (int)" + p: "Optional
(0 or 1)" + d: "The maximum number of iterations that are tried to create the requested number of blocks. Default is `1000000`" + +{% enditemplate %} + +*Result---the generated block header hashes* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "array" + p: "Required
(exactly 1)" + d: "An array containing the block header hashes of the generated blocks (may be empty if used with `generate 0`)" + +- n: "→
Header Hashes" + t: "string (hex)" + p: "Required
(1 or more)" + d: "The hashes of the headers of the blocks generated, as hex in RPC byte order" +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +Using regtest mode, generate 2 blocks with maximal 500000 iterations: + +{% highlight bash %} +bitcoin-cli -regtest generatetoaddress 2 "1BRo7qrYHMPrzdBDzfjmzt\ +eBdYAyTMXW75" 500000 +{% endhighlight %} + +Result: + +{% highlight json %} +[ + "36252b5852a5921bdfca8701f936b39edeb1f8c39fffe73b0d8437921401f9af", + "5f2956817db1e386759aa5794285977c70596b39ea093b9eab0aa4ba8cd50c06" +] +{% endhighlight %} + +*See also* + +* [Generate][rpc generate]: {{summary_generate}} +* [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} +* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaccountaddress.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaccountaddress.md index 1be2c379..04bb66a4 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaccountaddress.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaccountaddress.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `getaccountaddress` RPC {{summary_getAccountAddress}} +{{WARNING}} `getaccountaddress` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---an account name* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaddressesbyaccount.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaddressesbyaccount.md index c8f0b4f4..570fd627 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaddressesbyaccount.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getaddressesbyaccount.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `getaddressesbyaccount` RPC {{summary_getAddressesByAccount}} +{{WARNING}} `getaddressesbyaccount` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---the account name* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getgenerate.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getgenerate.md index e2637e2b..f94383dd 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getgenerate.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getgenerate.md @@ -7,42 +7,20 @@ http://opensource.org/licenses/MIT. ##### GetGenerate {% include helpers/subhead-links.md %} -{% assign summary_getGenerate="returns true if the node is set to generate blocks using its CPU." %} +{% assign summary_getGenerate="was removed in Bitcoin Core 0.13.0." %} {% autocrossref %} *Requires wallet support.* -The `getgenerate` RPC {{summary_getGenerate}} - -*Parameters: none* - -*Result---whether the server is set to generate blocks* - -{% itemplate ntpd1 %} -- n: "`result`" - t: "bool" - p: "Required
(exactly 1)" - d: "Set to `true` if the server is set to generate blocks; set to `false` if it is not" - -{% enditemplate %} - -*Example from Bitcoin Core 0.10.0* - -{% highlight bash %} -bitcoin-cli -testnet getgenerate -{% endhighlight %} - -Result: - -{% highlight json %} -false -{% endhighlight %} +The `getgenerate` RPC {{summary_getGenerate}} If you have an older +version of Bitcoin Core, use `help getgenerate` to get help. *See also* -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} +* [Generate][rpc generate]: {{summary_generate}} +* [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} -* [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}} + {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/gethashespersec.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/gethashespersec.md index eefb3141..370cc742 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/gethashespersec.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/gethashespersec.md @@ -7,41 +7,18 @@ http://opensource.org/licenses/MIT. ##### GetHashesPerSec {% include helpers/subhead-links.md %} -{% assign summary_getHashesPerSec="was removed in Bitcoin Core master (unreleased). It returned a recent hashes per second performance measurement when the node was generating blocks." %} +{% assign summary_getHashesPerSec="was removed in Bitcoin Core 0.11.0." %} {% autocrossref %} *Requires wallet support.* -The `gethashespersec` RPC {{summary_getHashesPerSec}} - -*Parameters: none* - -*Result---the number of hashes your computer generated per second* - -{% itemplate ntpd1 %} -- n: "`result`" - t: "number (int)" - p: "Required
(exactly 1)" - d: "If generation is enabled, the number of hashes per second your computer most recently generated. If generation is disabled, the value `0`" - -{% enditemplate %} - -*Example from Bitcoin Core 0.10.0* - -{% highlight bash %} -bitcoin-cli -testnet gethashespersec -{% endhighlight %} - -Result: - -{% highlight json %} -1995356 -{% endhighlight %} +The `gethashespersec` RPC {{summary_getHashesPerSec}} If you have an older +version of Bitcoin Core, use `help gethashespersec` to get help. *See also* -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} +* [Generate][rpc generate]: {{summary_generate}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md new file mode 100644 index 00000000..2b8c5af2 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md @@ -0,0 +1,214 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md" %} + +##### GetMemPoolAncestors +{% include helpers/subhead-links.md %} + +{% assign summary_getMemPoolAncestors="returns all in-mempool ancestors for a transaction in the mempool." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +The `getmempoolancestors` RPC {{summary_getMemPoolAncestors}} + +*Parameter #1---a transaction identifier (TXID)* + +{% itemplate ntpd1 %} +- n: "Address" + t: "string" + p: "Required
(exactly 1)" + d: "The address whose transactions should be tallied" + +{% enditemplate %} + +*Parameter #2---desired output format* + +{% itemplate ntpd1 %} +- n: "Format" + t: "bool" + p: "Optional
(0 or 1)" + d: "Set to `true` to get json objects describing each transaction in the memory pool; set to `false` (the default) to only get an array of TXIDs" + +{% enditemplate %} + +*Result---list of ancestor transactions* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "array" + p: "Required
(exactly 1)" + d: "An array of TXIDs belonging to transactions in the memory pool. The array may be empty if there are no transactions in the memory pool" + +- n: "→
TXID" + t: "string" + p: "Optional
(0 or more)" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Result (format: `true`)---a JSON object describing each transaction* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "A object containing transactions currently in the memory pool. May be empty" + +- n: "→
TXID" + t: "string : object" + p: "Optional
(0 or more)" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" + +- n: "→ →
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of the serialized transaction in bytes" + +- n: "→ →
`fee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee paid by the transaction in decimal bitcoins" + +- n: "→ →
`modifiedfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee with fee deltas used for mining priority in decimal bitcoins" + +- n: "→ →
`time`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The time the transaction entered the memory pool, Unix epoch time format" + +- n: "→ →
`height`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The block height when the transaction entered the memory pool" + +- n: "→ →
`startingpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The priority of the transaction when it first entered the memory pool" + +- n: "→ →
`currentpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The current priority of the transaction" + +- n: "→ →
`descendantcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool descendant transactions (including this one)" + +- n: "→ →
`descendantsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool descendants (including this one)" + +- n: "→ →
`descendantfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" + +- n: "→ →
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool ancestor transactions (including this one)" + +- n: "→ →
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool ancestors (including this one)" + +- n: "→ →
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + +- n: "→ →
`depends`" + t: "array" + p: "Required
(exactly 1)" + d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" + +- n: "→ → →
Depends TXID" + t: "string" + p: "Optional (0 or more)" + d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +The default (`false`): + +{% highlight bash %} +bitcoin-cli getmempoolancestors 52273e0ce6cf3452932cfbc1c517c0ce\ +1af1d255fda67a6e3bd63ba1d908c8c2 +{% endhighlight %} + +Result: + +{% highlight json %} +[ + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873", + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4" +] +{% endhighlight %} + +Verbose output (`true`): + +{% highlight bash %} +bitcoin-cli getmempoolancestors 52273e0ce6cf3452932cfbc1c517c0ce\ +1af1d255fda67a6e3bd63ba1d908c8c2 true +{% endhighlight %} + +Result: + +{% highlight json %} +{ + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { + "size": 485, + "fee": 0.00009700, + "modifiedfee": 0.00009700, + "time": 1479423635, + "height": 439431, + "startingpriority": 15327081.81818182, + "currentpriority": 21536936.36363636, + "descendantcount": 1, + "descendantsize": 485, + "descendantfees": 9700, + "ancestorcount": 1, + "ancestorsize": 485, + "ancestorfees": 9700, + "depends": [ + ] + }, + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { + "size": 554, + "fee": 0.00005540, + "modifiedfee": 0.00005540, + "time": 1479423327, + "height": 439430, + "startingpriority": 85074.91071428571, + "currentpriority": 3497174.4375, + "descendantcount": 1, + "descendantsize": 554, + "descendantfees": 5540, + "ancestorcount": 1, + "ancestorsize": 554, + "ancestorfees": 5540, + "depends": [ + ] + } +} +{% endhighlight %} + +*See also* + +* [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} +* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md new file mode 100644 index 00000000..3cc2eeeb --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md @@ -0,0 +1,214 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md" %} + +##### GetMemPoolDescendants +{% include helpers/subhead-links.md %} + +{% assign summary_getMemPoolDescendants="returns all in-mempool descendants for a transaction in the mempool." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +The `getmempooldescendants` RPC {{summary_getMemPoolDescendants}} + +*Parameter #1---a transaction identifier (TXID)* + +{% itemplate ntpd1 %} +- n: "Address" + t: "string" + p: "Required
(exactly 1)" + d: "The address whose transactions should be tallied" + +{% enditemplate %} + +*Parameter #2---desired output format* + +{% itemplate ntpd1 %} +- n: "Format" + t: "bool" + p: "Optional
(0 or 1)" + d: "Set to `true` to get json objects describing each transaction in the memory pool; set to `false` (the default) to only get an array of TXIDs" + +{% enditemplate %} + +*Result---list of descendant transactions* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "array" + p: "Required
(exactly 1)" + d: "An array of TXIDs belonging to transactions in the memory pool. The array may be empty if there are no transactions in the memory pool" + +- n: "→
TXID" + t: "string" + p: "Optional
(0 or more)" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Result (format: `true`)---a JSON object describing each transaction* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "A object containing transactions currently in the memory pool. May be empty" + +- n: "→
TXID" + t: "string : object" + p: "Optional
(0 or more)" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" + +- n: "→ →
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of the serialized transaction in bytes" + +- n: "→ →
`fee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee paid by the transaction in decimal bitcoins" + +- n: "→ →
`modifiedfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee with fee deltas used for mining priority in decimal bitcoins" + +- n: "→ →
`time`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The time the transaction entered the memory pool, Unix epoch time format" + +- n: "→ →
`height`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The block height when the transaction entered the memory pool" + +- n: "→ →
`startingpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The priority of the transaction when it first entered the memory pool" + +- n: "→ →
`currentpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The current priority of the transaction" + +- n: "→ →
`descendantcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool descendant transactions (including this one)" + +- n: "→ →
`descendantsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool descendants (including this one)" + +- n: "→ →
`descendantfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" + +- n: "→ →
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool ancestor transactions (including this one)" + +- n: "→ →
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool ancestors (including this one)" + +- n: "→ →
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + +- n: "→ →
`depends`" + t: "array" + p: "Required
(exactly 1)" + d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" + +- n: "→ → →
Depends TXID" + t: "string" + p: "Optional (0 or more)" + d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +The default (`false`): + +{% highlight bash %} +bitcoin-cli getmempooldescendants 52273e0ce6cf3452932cfbc1c517c0\ +ce1af1d255fda67a6e3bd63ba1d908c8c2 +{% endhighlight %} + +Result: + +{% highlight json %} +[ + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873", + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4" +] +{% endhighlight %} + +Verbose output (`true`): + +{% highlight bash %} +bitcoin-cli getmempooldescendants 52273e0ce6cf3452932cfbc1c517c0\ +ce1af1d255fda67a6e3bd63ba1d908c8c2 true +{% endhighlight %} + +Result: + +{% highlight json %} +{ + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { + "size": 485, + "fee": 0.00009700, + "modifiedfee": 0.00009700, + "time": 1479423635, + "height": 439431, + "startingpriority": 15327081.81818182, + "currentpriority": 21536936.36363636, + "descendantcount": 1, + "descendantsize": 485, + "descendantfees": 9700, + "ancestorcount": 1, + "ancestorsize": 485, + "ancestorfees": 9700, + "depends": [ + ] + }, + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { + "size": 554, + "fee": 0.00005540, + "modifiedfee": 0.00005540, + "time": 1479423327, + "height": 439430, + "startingpriority": 85074.91071428571, + "currentpriority": 3497174.4375, + "descendantcount": 1, + "descendantsize": 554, + "descendantfees": 5540, + "ancestorcount": 1, + "ancestorsize": 554, + "ancestorfees": 5540, + "depends": [ + ] + } +} +{% endhighlight %} + +*See also* + +* [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} +* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md new file mode 100644 index 00000000..a159280e --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md @@ -0,0 +1,148 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md" %} + +##### GetMemPoolEntry +{% include helpers/subhead-links.md %} + +{% assign summary_getMemPoolEntry="returns mempool data for given transaction (must be in mempool)." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +The `getmempoolentry` RPC {{summary_getMemPoolEntry}} + +*Parameter #1---a transaction identifier (TXID)* + +{% itemplate ntpd1 %} +- n: "Address" + t: "string" + p: "Required
(exactly 1)" + d: "The address whose transactions should be tallied" + +{% enditemplate %} + +*Result ---a JSON object describing the transaction* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "A object containing transactions currently in the memory pool. May be empty" + +- n: "→
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of the serialized transaction in bytes" + +- n: "→
`fee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee paid by the transaction in decimal bitcoins" + +- n: "→
`modifiedfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee with fee deltas used for mining priority in decimal bitcoins" + +- n: "→
`time`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The time the transaction entered the memory pool, Unix epoch time format" + +- n: "→
`height`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The block height when the transaction entered the memory pool" + +- n: "→
`startingpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The priority of the transaction when it first entered the memory pool" + +- n: "→
`currentpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The current priority of the transaction" + +- n: "→
`descendantcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool descendant transactions (including this one)" + +- n: "→
`descendantsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool descendants (including this one)" + +- n: "→
`descendantfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" + +- n: "→
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of in-mempool ancestor transactions (including this one)" + +- n: "→
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of in-mempool ancestors (including this one)" + +- n: "→
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + +- n: "→
`depends`" + t: "array" + p: "Required
(exactly 1)" + d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" + +- n: "→ →
Depends TXID" + t: "string" + p: "Optional (0 or more)" + d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +{% highlight bash %} +bitcoin-cli getmempoolentry 52273e0ce6cf3452932cfbc1c517c0ce1af1\ +d255fda67a6e3bd63ba1d908c8c2 +{% endhighlight %} + +Result: + +{% highlight json %} +{ + "size": 485, + "fee": 0.00009700, + "modifiedfee": 0.00009700, + "time": 1479423635, + "height": 439431, + "startingpriority": 15327081.81818182, + "currentpriority": 21536936.36363636, + "descendantcount": 1, + "descendantsize": 485, + "descendantfees": 9700, + "ancestorcount": 1, + "ancestorsize": 485, + "ancestorfees": 9700, + "depends": [ + ] +} +{% endhighlight %} + +*See also* + +* [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} +* [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} +* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} + +{% endautocrossref %} \ No newline at end of file diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmininginfo.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmininginfo.md index 8ca031bf..0598493a 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmininginfo.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getmininginfo.md @@ -51,7 +51,7 @@ The `getmininginfo` RPC {{summary_getMiningInfo}} - n: "→
`genproclimit`" t: "number (int)" p: "Required
(exactly 1)" - d: "The limit on the number of processors to use for generation. If generation was enabled since the last time this node was restarted, this is the number used in the second parameter of the `setgenerate` RPC (or the default). Otherwise, it is `-1`" + d: "*Removed in Bitcoin Core 0.13.0*

The limit on the number of processors to use for generation. If generation was enabled since the last time this node was restarted, this is the number used in the second parameter of the `setgenerate` RPC (or the default). Otherwise, it is `-1`" - n: "→
`networkhashps`" t: "number (int)" @@ -71,21 +71,21 @@ The `getmininginfo` RPC {{summary_getMiningInfo}} - n: "→
`chain`" t: "string" p: "Required
(exactly 1)" - d: "Set to `main` for mainnet, `test` for testnet, and `regtest` for regtest" + d: "*Added in Bitcoin Core 0.10.0*

Set to `main` for mainnet, `test` for testnet, and `regtest` for regtest" - n: "→
`generate`" t: "bool" p: "Optional
(0 or 1)" - d: "Set to `true` if generation is currently enabled; set to `false` if generation is currently disabled. Only returned if the node has wallet support enabled" + d: "*Removed in Bitcoin Core 0.13.0*

Set to `true` if generation is currently enabled; set to `false` if generation is currently disabled. Only returned if the node has wallet support enabled" - n: "→
`hashespersec`" t: "number (int)" p: "Optional
(0 or 1)" - d: "*Removed in Bitcoin Core master (unreleased)*

The approximate number of hashes per second this node is generating across all CPUs, if generation is enabled. Otherwise `0`. Only returned if the node has wallet support enabled" + d: "*Removed in Bitcoin Core 0.11.0*

The approximate number of hashes per second this node is generating across all CPUs, if generation is enabled. Otherwise `0`. Only returned if the node has wallet support enabled" {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* {% highlight bash %} bitcoin-cli -testnet getmininginfo @@ -100,13 +100,10 @@ Result: "currentblocktx" : 3, "difficulty" : 1.00000000, "errors" : "", - "genproclimit" : 1, "networkhashps" : 5699977416637, "pooledtx" : 8, "testnet" : true, "chain" : "test", - "generate" : true, - "hashespersec" : 921200 } {% endhighlight %} @@ -115,6 +112,6 @@ Result: * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} * [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} +* [Generate][rpc generate]: {{summary_generate}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnettotals.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnettotals.md index 88bd3178..295b7fab 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnettotals.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnettotals.md @@ -37,22 +37,65 @@ The `getnettotals` RPC {{summary_getNetTotals}} t: "number (int)" p: "Required
(exactly 1)" d: "Unix epoch time in milliseconds according to the operating system's clock (not the node adjusted time)" + +- n: "→
`uploadtarget`" + t: "string :
object" + p: "Required
(exactly 1)" + d: "The upload traget information" + +- n: "→ →
`timeframe`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "Length of the measuring timeframe in seconds. The timeframe is currently set to `24` hours" + +- n: "→ →
`target`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The maximum allowed outbound traffic in bytes. The default is `0`. Can be changed with `-maxuploadtarget`" + +- n: "→ →
`target_reached`" + t: "bool" + p: "Required
(exactly 1)" + d: "Indicates if the target is reached. If the target is reached the node won't serve SPV and historical block requests anymore" + +- n: "→ →
`serve_historical_blocks`" + t: "bool" + p: "Required
(exactly 1)" + d: "Indicates if historical blocks are served" + +- n: "→ →
`bytes_left_in_cycle`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "Amount of bytes left in current time cycle. `0` is displayed if no upload target is set" + +- n: "→ →
`time_left_in_cycle`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "Seconds left in current time cycle. `0` is displayed if no upload target is set" {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* {% highlight bash %} -bitcoin-cli -testnet getnettotals +bitcoin-cli getnettotals {% endhighlight %} Result: {% highlight json %} { - "totalbytesrecv" : 723992206, - "totalbytessent" : 16846662695, - "timemillis" : 1419268217354 + "totalbytesrecv": 7137052851, + "totalbytessent": 211648636140, + "timemillis": 1481227418585, + "uploadtarget": { + "timeframe": 86400, + "target": 0, + "target_reached": false, + "serve_historical_blocks": true, + "bytes_left_in_cycle": 0, + "time_left_in_cycle": 0 + } } {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnetworkinfo.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnetworkinfo.md index afd4adc6..78910a64 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnetworkinfo.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getnetworkinfo.md @@ -37,6 +37,16 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}} t: "number (int)" p: "Required
(exactly 1)" d: "The protocol version number used by this node. See the [protocol versions section][section protocol versions] for more information" + +- n: "→
`localservices`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.10.0*

The services supported by this node as advertised in its `version` message" + +- n: "→
`localrelay`" + t: "bool" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The services supported by this node as advertised in its `version` message" - n: "→
`timeoffset`" t: "number (int)" @@ -48,21 +58,6 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}} p: "Required
(exactly 1)" d: "The total number of open connections (both outgoing and incoming) between this node and other nodes" -- n: "→
`proxy`" - t: "string" - p: "Required
(exactly 1)" - d: "The hostname/IP address and port number of the proxy, if set, or an empty string if unset" - -- n: "→
`relayfee`" - t: "number (bitcoins)" - p: "Required
(exactly 1)" - d: "The minimum fee a low-priority transaction must pay in order for this node to accept it into its memory pool" - -- n: "→
`localservices`" - t: "string (hex)" - p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.10.0*

The services supported by this node as advertised in its `version` message" - - n: "→
`networks`" t: "array" p: "Required
(exactly 1)" @@ -92,85 +87,98 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}} t: "string" p: "Required
(exactly 1)" d: "The hostname and port of any proxy being used for this network. If a proxy is not in use, an empty string" + +- n: "→ → →
`proxy_randomize_credentials`" + t: "bool" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.11.0*

Set to `true` if randomized credentials are set for this proxy. Otherwise set to `false`" + +- n: "→
`relayfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The minimum fee a low-priority transaction must pay in order for this node to accept it into its memory pool" -- n: "→ → →
`localaddresses`" +- n: "→
`localaddresses`" t: "array" p: "Required
(exactly 1)" d: "An array of objects each describing the local addresses this node believes it listens on" -- n: "→ → → →
Address" +- n: "→ →
Address" t: "object" p: "Optional
(0 or more)" d: "An object describing a particular address this node believes it listens on" -- n: "→ → → → →
`address`" +- n: "→ → →
`address`" t: "string" p: "Required
(exactly 1)" d: "An IP address or .onion address this node believes it listens on. This may be manually configured, auto detected, or based on `version` messages this node received from its peers" -- n: "→ → → → →
`port`" +- n: "→ → →
`port`" t: "number (int)" p: "Required
(exactly 1)" d: "The port number this node believes it listens on for the associated `address`. This may be manually configured, auto detected, or based on `version` messages this node received from its peers" -- n: "→ → → → →
`score`" +- n: "→ → →
`score`" t: "number (int)" p: "Required
(exactly 1)" - d: > - The number of incoming connections during the uptime of this node - that have used this address in their `version` message + d: "The number of incoming connections during the uptime of this node that have used this address in their `version` message" + +- n: "→
`warnings`" + t: "string" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.11.0*

A plain-text description of any network warnings. If there are no warnings, an empty string will be returned. " {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* {% highlight bash %} -bitcoin-cli -testnet getnetworkinfo +bitcoin-cli getnetworkinfo {% endhighlight %} Result (actual addresses have been replaced with reserved addresses): {% highlight json %} { - "version" : 100000, - "subversion" : "/Satoshi:0.10.0/", - "protocolversion" : 70002, - "localservices" : "0000000000000001", - "timeoffset" : 0, - "connections" : 51, - "networks" : [ - { - "name" : "ipv4", - "limited" : false, - "reachable" : true, - "proxy" : "" - }, - { - "name" : "ipv6", - "limited" : false, - "reachable" : true, - "proxy" : "" - }, - { - "name" : "onion", - "limited" : false, - "reachable" : false, - "proxy" : "" - } - ], - "relayfee" : 0.00001000, - "localaddresses" : [ - { - "address" : "192.0.2.113", - "port" : 18333, - "score" : 6470 - }, - { - "address" : "0600:3c03::f03c:91ff:fe89:dfc4", - "port" : 18333, - "score" : 2029 - } - ] + "version": 130100, + "subversion": "/Satoshi:0.13.1/", + "protocolversion": 70014, + "localservices": "000000000000000d", + "localrelay": true, + "timeoffset": -19, + "connections": 8, + "networks": [ + { + "name": "ipv4", + "limited": false, + "reachable": true, + "proxy": "", + "proxy_randomize_credentials": false + }, + { + "name": "ipv6", + "limited": false, + "reachable": true, + "proxy": "", + "proxy_randomize_credentials": false + }, + { + "name": "onion", + "limited": true, + "reachable": false, + "proxy": "", + "proxy_randomize_credentials": false + } + ], + "relayfee": 5000.00000000, + "localaddresses": [ + { + "address": "0600:3c03::f03c:91ff:fe89:dfc4", + "port": 8333, + "score": 4 + } + ], + "warnings": "" } {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getpeerinfo.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getpeerinfo.md index 3a248fe1..5bafe420 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getpeerinfo.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getpeerinfo.md @@ -41,7 +41,7 @@ The `getpeerinfo` RPC {{summary_getPeerInfo}} - n: "→ →
`addrlocal`" t: "string" p: "Optional
(0 or 1)" - d: "Our IP address and port number according to the remote node. May be incorrect due to error or lying. Many SPV nodes set this to `127.0.0.1:8333`" + d: "Our IP address and port number according to the remote node. May be incorrect due to error or lying. Most SPV nodes set this to `127.0.0.1:8333`" - n: "→ →
`services`" t: "string (hex)" @@ -72,11 +72,21 @@ The `getpeerinfo` RPC {{summary_getPeerInfo}} t: "number (int)" p: "Required
(exactly 1)" d: "The Unix epoch time when we connected to this node" + +- n: "→ →
`timeoffset`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The time offset in seconds" - n: "→ →
`pingtime`" t: "number (real)" p: "Required
(exactly 1)" d: "The number of seconds this node took to respond to our last P2P `ping` message" + +- n: "→ →
`minping`" + t: "number (real)" + p: "Optional
(0 or 1)" + d: "*Updated in Bitcoin Core 0.13.0*

The minimum observed ping time (if any at all)" - n: "→ →
`pingwait`" t: "number (real)" @@ -138,12 +148,33 @@ The `getpeerinfo` RPC {{summary_getPeerInfo}} p: "Required
(exactly 1)" d: "*Added in Bitcoin Core 0.10.0*

Set to `true` if the remote peer has been whitelisted; otherwise, set to `false`. Whitelisted peers will not be banned if their ban score exceeds the maximum (100 by default). By default, peers connecting from localhost are whitelisted" +- n: "→ →
`bytessent_per_msg`" + t: "string :
object" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

Information about total sent bytes aggregated by message type" + +- n: "→ → →
Message Type" + t: "number (int)" + p: "Required
(1 or more)" + d: "Total sent bytes aggregated by message type. One field for every used message type" + +- n: "→ →
`bytesrecv_per_msg`" + t: "string :
object" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

Information about total received bytes aggregated by message type" + +- n: "→ → →
Message Type" + t: "number (int)" + p: "Required
(1 or more)" + d: "Total received bytes aggregated by message type. One field for every used message type" + + {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* {% highlight bash %} -bitcoin-cli -testnet getpeerinfo +bitcoin-cli getpeerinfo {% endhighlight %} Result (edited to show only a single entry, with IP addresses changed to @@ -152,27 +183,46 @@ Result (edited to show only a single entry, with IP addresses changed to {% highlight json %} [ { - "id" : 9, - "addr" : "192.0.2.113:18333", - "addrlocal" : "192.0.2.51:18333", - "services" : "0000000000000002", - "lastsend" : 1419277992, - "lastrecv" : 1419277992, - "bytessent" : 4968, - "bytesrecv" : 105078, - "conntime" : 1419265985, - "pingtime" : 0.05617800, - "version" : 70001, - "subver" : "/Satoshi:0.8.6/", - "inbound" : false, - "startingheight" : 315280, - "banscore" : 0, - "synced_headers" : -1, - "synced_blocks" : -1, - "inflight" : [ - ], - "whitelisted" : false + "id": 3, + "addr": "192.0.2.113:43132", + "addrlocal": "127.0.0.1:8333", + "services": "0000000000000000", + "relaytxes": true, + "lastsend": 1481158534, + "lastrecv": 1481158534, + "bytessent": 142772, + "bytesrecv": 14167, + "conntime": 1481158420, + "timeoffset": 11, + "pingtime": 0.226368, + "minping": 0.226368, + "version": 70001, + "subver": "/Satoshi:0.12.1/", + "inbound": true, + "startingheight": 0, + "banscore": 0, + "synced_headers": -1, + "synced_blocks": -1, + "inflight": [ + ], + "whitelisted": false, + "bytessent_per_msg": { + "addr": 55, + "inv": 12161, + "ping": 32, + "pong": 1824, + "tx": 128549, + "verack": 24, + "version": 127 + }, + "bytesrecv_per_msg": { + "getdata": 12161, + "ping": 1824, + "pong": 32, + "verack": 24, + "version": 126 } + } ] {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md index b602531c..fe799f04 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md @@ -60,6 +60,11 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} t: "number (bitcoins)" p: "Required
(exactly 1)" d: "The transaction fee paid by the transaction in decimal bitcoins" + +- n: "→ →
`modifiedfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee with fee deltas used for mining priority in decimal bitcoins" - n: "→ →
`time`" t: "number (int)" @@ -81,10 +86,40 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} p: "Required
(exactly 1)" d: "The current priority of the transaction" +- n: "→ →
`descendantcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The number of in-mempool descendant transactions (including this one)" + +- n: "→ →
`descendantsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The size of in-mempool descendants (including this one)" + +- n: "→ →
`descendantfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" + +- n: "→ →
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The number of in-mempool ancestor transactions (including this one)" + +- n: "→ →
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The size of in-mempool ancestors (including this one)" + +- n: "→ →
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + - n: "→ →
`depends`" t: "array" p: "Required
(exactly 1)" - d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon. Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" + d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" - n: "→ → →
Depends TXID" t: "string" @@ -93,20 +128,20 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} {% enditemplate %} -*Examples from Bitcoin Core 0.10.0* +*Examples from Bitcoin Core 0.13.1* The default (`false`): {% highlight bash %} -bitcoin-cli -testnet getrawmempool +bitcoin-cli getrawmempool {% endhighlight %} Result: {% highlight json %} [ - "2b1f41d6f1837e164d6d6811d3d8dad2e66effbd1058cd9ed7bdbe1cab20ae03", - "2baa1f49ac9b951fa781c4c95814333a2f3eda71ed3d0245cd76c2829b3ce354" + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873", + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4" ] {% endhighlight %} @@ -120,22 +155,47 @@ Result: {% highlight json %} { - "2baa1f49ac9b951fa781c4c95814333a2f3eda71ed3d0245cd76c2829b3ce354" : { - "size" : 191, - "fee" : 0.00020000, - "time" : 1398867772, - "height" : 227310, - "startingpriority" : 54545454.54545455, - "currentpriority" : 54545454.54545455, - "depends" : [ - ] - } + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { + "size": 485, + "fee": 0.00009700, + "modifiedfee": 0.00009700, + "time": 1479423635, + "height": 439431, + "startingpriority": 15327081.81818182, + "currentpriority": 21536936.36363636, + "descendantcount": 1, + "descendantsize": 485, + "descendantfees": 9700, + "ancestorcount": 1, + "ancestorsize": 485, + "ancestorfees": 9700, + "depends": [ + ] + }, + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { + "size": 554, + "fee": 0.00005540, + "modifiedfee": 0.00005540, + "time": 1479423327, + "height": 439430, + "startingpriority": 85074.91071428571, + "currentpriority": 3497174.4375, + "descendantcount": 1, + "descendantsize": 554, + "descendantfees": 5540, + "ancestorcount": 1, + "ancestorsize": 554, + "ancestorfees": 5540, + "depends": [ + ] + } } {% endhighlight %} *See also* * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} +* [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} * [GetTxOutSetInfo][rpc gettxoutsetinfo]: {{summary_getTxOutSetInfo}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getreceivedbyaccount.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getreceivedbyaccount.md index 2d61e85e..7af970d4 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getreceivedbyaccount.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getreceivedbyaccount.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `getreceivedbyaccount` RPC {{summary_getReceivedByAccount}} +{{WARNING}} `getreceivedbyaccount` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---the account name* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getwork.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getwork.md index 55c7ddba..b8b2965f 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getwork.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getwork.md @@ -11,14 +11,12 @@ http://opensource.org/licenses/MIT. {% autocrossref %} -The `getwork` RPC {{summary_getWork}}. If you have an older -version of Bitcoin Core, use the `help` RPC to get help. For example: -`help getwork` +The `getwork` RPC {{summary_getWork}} If you have an older +version of Bitcoin Core, use `help getwork` to get help. *See also* * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} * [SubmitBlock][rpc submitblock]: {{summary_submitBlock}} -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md new file mode 100644 index 00000000..033f49e3 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md @@ -0,0 +1,65 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md" %} + +##### ImportPrunedFunds +{% include helpers/subhead-links.md %} + +{% assign summary_importPrunedFunds="imports funds without the need of a rescan. Meant for use with pruned wallets." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +*Requires wallet support.* + +The `importprunedfunds` RPC {{summary_importPrunedFunds}} Corresponding address or script must previously be included in wallet. +The end-user is responsible to import additional transactions that subsequently spend the imported +outputs or rescan after the point in the blockchain the transaction is included. + +*Parameter #1---the raw transaction to import* + +{% itemplate ntpd1 %} +- n: "Raw Transaction" + t: "string
(hex)" + p: "Required
(exactly 1)" + d: "A raw transaction in hex funding an already-existing address in wallet" + +{% enditemplate %} + +*Parameter #2---the tx out proof that cointains the transaction* + +{% itemplate ntpd1 %} +- n: "TX Out Proof" + t: "string
(hex)" + p: "Required
(exactly 1)" + d: "The hex output from gettxoutproof that contains the transaction" + +{% enditemplate %} + +*Result---`null` on success* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "null" + p: "Required
(exactly 1)" + d: "If the funds are added to wallet, JSON `null` will be returned" + +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +{% highlight bash %} +bitcoin-cli importprunedfunds "txhex" "txoutproof" +{% endhighlight %} + +(Success: no result displayed.) + +*See also* + +* [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} +* [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaccounts.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaccounts.md index e14bc382..a9d14a28 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaccounts.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaccounts.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `listaccounts` RPC {{summary_listAccounts}} +{{WARNING}} `listaccounts` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---the minimum number of confirmations a transaction must have* {{INCLUDE_CONFIRMATIONS_PARAMETER}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaddressgroupings.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaddressgroupings.md index f1edcc51..63563170 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaddressgroupings.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listaddressgroupings.md @@ -48,7 +48,7 @@ The `listaddressgroupings` RPC {{summary_listAddressGroupings}} - n: "→ → →
Account" t: "string" p: "Optional
(0 or 1)" - d: "The account the address belongs to, if any. This field will not be returned for change addresses. The default account is an empty string (\"\")" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account the address belongs to, if any. This field will not be returned for change addresses. The default account is an empty string (\"\")" {% enditemplate %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaccount.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaccount.md index 5480dc40..3a7f5afe 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaccount.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaccount.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `listreceivedbyaccount` RPC {{summary_listReceivedByAccount}} +{{WARNING}} `listreceivedbyaccount` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---the minimum number of confirmations a transaction must have to be counted* {{INCLUDE_CONFIRMATIONS_PARAMETER}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaddress.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaddress.md index 4d1b8ad2..5d337361 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaddress.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listreceivedbyaddress.md @@ -59,7 +59,7 @@ The `listreceivedbyaddress` RPC {{summary_listReceivedByAddress}} - n: "→ →
`account`" t: "string" p: "Required
(exactly 1)" - d: "The account the address belongs to; may be the default account, an empty string (\"\")" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account the address belongs to. May be the default account, an empty string (\"\")" - n: "→ →
`amount`" t: "number (bitcoins)" @@ -71,7 +71,12 @@ The `listreceivedbyaddress` RPC {{summary_listReceivedByAddress}} p: "Required
(exactly 1)" d: "The number of confirmations of the latest transaction to the address. May be `0` for unconfirmed" -- n: "→ →
TXIDs" +- n: "→ →
`label`" + t: "string" + p: "Required
(exactly 1)" + d: "The account the address belongs to. May be the default account, an empty string (\"\")" + +- n: "→ →
`txids`" t: "array" p: "Required
(exactly 1)" d: "An array of TXIDs belonging to transactions that pay the address" @@ -83,7 +88,7 @@ The `listreceivedbyaddress` RPC {{summary_listReceivedByAddress}} {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* List addresses with balances confirmed by at least six blocks, including watch-only addresses: @@ -101,6 +106,7 @@ Result (edit to show only two entries): "account" : "test1", "amount" : 1.99900000, "confirmations" : 55680, + "label" : "test1", "txids" : [ "4d71a6127796766c39270881c779b6e05183f2bf35589261e9572436356f287f", "997115d0cf7b83ed332e6c1f2e8c44f803c95ea43490c84ce3e9ede4b2e1605f" @@ -112,6 +118,7 @@ Result (edit to show only two entries): "account" : "someone else's address2", "amount" : 0.00050000, "confirmations" : 34714, + "label" : "someone else's address2", "txids" : [ "99845fd840ad2cc4d6f93fafb8b072d188821f55d9298772415175c456f3077d" ] diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listsinceblock.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listsinceblock.md index 891e64b5..62639fd6 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listsinceblock.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listsinceblock.md @@ -69,7 +69,7 @@ The `listsinceblock` RPC {{summary_listSinceBlock}} {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Get all transactions since a particular block (including watch-only transactions) and the header hash of the sixth most recent block. @@ -99,7 +99,8 @@ Result (edited to show only two payments): "walletconflicts" : [ ], "time" : 1399294967, - "timereceived" : 1418924714 + "timereceived" : 1418924714, + "bip125-replaceable": "no" }, { "involvesWatchonly" : true, @@ -116,7 +117,8 @@ Result (edited to show only two payments): "walletconflicts" : [ ], "time" : 1418695703, - "timereceived" : 1418925580 + "timereceived" : 1418925580, + "bip125-replaceable": "no" } ], "lastblock" : "0000000000984add1a686d513e66d25686572c7276ec3e358a7e3e9f7eb88619" @@ -128,5 +130,4 @@ Result (edited to show only two payments): * [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} * [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} - {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md index 2270560e..d2a07259 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md @@ -1,4 +1,4 @@ -{% comment %} +{% comment %} This file is licensed under the MIT License (MIT) available on http://opensource.org/licenses/MIT. {% endcomment %} @@ -21,7 +21,7 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "Account" t: "string" p: "Optional
(0 or 1)" - d: "The name of an account to get transactinos from. Use an empty string (\"\") to get transactions for the default account. Default is `*` to get transactions for all accounts. The account feature is deprecated" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The name of an account to get transactinos from. Use an empty string (\"\") to get transactions for the default account. Default is `*` to get transactions for all accounts." {% enditemplate %} @@ -82,6 +82,11 @@ The `listtransactions` RPC {{summary_listTransactions}} p: "Required
(exactly 1)" d: "A negative bitcoin amount if sending payment; a positive bitcoin amount if receiving payment (including coinbases)" +- n: "→ →
`label`" + t: "string" + p: "Optional
(0 or 1)" + d: "A comment for the address/transaction" + - n: "→ →
`vout`" t: "number (int)" p: "Optional
(0 or 1)" @@ -100,7 +105,7 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "→ →
`trusted`" t: "bool" p: "Optional
(0 or 1)" - d: "Indicates wether we consider the outputs of this unconfirmed transaction safe to spend. The field is only visible for unconfirmed transactions" + d: "Indicates wether we consider the outputs of this unconfirmed transaction safe to spend. Only returned for unconfirmed transactions" - n: "→ →
`generated`" t: "bool" @@ -110,17 +115,17 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "→ →
`blockhash`" t: "string (hex)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order" + d: "The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order. Only returned for confirmed transactions" - n: "→ →
`blockindex`" t: "number (int)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The block height of the block on the local best block chain which includes this transaction" + d: "The block height of the block on the local best block chain which includes this transaction. Only returned for confirmed transactions" - n: "→ →
`blocktime`" t: "number (int)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The block header time (Unix epoch time) of the block on the local best block chain which includes this transaction" + d: "The block header time (Unix epoch time) of the block on the local best block chain which includes this transaction. Only returned for confirmed transactions" - n: "→ →
`txid`" t: "string (hex)" @@ -160,28 +165,26 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "→ →
`otheraccount`" t: "string" p: "Optional
(0 or 1)" - d: "Only returned by *move* category payments. This is the account the bitcoins were moved from or moved to, as indicated by a negative or positive *amount* field in this payment" + d: "This is the account the bitcoins were moved from or moved to, as indicated by a negative or positive *amount* field in this payment. Only returned by *move* category payments" - n: "→ →
`bip125-replaceable`" t: "string" p: "Required
(exactly 1)" - d: "Indicates if a transaction is replaceable under BIP125:
• `yes` replaceable
• `no` not replaceable
• `unknown` for unconfirmed transactions not in the mempool" + d: "*Added in Bitcoin Core 0.12.0*

Indicates if a transaction is replaceable under BIP125:
• `yes` replaceable
• `no` not replaceable
• `unknown` for unconfirmed transactions not in the mempool" - n: "→ →
`abandoned`" t: "bool" - p: "Required
(exactly 1)" - d: "Indicates if a transaction is was abandoned:
• `yes` if it was abandoned (inputs are respendable)
• `no` if it was not abandoned" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.12.1*

Indicates if a transaction is was abandoned:
• `true` if it was abandoned (inputs are respendable)
• `false` if it was not abandoned
Only returned by *send* category payments" {% enditemplate %} -*Example from Bitcoin Core 0.12.1* +*Example from Bitcoin Core 0.13.1* -List the most recent transaction from the account "someone else's -address2" including watch-only addresses. +List the most recent transaction from all accounts including watch-only addresses. {% highlight bash %} -bitcoin-cli -testnet listtransactions \ - "" 1 0 true +bitcoin-cli listtransactions "*" 1 0 true {% endhighlight %} Result: @@ -191,15 +194,16 @@ Result: { "involvesWatchonly" : true, "account" : "", - "address" : "n3GNqMveyvaPvUbH469vDRadqpJMPc84JA", - "category" : "receive", - "amount" : 0.00050000, + "address" : "1GeDA9rRpqaCdsdkTzGtbajt6jPvn3pg2N", + "category" : "send", + "amount" : -3.45902877, "vout" : 0, - "confirmations" : 34714, - "blockhash" : "00000000bd0ed80435fc9fe3269da69bb0730ebb454d0a29128a870ea1a37929", - "blockindex" : 11, - "blocktime" : 1411051649, - "txid" : "99845fd840ad2cc4d6f93fafb8b072d188821f55d9298772415175c456f3077d", + "fee" : -0.00032890, + "confirmations" : 29710, + "blockhash" : "0000000000000000008b9cb38cd3105e75af94b3af79d0a59cbe4edb618fb814", + "blockindex" : 1705, + "blocktime" : 1463173519, + "txid" : "9b32d4315ac4c5e0d3a5fb947b9a198d3641698badc820643a7df23081f99695e", "walletconflicts" : [ ], "time" : 1418695703, diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listunspent.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listunspent.md index c6141579..813159db 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listunspent.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listunspent.md @@ -83,7 +83,7 @@ the *spendable* field in the results described below. - n: "→ →
`account`" t: "string" p: "Optional
(0 or 1)" - d: "If the address returned belongs to an account, this is the account. Otherwise not returned" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

If the address returned belongs to an account, this is the account. Otherwise not returned" - n: "→ →
`scriptPubKey`" t: "string (hex)" @@ -109,10 +109,15 @@ the *spendable* field in the results described below. t: "bool" p: "Required
(exactly 1)" d: "*Added in Bitcoin Core 0.10.0*

Set to `true` if the private key or keys needed to spend this output are part of the wallet. Set to `false` if not (such as for watch-only addresses)" + +- n: "→ →
`solvable`" + t: "bool" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

Set to `true` if the wallet knows how to spend this output. Set to `false` if the wallet does not know how to spend the output. It is ignored if the private keys are available " {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Get all outputs confirmed at least 6 times for a particular address: @@ -137,7 +142,8 @@ Result: "scriptPubKey" : "76a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac", "amount" : 0.00010000, "confirmations" : 6210, - "spendable" : true + "spendable" : true, + "sovable" : true } ] {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/move.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/move.md index 150d2ba2..840853cd 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/move.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/move.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `move` RPC {{summary_move}} +{{WARNING}} `move` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + {{WARNING}} it's allowed to move more funds than are in an account, giving the sending account a negative balance and giving the receiving account a balance that may exceed the number of bitcoins in the wallet diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md new file mode 100644 index 00000000..77f3f0de --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md @@ -0,0 +1,54 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md" %} + +##### RemovePrunedFunds +{% include helpers/subhead-links.md %} + +{% assign summary_removePrunedFunds="deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +*Requires wallet support.* + +The `removeprunedfunds` RPC {{summary_removePrunedFunds}} This will effect wallet balances. + +*Parameter #1---the raw transaction to import* + +{% itemplate ntpd1 %} +- n: "TXID" + t: "string
(hex)" + p: "Required
(exactly 1)" + d: "The hex-encoded id of the transaction you are removing" + +{% enditemplate %} + +*Result---`null` on success* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "null" + p: "Required
(exactly 1)" + d: "If the funds are removed from the wallet, JSON `null` will be returned" + +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +{% highlight bash %} +bitcoin-cli removeprunedfunds a8d0c0184dde994a09ec054286f1ce581b\ +ebf46446a512166eae7628734ea0a5 +{% endhighlight %} + +(Success: no result displayed.) + +*See also* + +* [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} +* [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md index e91e8eea..b92106e3 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md @@ -16,6 +16,9 @@ unencrypted wallet.* The `sendfrom` RPC {{summary_sendFrom}} +{{WARNING}} `sendfrom` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---from account* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendmany.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendmany.md index 743770ac..cc2aa624 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendmany.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/sendmany.md @@ -22,7 +22,7 @@ The `sendmany` RPC {{summary_sendMany}} - n: "From Account" t: "string" p: "Required
(exactly 1)" - d: "The name of the account from which the bitcoins should be spent. Use an empty string (\"\") for the default account. Bitcoin Core will ensure the account has sufficient bitcoins to pay the total amount in the *outputs* field described below (but the transaction fee paid is not included in the calculation, so an account can spend a total of its balance plus the transaction fee)" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The name of the account from which the bitcoins should be spent. Use an empty string (\"\") for the default account. Bitcoin Core will ensure the account has sufficient bitcoins to pay the total amount in the *outputs* field described below (but the transaction fee paid is not included in the calculation, so an account can spend a total of its balance plus the transaction fee)" {% enditemplate %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/setaccount.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/setaccount.md index 26726a77..1a0c5329 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/setaccount.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/setaccount.md @@ -15,6 +15,9 @@ http://opensource.org/licenses/MIT. The `setaccount` RPC {{summary_setAccount}} +{{WARNING}} `setaccount` will be removed in a later version of Bitcoin +Core. Use the RPCs listed in the See Also subsection below instead. + *Parameter #1---a bitcoin address* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/setgenerate.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/setgenerate.md index 737ce204..a77242c4 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/setgenerate.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/setgenerate.md @@ -7,102 +7,21 @@ http://opensource.org/licenses/MIT. ##### SetGenerate {% include helpers/subhead-links.md %} -{% assign summary_setGenerate="enables or disables hashing to attempt to find the next block." %} +{% assign summary_setGenerate="was removed in Bitcoin Core 0.13.0." %} {% autocrossref %} *Requires wallet support.* -The `setgenerate` RPC {{summary_setGenerate}} - -*Parameter #1---whether to enable or disable generation* - -{% itemplate ntpd1 %} -- n: "Enable/Disable" - t: "bool" - p: "Required
(exactly 1)" - d: "Set to `true` to enable generation; set to `false` to disable generation" - -{% enditemplate %} - -*Parameter #2 (regular)---the number of processors to use* - -{% itemplate ntpd1 %} -- n: "Processors" - t: "number (int)" - p: "Optional
(0 or 1)" - d: "The number of processors to use. Defaults to `1`. Set to `-1` to use all processors" - -{% enditemplate %} - -*Parameter #2 (regtest)---the number of blocks to generate* - -Note: setgenerate in regtest mode has been removed in Bitcoin Core -master. See the `generate` RPC for the replacement. - -{% itemplate ntpd1 %} -- n: "Blocks" - t: "number (int)" - p: "Optional
(0 or 1)" - d: "In regtest mode, set to the number of blocks to generate. Defaults to `1`" - -{% enditemplate %} - -*Result (regular)---generating is enabled* - -{% itemplate ntpd1 %} -- n: "`result`" - t: "null" - p: "Required
(exactly 1)" - d: "Always JSON `null`" - -{% enditemplate %} - -*Result (regtest)---the generated block header hashes* - -{% itemplate ntpd1 %} -- n: "`result`" - t: "array/null" - p: "Required
(exactly 1)" - d: "An array containing the block header hashes of the generated blocks, or JSON `null` if no blocks were generated" - -- n: "→
Header Hashes" - t: "string (hex)" - p: "Required
(1 or more)" - d: "The hashes of the headers of the blocks generated in regtest mode, as hex in RPC byte order" - -{% enditemplate %} - -*Examples from Bitcoin Core 0.10.0* - -Enable generation using two logical processors (on this machine, two -cores of one physical processor): - -{% highlight bash %} -bitcoin-cli -testnet setgenerate true 2 -{% endhighlight %} - -(Success: no result displayed. Process manager shows 200% CPU usage.) - -Using regtest mode, generate 2 blocks: - -{% highlight bash %} -bitcoin-cli -regtest setgenerate true 101 -{% endhighlight %} - -Result: - -{% highlight json %} -[ - "7e38de938d0dcbb41be63d78a8353e77e9d1b3ef82e0368eda051d4926eef915", - "61d6e5f1a64d009659f45ef1c614e57f4aa0501708641212be236dc56d726da8" -] -{% endhighlight %} +The `setgenerate` RPC {{summary_setGenerate}} If you have an older +version of Bitcoin Core, use `help setgenerate` RPC to get help. For testing, +the generate call can still be used to mine a block, and the `generatetoaddress` RPC +call has been added to mine to a specific address. This works with wallet disabled. *See also* -* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}} -* [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}} +* [Generate][rpc generate]: {{summary_generate}} +* [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessage.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessage.md index 5e051852..a98da7a2 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessage.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessage.md @@ -46,23 +46,23 @@ The `signmessage` RPC {{summary_signMessage}} {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Sign a the message "Hello, World!" using the following address: {% highlight bash %} -bitcoin-cli -testnet signmessage mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe \ - 'Hello, World!' +bitcoin-cli signmessage 17fshh33qUze2yifiJ2sXgijSMzJ2KNEwu "Hello, World!" {% endhighlight %} Result: {% highlight text %} -IL98ziCmwYi5pL+dqKp4Ux+zCa4hP/xbjHmWh+Mk/lefV/0pWV1p/gQ94jgExSmgH2/+PDcCCrOHAady2IEySSI= +ILypRih424AWRYXK1goB6mskx99aelWcVCTEKolaW7U4VPnwj6Khf+vJSED7pMtPQd3KnXuqq1JvavrQdPMFFB0= {% endhighlight %} *See also* +* [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} -{% endautocrossref %} +{% endautocrossref %} \ No newline at end of file diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md new file mode 100644 index 00000000..f2fc23e5 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md @@ -0,0 +1,68 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md" %} + +##### SignMessageWithPrivKey +{% include helpers/subhead-links.md %} + +{% assign summary_signMessageWithPrivKey="signs a message with a given private key." %} + +{% autocrossref %} + +*Added in Bitcoin Core 0.13.0* + +The `signmessagewithprivkey` RPC {{summary_signMessageWithPrivKey}} + +*Parameter #1---the private key to sign with* + +{% itemplate ntpd1 %} +- n: "Privat Key" + t: "string (base58)" + p: "Required
(exactly 1)" + d: "The private key to sign the message with encoded in base58check using wallet import format (WIF)" + +{% enditemplate %} + +*Parameter #2---the message to sign* + +{% itemplate ntpd1 %} +- n: "Message" + t: "string" + p: "Required
(exactly 1)" + d: "The message to sign" + +{% enditemplate %} + +*Result---the message signature* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "string (base64)" + p: "Required
(exactly 1)" + d: "The signature of the message, encoded in base64. Note that Bitcoin Core before 0.10.0 creates signatures with random *k* values, so each time you sign the same message, it will create a different signature" + +{% enditemplate %} + +*Example from Bitcoin Core 0.13.1* + +Sign a the message "Hello, World!" using the following private key: + +{% highlight bash %} +bitcoin-cli signmessagewithprivkey 5HpHagT65TZzG1PH3CSu63k8DbpvD\ +8s5ip4nEB3kEsreKamq6aB "Hello, World!" +{% endhighlight %} + +Result: + +{% highlight text %} +G+ZauMFgQExAJRKZSldbAVEaZo4i0p2AVivbFASo50PkUnynAMDUiNMVdXDlpYMWvatxCmYmLn8C9zygPRn3Y1c= +{% endhighlight %} + +*See also* + +* [SignMessage][rpc signmessage]: {{summary_signMessage}} +* [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} + +{% endautocrossref %} \ No newline at end of file diff --git a/_includes/helpers/summaries.md b/_includes/helpers/summaries.md index dd73398e..be2fdefc 100644 --- a/_includes/helpers/summaries.md +++ b/_includes/helpers/summaries.md @@ -1,20 +1,24 @@ {%comment%}AUTOMATICALLY-GENERATED FILE: DO NOT EDIT THIS FILE This file is licensed under the terms of its source texts{%endcomment%} -{% assign summary_abandonTransaction="marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respend." %} +{% assign summary_abandonTransaction="marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent." %} {% assign summary_addMultiSigAddress="adds a P2SH multisig address to the wallet." %} {% assign summary_addNode="attempts to add or remove a node from the addnode list, or to try a connection to a node once." %} +{% assign summary_addWitnessAddress="adds a witness address for a script (with pubkey or redeemscript known)." %} {% assign summary_backupWallet="safely copies `wallet.dat` to the specified file, which can be a directory or a path with filename." %} -{% assign summary_clearBanned="Clears list of banned nodes." %} +{% assign summary_clearBanned="clears list of banned nodes." %} {% assign summary_createMultiSig="creates a P2SH multi-signature address." %} {% assign summary_createRawTransaction="creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network." %} {% assign summary_decodeRawTransaction="decodes a serialized transaction hex string into a JSON object describing the transaction." %} {% assign summary_decodeScript="decodes a hex-encoded P2SH redeem script." %} +{% assign summary_disconnectnode="immediately disconnects from a specified node." %} {% assign summary_dumpPrivKey="returns the wallet-import-format (WIP) private key corresponding to an address. (But does not remove it from the wallet.)" %} {% assign summary_dumpWallet="creates or overwrites a file with all wallet keys in a human-readable format." %} {% assign summary_encryptWallet="encrypts the wallet with a passphrase. This is only to enable encryption for the first time. After encryption is enabled, you will need to enter the passphrase to use private keys." %} {% assign summary_estimateFee="estimates the transaction fee per kilobyte that needs to be paid for a transaction to be included within a certain number of blocks." %} {% assign summary_estimatePriority="estimates the priority that a transaction needs in order to be included within a certain number of blocks as a free high-priority transaction." %} -{% assign summary_generate="nearly instantly generates blocks (in regtest mode only)" %} +{% assign summary_fundRawTransaction="adds inputs to a transaction until it has enough in value to meet its out value." %} +{% assign summary_generate="nearly instantly generates blocks." %} +{% assign summary_generateToAddress="mines blocks immediately to a specified address." %} {% assign summary_getAccount="returns the name of the account associated with the given address." %} {% assign summary_getAccountAddress="returns the current Bitcoin address for receiving payments to this account. If the account doesn't exist, it creates both the account and a new address for receiving payment. Once a payment has been received to an address, future calls to this RPC for the same account will return a different address." %} {% assign summary_getAddedNodeInfo="returns information about the given added node, or all added nodes (except onetry nodes). Only nodes which have been manually added using the `addnode` RPC will have their information displayed." %} @@ -30,9 +34,12 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_getChainTips="returns information about the highest-height block (tip) of each local block chain." %} {% assign summary_getConnectionCount="returns the number of connections to other nodes." %} {% assign summary_getDifficultly="returns the proof-of-work difficulty as a multiple of the minimum difficulty." %} -{% assign summary_getGenerate="returns true if the node is set to generate blocks using its CPU." %} -{% assign summary_getHashesPerSec="was removed in Bitcoin Core master (unreleased). It returned a recent hashes per second performance measurement when the node was generating blocks." %} +{% assign summary_getGenerate="was removed in Bitcoin Core 0.13.0." %} +{% assign summary_getHashesPerSec="was removed in Bitcoin Core 0.11.0." %} {% assign summary_getInfo="prints various information about the node and the network." %} +{% assign summary_getMemPoolAncestors="returns all in-mempool ancestors for a transaction in the mempool." %} +{% assign summary_getMemPoolDescendants="returns all in-mempool descendants for a transaction in the mempool." %} +{% assign summary_getMemPoolEntry="returns mempool data for given transaction (must be in mempool)." %} {% assign summary_getMemPoolInfo="returns information about the node's current transaction memory pool." %} {% assign summary_getMiningInfo="returns various mining-related information." %} {% assign summary_getNetTotals="returns information about network traffic, including bytes in, bytes out, and the current time." %} @@ -55,6 +62,7 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_help="lists all available public RPC commands, or gets help for the specified RPC. Commands which are unavailable will not be listed, such as wallet RPCs if wallet support is disabled." %} {% assign summary_importAddress="adds an address or pubkey script to the wallet without the associated private key, allowing you to watch for transactions affecting that address or pubkey script without being able to spend any of its outputs." %} {% assign summary_importPrivKey="adds a private key to your wallet. The key should be formatted in the wallet import format created by the `dumpprivkey` RPC." %} +{% assign summary_importPrunedFunds="imports funds without the need of a rescan. Meant for use with pruned wallets." %} {% assign summary_importWallet="imports private keys from a file in wallet dump file format (see the `dumpwallet` RPC). These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the block chain for transactions affecting the newly-added keys, which may take several minutes." %} {% assign summary_keyPoolRefill="fills the cache of unused pre-generated keys (the keypool)." %} {% assign summary_listAccounts="lists accounts and their balances." %} @@ -70,6 +78,7 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_move="moves a specified amount from one account in your wallet to another using an off-block-chain transaction." %} {% assign summary_ping-rpc="sends a P2P ping message to all connected nodes to measure ping time. Results are provided by the `getpeerinfo` RPC pingtime and pingwait fields as decimal seconds. The P2P `ping` message is handled in a queue with all other commands, so it measures processing backlog, not just network ping." %} {% assign summary_prioritiseTransaction="adds virtual priority or fee to a transaction, allowing it to be accepted into blocks mined by this node (or miners which use this node) with a lower priority or fee. (It can also remove virtual priority or fee, requiring the transaction have a higher priority or fee to be accepted into a locally-mined block.)" %} +{% assign summary_removePrunedFunds="deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds." %} {% assign summary_restGetBlock-noTxDetails="gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block. The JSON object includes TXIDs for transactions within the block rather than the complete transactions [GET block][rest get block] returns." %} {% assign summary_restGetBlock="gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block." %} {% assign summary_restGetTx="gets a hex-encoded serialized transaction or a JSON object describing the transaction. By default, Bitcoin Core only stores complete transaction data for UTXOs and your own transactions, so this method may fail on historic transactions unless you use the non-default `txindex=1` in your Bitcoin Core startup settings." %} @@ -79,9 +88,10 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_sendToAddress="spends an amount to a given address." %} {% assign summary_setAccount="puts the specified address in the given account." %} {% assign summary_setBan="attempts add or remove a IP/Subnet from the banned list." %} -{% assign summary_setGenerate="enables or disables hashing to attempt to find the next block." %} +{% assign summary_setGenerate="was removed in Bitcoin Core 0.13.0." %} {% assign summary_setTxFee="sets the transaction fee per kilobyte paid by transactions created by this wallet." %} {% assign summary_signMessage="signs a message with the private key of an address." %} +{% assign summary_signMessageWithPrivKey="signs a message with a given private key." %} {% assign summary_signRawTransaction="signs a transaction in the serialized transaction format using private keys stored in the wallet or provided in the call." %} {% assign summary_stop="safely shuts down the Bitcoin Core server." %} {% assign summary_submitBlock="accepts a block, verifies it is a valid addition to the block chain, and broadcasts it to the network. Extra parameters are ignored by Bitcoin Core but may be used by mining pools or other programs." %} diff --git a/_includes/helpers/vars.md b/_includes/helpers/vars.md index 5dd4fd92..7b054e25 100644 --- a/_includes/helpers/vars.md +++ b/_includes/helpers/vars.md @@ -12,7 +12,7 @@ http://opensource.org/licenses/MIT. - n: "{{DEPTH}}
`account`" t: "string" p: "Required
(exactly 1)" - d: "The account which the payment was credited to or debited from. May be an empty string (\"\") for the default account" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account which the payment was credited to or debited from. May be an empty string (\"\") for the default account" - n: "{{DEPTH}}
`address`" t: "string (base58)" diff --git a/_includes/references.md b/_includes/references.md index fdf11eba..cf6474cc 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -69,6 +69,7 @@ http://opensource.org/licenses/MIT. [rpc abandontransaction]: /en/developer-reference#abandontransaction [rpc addmultisigaddress]: /en/developer-reference#addmultisigaddress [rpc addnode]: /en/developer-reference#addnode +[rpc addwitnessaddress]: /en/developer-reference#addwitnessaddress [rpc backupwallet]: /en/developer-reference#backupwallet [rpc clearbanned]: /en/developer-reference#clearbanned [rpc createmultisig]: /en/developer-reference#createmultisig @@ -81,7 +82,9 @@ http://opensource.org/licenses/MIT. [rpc encryptwallet]: /en/developer-reference#encryptwallet [rpc estimatefee]: /en/developer-reference#estimatefee [rpc estimatepriority]: /en/developer-reference#estimatepriority +[rpc fundrawtransaction]: /en/developer-reference#fundrawtransaction [rpc generate]: /en/developer-reference#generate +[rpc generatetoaddress]: /en/developer-reference#generatetoaddress [rpc getaccount]: /en/developer-reference#getaccount [rpc getaccountaddress]: /en/developer-reference#getaccountaddress [rpc getaddednodeinfo]: /en/developer-reference#getaddednodeinfo @@ -100,6 +103,9 @@ http://opensource.org/licenses/MIT. [rpc getgenerate]: /en/developer-reference#getgenerate [rpc gethashespersec]: /en/developer-reference#gethashespersec [rpc getinfo]: /en/developer-reference#getinfo +[rpc getmempoolancestors]: /en/developer-reference#getmempoolancestors +[rpc getmempooldescendants]: /en/developer-reference#getmempooldescendants +[rpc getmempoolentry]: /en/developer-reference#getmempoolentry [rpc getmempoolinfo]: /en/developer-reference#getmempoolinfo [rpc getmininginfo]: /en/developer-reference#getmininginfo [rpc getnettotals]: /en/developer-reference#getnettotals @@ -122,6 +128,7 @@ http://opensource.org/licenses/MIT. [rpc help]: /en/developer-reference#help [rpc importaddress]: /en/developer-reference#importaddress [rpc importprivkey]: /en/developer-reference#importprivkey +[rpc importprunedfunds]: /en/developer-reference#importprunedfunds [rpc importwallet]: /en/developer-reference#importwallet [rpc keypoolrefill]: /en/developer-reference#keypoolrefill [rpc listaccounts]: /en/developer-reference#listaccounts @@ -137,6 +144,7 @@ http://opensource.org/licenses/MIT. [rpc move]: /en/developer-reference#move [rpc ping]: /en/developer-reference#ping-rpc [rpc prioritisetransaction]: /en/developer-reference#prioritisetransaction +[rpc removeprunedfunds]: /en/developer-reference#removeprunedfunds [rpc sendfrom]: /en/developer-reference#sendfrom [rpc sendmany]: /en/developer-reference#sendmany [rpc sendrawtransaction]: /en/developer-reference#sendrawtransaction @@ -146,6 +154,7 @@ http://opensource.org/licenses/MIT. [rpc setgenerate]: /en/developer-reference#setgenerate [rpc settxfee]: /en/developer-reference#settxfee [rpc signmessage]: /en/developer-reference#signmessage +[rpc signmessagewithprivkey]: /en/developer-reference#signmessagewithprivkey [rpc signrawtransaction]: /en/developer-reference#signrawtransaction [rpc stop]: /en/developer-reference#stop [rpc submitblock]: /en/developer-reference#submitblock diff --git a/en/developer-reference.md b/en/developer-reference.md index f2212a9f..f0a4c285 100644 --- a/en/developer-reference.md +++ b/en/developer-reference.md @@ -74,6 +74,8 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/addnode.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/addwitnessaddress.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/backupwallet.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/clearbanned.md %} @@ -98,8 +100,12 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/estimatepriority.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/generate.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/generatetoaddress.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/getaccountaddress.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/getaccount.md %} @@ -136,6 +142,12 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/getinfo.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/getmempoolancestors.md %} + +{% include devdoc/bitcoin-core/rpcs/rpcs/getmempooldescendants.md %} + +{% include devdoc/bitcoin-core/rpcs/rpcs/getmempoolentry.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/getmempoolinfo.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/getmininginfo.md %} @@ -180,6 +192,8 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/importprivkey.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/importprunedfunds.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/importwallet.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/keypoolrefill.md %} @@ -210,6 +224,8 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/prioritisetransaction.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/removeprunedfunds.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/sendfrom.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/sendmany.md %} @@ -228,6 +244,8 @@ untrusted source. {% include devdoc/bitcoin-core/rpcs/rpcs/signmessage.md %} +{% include devdoc/bitcoin-core/rpcs/rpcs/signmessagewithprivkey.md %} + {% include devdoc/bitcoin-core/rpcs/rpcs/signrawtransaction.md %} {% include devdoc/bitcoin-core/rpcs/rpcs/stop.md %} From ebdea130adfb022bbfbcc8c9867bc17198138a4f Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Fri, 9 Dec 2016 02:19:07 +0100 Subject: [PATCH 03/36] int fix --- _includes/devdoc/bitcoin-core/rpcs/rpcs/createrawtransaction.md | 2 +- _includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/createrawtransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/createrawtransaction.md index a7754188..ae64fbc9 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/createrawtransaction.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/createrawtransaction.md @@ -57,7 +57,7 @@ The `createrawtransaction` RPC {{summary_createRawTransaction}} {% itemplate ntpd1 %} - n: "Locktime" - t: "numeric" + t: "numeric (int)" p: "Optional
(0 or 1)" d: "*Added in Bitcoin Core 0.12.0*

Indicates the earliest time a transaction can be added to the block chain" diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md index 5c467b65..7007bd89 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/fundrawtransaction.md @@ -41,7 +41,7 @@ All existing inputs must have their previous output transaction be in the wallet d: "The bitcoin address to receive the change. If not set, the address is chosen from address pool" - n: "→
`changePosition`" - t: "nummeric " + t: "nummeric (int)" p: "Optional
(0 or 1)" d: "The index of the change output. If not set, the change position is randomly chosen" From 52059038ddd5f7b7d8266b21b6d05e57c994a775 Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Wed, 14 Dec 2016 05:13:44 +0100 Subject: [PATCH 04/36] Remove hover effect for subhead links --- _less/screen.less | 4 ---- 1 file changed, 4 deletions(-) diff --git a/_less/screen.less b/_less/screen.less index 48b54b10..d73d81cb 100644 --- a/_less/screen.less +++ b/_less/screen.less @@ -860,12 +860,8 @@ h1 span.fa, h2 span.fa, h3 span.fa, h4 span.fa, h5 span.fa, h6 span.fa { color:#63a4e1; } .toccontent .subhead-links{ - visibility: hidden; padding-top: 7px; } -.toccontent:hover .subhead-links{ - visibility: visible; -} .toccontent a:link.term, .toccontent a:visited.term, .toccontent:hover a.auto-link.term:link, From ef60a77e2ab2fd377064f1fe1823a3d8d1ff5efa Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Wed, 14 Dec 2016 19:37:32 +0100 Subject: [PATCH 05/36] New softfork description As suggested in #1431 --- _data/glossary/en/soft-fork.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/_data/glossary/en/soft-fork.yaml b/_data/glossary/en/soft-fork.yaml index 65c6ab82..45454fd8 100644 --- a/_data/glossary/en/soft-fork.yaml +++ b/_data/glossary/en/soft-fork.yaml @@ -7,9 +7,12 @@ required: title_max_40_characters_no_formatting: Soft Fork, Soft-Forking Change summary_max_255_characters_no_formatting: > - A temporary fork in the block chain which commonly occurs when - miners using non-upgraded nodes violate a new consensus rule - their nodes don't know about. + A softfork is a change to the bitcoin protocol + wherein only previously valid blocks/transactions + are made invalid. Since old nodes will recognise + the new blocks as valid, a softfork is backward-compatible. + This kind of fork requires only a majority of the miners + upgrading to enforce the new rules. synonyms_shown_in_glossary_capitalize_first_letter: - Soft fork From 119b864d52345f5e4f3412a484ae154047d621e3 Mon Sep 17 00:00:00 2001 From: Tim Lee Date: Sun, 25 Dec 2016 10:41:52 -0800 Subject: [PATCH 06/36] Adding ArcBit wallet --- _templates/choose-your-wallet.html | 95 +++++++++++++++++++++++++++++ _translations/en.yml | 1 + img/screenshots/arcbitdesktop.png | Bin 0 -> 17262 bytes img/screenshots/arcbitios.png | Bin 0 -> 24788 bytes img/wallet/arcbit.png | Bin 0 -> 6152 bytes 5 files changed, 96 insertions(+) create mode 100644 img/screenshots/arcbitdesktop.png create mode 100644 img/screenshots/arcbitios.png create mode 100644 img/wallet/arcbit.png diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index 2e2585a8..3829aa71 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -958,6 +958,101 @@ wallets: privacyaddressreuse: "checkpassprivacyaddressrotation" privacydisclosure: "checkfailprivacydisclosurespv" privacynetwork: "checkfailprivacynetworknosupporttor" +- arcbit: + title: "ArcBit" + titleshort: "ArcBit" + compat: "mobile desktop web android ios windows mac linux" + level: 3 + platform: + mobile: + text: "walletarcbit" + link: "https://itunes.apple.com/app/arcbit-bitcoin-wallet/id999487888" + source: "https://github.com/arcbit/arcbit-ios" + screenshot: "arcbitios.png" + os: + - ios + - android + check: + control: "checkgoodcontrolfull" + validation: "checkfailvalidationcentralized" + transparency: "checkpasstransparencyopensource" + environment: "checkpassenvironmentmobile" + privacy: "checkpassprivacybasic" + privacycheck: + privacyaddressreuse: "checkpassprivacyaddressrotation" + privacydisclosure: "checkfailprivacydisclosurecentralized" + privacynetwork: "checkfailprivacynetworknosupporttor" + desktop: + text: "walletarcbit" + link: "https://chrome.google.com/webstore/detail/arcbit-bitcoin-wallet/dkceiphcnbfahjbomhpdgjmphnpgogfk" + source: "https://github.com/arcbit/arcbit-web" + screenshot: "arcbitdesktop.png" + os: + - windows + - mac + - linux + check: + control: "checkgoodcontrolfull" + validation: "checkfailvalidationcentralized" + transparency: "checkfailtransparencyremote" + environment: "checkfailenvironmentdesktop" + privacy: "checkpassprivacybasic" + privacycheck: + privacyaddressreuse: "checkpassprivacyaddressrotation" + privacydisclosure: "checkfailprivacydisclosurecentralized" + privacynetwork: "checkpassprivacynetworksupporttorproxy" + web: + text: "walletarcbit" + link: "https://chrome.google.com/webstore/detail/arcbit-bitcoin-wallet/dkceiphcnbfahjbomhpdgjmphnpgogfk" + source: "https://github.com/arcbit/arcbit-web" + screenshot: "arcbitdesktop.png" + os: + check: + control: "checkgoodcontrolfull" + validation: "checkfailvalidationcentralized" + transparency: "checkfailtransparencyremote" + environment: "checkfailenvironmentdesktop" + privacy: "checkpassprivacybasic" + privacycheck: + privacyaddressreuse: "checkpassprivacyaddressrotation" + privacydisclosure: "checkfailprivacydisclosurecentralized" + privacynetwork: "checkpassprivacynetworksupporttorproxy" + ios: + text: "walletarcbit" + link: "https://itunes.apple.com/app/arcbit-bitcoin-wallet/id999487888" + source: "https://github.com/arcbit/arcbit-ios" + screenshot: "arcbitios.png" + os: + - android + - ios + check: + control: "checkgoodcontrolfull" + validation: "checkfailvalidationcentralized" + transparency: "checkpasstransparencyopensource" + environment: "checkpassenvironmentmobile" + privacy: "checkpassprivacybasic" + privacycheck: + privacyaddressreuse: "checkpassprivacyaddressrotation" + privacydisclosure: "checkfailprivacydisclosurecentralized" + privacynetwork: "checkfailprivacynetworknosupporttor" + android: + text: "walletarcbit" + link: "https://play.google.com/store/apps/details?id=com.arcbit.arcbit" + source: "https://github.com/arcbit/arcbit-android" + screenshot: "arcbitios.png" + os: + - android + - ios + check: + control: "checkgoodcontrolfull" + validation: "checkfailvalidationcentralized" + transparency: "checkpasstransparencyopensource" + environment: "checkpassenvironmentmobile" + privacy: "checkpassprivacybasic" + privacycheck: + privacyaddressreuse: "checkpassprivacyaddressrotation" + privacydisclosure: "checkfailprivacydisclosurecentralized" + privacynetwork: "checkfailprivacynetworknosupporttor" --- diff --git a/_translations/en.yml b/_translations/en.yml index f083039d..430572e4 100644 --- a/_translations/en.yml +++ b/_translations/en.yml @@ -197,6 +197,7 @@ en: walletgreenbits: "GreenBits is a fast and easy to use wallet. Enjoy improved security with a minimal/zero trust approach, optional hardware wallets support, multisignature based 2FA and spending limits functionality." walletcoinomi: "Coinomi is a lightweight, secure, open-source, universal, HD Wallet. Apart from Bitcoin it also supports many altcoins so you can keep all your funds in a single wallet. Your private keys never leave your device and you only need to back it up just once!" walletsimplebitcoinwallet: "Simple and reliable Bitcoin wallet. Secure, standalone and easy to use." + walletarcbit: "ArcBit is designed to be simple and easy to use, while giving users full control over their money. It offers an optional cold wallet storage feature with the ability to authorize payments offline for enhanced security." walletdownload: "Install" walletvisit: "Visit website" walletsourcecode: "Source code" diff --git a/img/screenshots/arcbitdesktop.png b/img/screenshots/arcbitdesktop.png new file mode 100644 index 0000000000000000000000000000000000000000..8625c0e4c7d69f049b344ba315c425903a01c8ce GIT binary patch literal 17262 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 literal 0 HcmV?d00001 diff --git a/img/wallet/arcbit.png b/img/wallet/arcbit.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed9f08bdb0ad8bd2b9ec40014ee177197b908b7 GIT binary patch literal 6152 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 literal 0 HcmV?d00001 From abd307d15bb9cf0f9f42c4bf900a8c78c98ab6a7 Mon Sep 17 00:00:00 2001 From: Tim Lee Date: Tue, 27 Dec 2016 17:59:22 -0800 Subject: [PATCH 07/36] Remove ArcBit web in choose your wallet --- _templates/choose-your-wallet.html | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index 3829aa71..ccf8ec66 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -1001,22 +1001,6 @@ wallets: privacyaddressreuse: "checkpassprivacyaddressrotation" privacydisclosure: "checkfailprivacydisclosurecentralized" privacynetwork: "checkpassprivacynetworksupporttorproxy" - web: - text: "walletarcbit" - link: "https://chrome.google.com/webstore/detail/arcbit-bitcoin-wallet/dkceiphcnbfahjbomhpdgjmphnpgogfk" - source: "https://github.com/arcbit/arcbit-web" - screenshot: "arcbitdesktop.png" - os: - check: - control: "checkgoodcontrolfull" - validation: "checkfailvalidationcentralized" - transparency: "checkfailtransparencyremote" - environment: "checkfailenvironmentdesktop" - privacy: "checkpassprivacybasic" - privacycheck: - privacyaddressreuse: "checkpassprivacyaddressrotation" - privacydisclosure: "checkfailprivacydisclosurecentralized" - privacynetwork: "checkpassprivacynetworksupporttorproxy" ios: text: "walletarcbit" link: "https://itunes.apple.com/app/arcbit-bitcoin-wallet/id999487888" From 6f4d5c244a3e31488d91ce77ca63273880dfe6e7 Mon Sep 17 00:00:00 2001 From: Tim Lee Date: Tue, 27 Dec 2016 18:34:18 -0800 Subject: [PATCH 08/36] Remove ArcBit web icon in choose your wallet --- _templates/choose-your-wallet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index ccf8ec66..77b746e9 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -961,7 +961,7 @@ wallets: - arcbit: title: "ArcBit" titleshort: "ArcBit" - compat: "mobile desktop web android ios windows mac linux" + compat: "mobile desktop android ios windows mac linux" level: 3 platform: mobile: From 61822fd8f1d55dea2a98ad037d2082ac9515f46e Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Wed, 14 Dec 2016 23:16:08 +0100 Subject: [PATCH 09/36] Added local news sites and BitcoinAverage --- _templates/resources.html | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/_templates/resources.html b/_templates/resources.html index 5fe27c45..89df8a20 100644 --- a/_templates/resources.html +++ b/_templates/resources.html @@ -32,11 +32,18 @@ id: resources

Icon{% translate news %}

- {% if page.lang == 'fr' %}

Le Coin Coin

{% endif %} - {% if page.lang == 'fr' %}

Bitcoin.fr

{% endif %} {% if page.lang == 'bg' %}

Hash.bg

{% endif %} - {% if page.lang == 'ru' %}

Bit•Новости

-

CoinSpot

{% endif %} + {% if page.lang == 'de' %}

BitcoinBlog.de

{% endif %} + {% if page.lang == 'fr' %} +

Le Coin Coin

+

Bitcoin.fr

+ {% endif %} + {% if page.lang == 'pl' %}

Satoshi.pl

{% endif %} + {% if page.lang == 'ru' %} +

Bit•Новости

+

Bits Media

+

CoinSpot

+ {% endif %}

{% translate linkcointelegraph %}

CoinDesk

Bitcoin Magazine

@@ -45,10 +52,11 @@ id: resources
From 0336c04d5db888db8fefa837170c83e133d5e82c Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Thu, 5 Jan 2017 22:19:59 +0100 Subject: [PATCH 10/36] Community sites update --- _templates/community.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_templates/community.html b/_templates/community.html index 67e08274..976b3336 100644 --- a/_templates/community.html +++ b/_templates/community.html @@ -14,10 +14,11 @@ id: community

Icon{% translate forums %}

{% if page.lang == 'bg' %}

BitcoinBG.eu

{% endif %} {% if page.lang == 'bg' %}

Hash.bg

{% endif %} + {% if page.lang == 'de' %}

CoinForum.de

{% endif %} {% if page.lang == 'es' %}

Foro de Bitcoin en Español

{% endif %} - {% if page.lang == 'pl' %}

Polski portal bitcoin.pl

{% endif %} - {% if page.lang == 'ro' %}

Forumul comunitatii Bitcoin Romania

{% endif %} {% if page.lang == 'fr' %}

Forum CryptoFR

{% endif %} + {% if page.lang == 'pl' %}

Polski portal bitcoin.pl

{% endif %} + {% if page.lang == 'ru' %}

Bits Media

{% endif %}

{% translate bitcointalk %}

{% if page.lang == 'fr' %}

Communauté Bitcoin sur Reddit

{% endif %}

{% translate reddit %}

From 1f57f1cd53b0303fdb5f4089c090a5e208273b3f Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 10:16:06 +0100 Subject: [PATCH 11/36] Update getBlock call --- .../devdoc/bitcoin-core/rpcs/quick-ref.md | 2 +- .../devdoc/bitcoin-core/rpcs/rpcs/getblock.md | 80 ++++++++++++------- 2 files changed, 53 insertions(+), 29 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md index c81f3d96..3bca59e6 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md +++ b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md @@ -56,7 +56,7 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% autocrossref %} * [GetBestBlockHash][rpc getbestblockhash]: {{summary_getBestBlockHash}} -* [GetBlock][rpc getblock]: {{summary_getBlock}} +* [GetBlock][rpc getblock]: {{summary_getBlock}} {{UPDATED0_13_0}} * [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{UPDATED0_12_1}} * [GetBlockCount][rpc getblockcount]: {{summary_getBlockCount}} * [GetBlockHash][rpc getblockhash]: {{summary_getBlockHash}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getblock.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getblock.md index dd1c73d6..50510dfb 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getblock.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getblock.md @@ -66,6 +66,16 @@ The `getblock` RPC {{summary_getBlock}} p: "Required
(exactly 1)" d: "The size of this block in serialized block format, counted in bytes" +- n: "→
`strippedsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The size of this block in serialized block format excluding witness data, counted in bytes" + +- n: "→
`weight`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

This block's weight as defined in BIP141" + - n: "→
`height`" t: "number (int)" p: "Required
(exactly 1)" @@ -76,6 +86,11 @@ The `getblock` RPC {{summary_getBlock}} p: "Required
(exactly 1)" d: "This block's version number. See [block version numbers][section block versions]" +- n: "→
`versionHex`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

This block's version formatted in hexadecimal" + - n: "→
`merkleroot`" t: "string (hex)" p: "Required
(exactly 1)" @@ -96,6 +111,11 @@ The `getblock` RPC {{summary_getBlock}} p: "Required
(exactly 1)" d: "The value of the *time* field in the block header, indicating approximately when the block was created" +- n: "→
`mediantime`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The median block time in Unix epoch time" + - n: "→
`nonce`" t: "number (int)" p: "Required
(exactly 1)" @@ -128,55 +148,59 @@ The `getblock` RPC {{summary_getBlock}} {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Get a block in raw hex: {% highlight bash %} -bitcoin-cli -testnet getblock \ - 000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39 \ +bitcoin-cli getblock \ + 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 \ false {% endhighlight %} Result (wrapped): {% highlight text %} -02000000df11c014a8d798395b5059c722ebdf3171a4217ead71bf6e0e99f4c7\ -000000004a6f6a2db225c81e77773f6f0457bcb05865a94900ed11356d0b7522\ -8efb38c7785d6053ffff001d005d437001010000000100000000000000000000\ -00000000000000000000000000000000000000000000ffffffff0d03b4770301\ -64062f503253482fffffffff0100f9029500000000232103adb7d8ef6b63de74\ -313e0cd4e07670d09a169b13e4eda2d650f529332c47646dac00000000 +010000006fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900\ +00000000982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e8\ +57233e0e61bc6649ffff001d01e3629901010000000100000000000000000000\ +00000000000000000000000000000000000000000000ffffffff0704ffff001d\ +0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec1\ +1600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781\ +e62294721166bf621e73a82cbf2342c858eeac00000000 {% endhighlight %} Get the same block in JSON: {% highlight bash %} -bitcoin-cli -testnet getblock \ - 000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39 \ - true +bitcoin-cli getblock \ + 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 {% endhighlight %} Result: {% highlight json %} { - "hash" : "000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39", - "confirmations" : 88029, - "size" : 189, - "height" : 227252, - "version" : 2, - "merkleroot" : "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a", - "tx" : [ - "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a" - ], - "time" : 1398824312, - "nonce" : 1883462912, - "bits" : "1d00ffff", - "difficulty" : 1.00000000, - "chainwork" : "000000000000000000000000000000000000000000000000083ada4a4009841a", - "previousblockhash" : "00000000c7f4990e6ebf71ad7e21a47131dfeb22c759505b3998d7a814c011df", - "nextblockhash" : "00000000afe1928529ac766f1237657819a11cfcc8ca6d67f119e868ed5b6188" + "hash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048", + "confirmations": 447014, + "strippedsize": 215, + "size": 215, + "weight": 860, + "height": 1, + "version": 1, + "versionHex": "00000001", + "merkleroot": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", + "tx": [ + "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098" + ], + "time": 1231469665, + "mediantime": 1231469665, + "nonce": 2573394689, + "bits": "1d00ffff", + "difficulty": 1, + "chainwork": "0000000000000000000000000000000000000000000000000000000200020002", + "previousblockhash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", + "nextblockhash": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd" } {% endhighlight %} From 7d1998572a11622871de7fd870a68fb232ed7b90 Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 11:10:45 +0100 Subject: [PATCH 12/36] OP Codes --- _config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 1772b3b8..aa499df2 100644 --- a/_config.yml +++ b/_config.yml @@ -440,6 +440,9 @@ devsearches: - "OP_CHECKSIGVERIFY": "https://en.bitcoin.it/wiki/Script#Crypto" - "OP_CHECKMULTISIG": "https://en.bitcoin.it/wiki/Script#Crypto" - "OP_CHECKMULTISIGVERIFY": "https://en.bitcoin.it/wiki/Script#Crypto" + + - "OP_CHECKLOCKTIMEVERIFY": "https://en.bitcoin.it/wiki/Script#Locktime" + - "OP_CHECKSEQUENCEVERIFY ": "https://en.bitcoin.it/wiki/Script#Locktime" - "OP_PUBKEYHASH (invalid)": "https://en.bitcoin.it/wiki/Script#Pseudo-words" - "OP_PUBKEY (invalid)": "https://en.bitcoin.it/wiki/Script#Pseudo-words" @@ -452,8 +455,6 @@ devsearches: - "OP_RESERVED1 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - "OP_RESERVED2 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - "OP_NOP1 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - - "OP_NOP2 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - - "OP_NOP3 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - "OP_NOP4 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - "OP_NOP5 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" - "OP_NOP6 (reserved)": "https://en.bitcoin.it/wiki/Script#Reserved_words" From 1a6d45cc4fffc43ae95140c53d29d06fb9e320b0 Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 11:11:48 +0100 Subject: [PATCH 13/36] BIPs --- _config.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index aa499df2..f5a8ae71 100644 --- a/_config.yml +++ b/_config.yml @@ -467,6 +467,7 @@ devsearches: ## and focused on likely keywords "BIPs": - "BIP1: BIP purpose and guidelines": "https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki" + - "BIP9: soft fork mechanism": "https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki" - "BIP11: m-of-n multisig transactions": "https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki" - "BIP13: P2SH address format": "https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki" - "BIP14: protocol version and user agent": "https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki" @@ -495,7 +496,16 @@ devsearches: - "BIP71: payment protocol MIME types": "https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki" - "BIP72: payment protocol URIs": "https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki" - "BIP73: accept header with payment protocol": "https://github.com/bitcoin/bips/blob/master/bip-0073.mediawiki" - + - "BIP111: NODE_BLOOM service bit": "https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki" + - "BIP112: OP_CHECKSEQUENCEVERIFY": "https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki" + - "BIP113: median time for lock-time": "https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki" + - "BIP125: replace-by-fee signaling": "https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki" + - "BIP130: sendheaders message": "https://github.com/bitcoin/bips/blob/master/bip-0130.mediawiki" + - "BIP133: feefilter message": "https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki" + - "BIP141: segregated witness": "https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki" + - "BIP151: P2P communication encryption": "https://github.com/bitcoin/bips/blob/master/bip-0151.mediawiki" + - "BIP152: compact block relay": "https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki" + ## Bitcoin P2P Protocol messages documented on Bitcoin.org "P2P Messages": - "addr": "/en/developer-reference#addr" From e124bf1444f506cecff08fe471a5eb0b8512008d Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 11:24:11 +0100 Subject: [PATCH 14/36] REST calls --- _config.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index f5a8ae71..7a0f4cb6 100644 --- a/_config.yml +++ b/_config.yml @@ -336,6 +336,17 @@ devsearches: - 'WalletPassphrase': "/en/developer-reference#walletpassphrase" - 'WalletPassphraseChange': "/en/developer-reference#walletpassphrasechange" + ## REST calls currently documented on Bitcoin.org. CamelCase names (with + ## leading capital) for easier quick scanning + "REST": + - 'GetBlock': "/en/developer-reference#get-block" + - 'GetBlock-noTxDetails': "/en/developer-reference#get-blocknotxdetails" + - 'GetChainInfo': "/en/developer-reference#get-chaininfo" + - 'GetUtxos': "/en/developer-reference#get-getutxos" + - 'GetHeaders': "/en/developer-reference#get-headers" + - 'GetMemPool-contents': "/en/developer-reference#get-mempoolcontents" + - 'GetMemPool-info': "/en/developer-reference#get-mempoolinfo" + ## Opcodes currently implemented in Bitcoin Core master branch. After ## we document them on Bitcoin.org, these links will be updated "Opcodes": @@ -440,7 +451,7 @@ devsearches: - "OP_CHECKSIGVERIFY": "https://en.bitcoin.it/wiki/Script#Crypto" - "OP_CHECKMULTISIG": "https://en.bitcoin.it/wiki/Script#Crypto" - "OP_CHECKMULTISIGVERIFY": "https://en.bitcoin.it/wiki/Script#Crypto" - + - "OP_CHECKLOCKTIMEVERIFY": "https://en.bitcoin.it/wiki/Script#Locktime" - "OP_CHECKSEQUENCEVERIFY ": "https://en.bitcoin.it/wiki/Script#Locktime" @@ -505,7 +516,7 @@ devsearches: - "BIP141: segregated witness": "https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki" - "BIP151: P2P communication encryption": "https://github.com/bitcoin/bips/blob/master/bip-0151.mediawiki" - "BIP152: compact block relay": "https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki" - + ## Bitcoin P2P Protocol messages documented on Bitcoin.org "P2P Messages": - "addr": "/en/developer-reference#addr" From 10b8a96d6e7696264f8e24bcbbcd73e0401890ac Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 11:58:03 +0100 Subject: [PATCH 15/36] getRawMempool fix --- _includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md index fe799f04..319ee314 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawmempool.md @@ -64,7 +64,7 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} - n: "→ →
`modifiedfee`" t: "number (bitcoins)" p: "Required
(exactly 1)" - d: "The transaction fee with fee deltas used for mining priority in decimal bitcoins" + d: "*Added in Bitcoin Core 0.12.0*

The transaction fee with fee deltas used for mining priority in decimal bitcoins" - n: "→ →
`time`" t: "number (int)" @@ -148,7 +148,7 @@ Result: Verbose output (`true`): {% highlight bash %} -bitcoin-cli -testnet getrawmempool true +bitcoin-cli getrawmempool true {% endhighlight %} Result: From ee9e14c784a482e60218d1e2174fd81a9df38b9a Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 12:51:08 +0100 Subject: [PATCH 16/36] Validateaddress update --- .../devdoc/bitcoin-core/rpcs/quick-ref.md | 2 +- .../bitcoin-core/rpcs/rpcs/validateaddress.md | 40 +++++++++++++------ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md index 3bca59e6..8ddf0ccd 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md +++ b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md @@ -158,7 +158,7 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. * [CreateMultiSig][rpc createmultisig]: {{summary_createMultiSig}} * [EstimateFee][rpc estimatefee]: {{summary_estimateFee}} {{NEW0_10_0}} * [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} {{NEW0_10_0}}, {{DEPRECATED}} -* [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} +* [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} {{UPDATED0_13_0}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/validateaddress.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/validateaddress.md index 461e5b67..e2c65e53 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/validateaddress.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/validateaddress.md @@ -39,8 +39,13 @@ The `validateaddress` RPC {{summary_validateAddress}} - n: "→
`address`" t: "string (base58)" p: "Optional
(0 or 1)" - d: "If the address is valid, this is the address " + d: "The bitcoin address given as parameter" +- n: "→
`scriptPubKey`" + t: "string (hex)" + p: "Optional
(0 or 1)" + d: "The hex encoded scriptPubKey generated by the address" + - n: "→
`ismine`" t: "bool" p: "Optional
(0 or 1)" @@ -94,30 +99,41 @@ The `validateaddress` RPC {{summary_validateAddress}} - n: "→
`account`" t: "string" p: "Optional
(0 or 1)" - d: "The account this address belong to. May be an empty string for the default account. Only returned if the address belongs to the wallet" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account this address belong to. May be an empty string for the default account. Only returned if the address belongs to the wallet" +- n: "→
`hdkeypath`" + t: "string" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.13.0*

The HD keypath if the key is HD and available" + +- n: "→
`hdmasterkeyid`" + t: "string (hash160)" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.13.0*

The Hash160 of the HD master public key" + {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Validate the following P2PKH address from the wallet: {% highlight bash %} -bitcoin-cli -testnet validateaddress mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe +bitcoin-cli validateaddress 17fshh33qUze2yifiJ2sXgijSMzJ2KNEwu {% endhighlight %} Result: {% highlight json %} { - "isvalid" : true, - "address" : "mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe", - "ismine" : true, - "iswatchonly" : false, - "isscript" : false, - "pubkey" : "03bacb84c6464a58b3e0a53cc0ba4cb3b82848cd7bed25a7724b3cc75d76c9c1ba", - "iscompressed" : true, - "account" : "test label" + "isvalid": true, + "address": "17fshh33qUze2yifiJ2sXgijSMzJ2KNEwu", + "scriptPubKey": "76a914492ae280d70af33acf0ae7cd329b961e65e9cbd888ac", + "ismine": true, + "iswatchonly": false, + "isscript": false, + "pubkey": "0312eeb9ae5f14c3cf43cece11134af860c2ef7d775060e3a578ceec888acada31", + "iscompressed": true, + "account": "Test" } {% endhighlight %} From 9c9edae6f644e3822f18b39e6245415bef6ebe9d Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Sat, 7 Jan 2017 19:47:48 +0100 Subject: [PATCH 17/36] update transaction calls (blockindex, witness) --- .../devdoc/bitcoin-core/rpcs/quick-ref.md | 4 +- .../rpcs/rpcs/decoderawtransaction.md | 88 +++++--------- .../rpcs/rpcs/getrawtransaction.md | 109 +++++++----------- .../bitcoin-core/rpcs/rpcs/gettransaction.md | 9 +- .../rpcs/rpcs/listtransactions.md | 4 +- _includes/helpers/vars.md | 26 ++++- 6 files changed, 110 insertions(+), 130 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md index 8ddf0ccd..7ced5b70 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md +++ b/_includes/devdoc/bitcoin-core/rpcs/quick-ref.md @@ -141,9 +141,9 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{UPDATED0_12_0}} * [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{NEW0_12_0}}, {{UPDATED0_13_0}} -* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} +* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} {{UPDATED0_13_0}} * [DecodeScript][rpc decodescript]: {{summary_decodeScript}} -* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} +* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{UPDATED0_13_0}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/decoderawtransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/decoderawtransaction.md index 816fab99..0a71ca4b 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/decoderawtransaction.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/decoderawtransaction.md @@ -34,77 +34,53 @@ The `decoderawtransaction` RPC {{summary_decodeRawTransaction}} {{INCLUDE_DECODE_RAW_TRANSACTION}} {% enditemplate %} -*Example from Bitcoin Core 0.10.0* +*Example from Bitcoin Core 0.13.1* Decode a signed one-input, three-output transaction: {% highlight bash %} -bitcoin-cli -testnet decoderawtransaction 0100000001268a9ad7bfb2\ -1d3c086f0ff28f73a064964aa069ebb69a9e437da85c7e55c7d7000000006b48\ -3045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560f\ -eb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd4\ -5a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b\ -3118f3db16cbbcf8f326ffffffff0350ac6002000000001976a91456847befbd\ -2360df0e35b4e3b77bae48585ae06888ac80969800000000001976a9142b1495\ -0b8d31620c6cc923c5408a701b1ec0a02088ac002d3101000000001976a9140d\ -fc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000 +bitcoin-cli decoderawtransaction 0100000001bafe2175b9d7b3041ebac\ +529056b393cf2997f7964485aa382ffa449ffdac02a000000008a47304402201\ +3d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00\ +220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39\ +e9b01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815\ +b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08\ +ffb10d4b8ffffffff01b0a86a00000000001976a91401b81d5fa1e55e069e3cc\ +2db9c19e2e80358f30688ac00000000 {% endhighlight %} Result: {% highlight json %} { - "txid" : "ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e", - "version" : 1, - "locktime" : 0, - "vin" : [ + "txid": "52309405287e737cf412fc42883d65a392ab950869fae80b2a5f1e33326aca46", + "hash": "52309405287e737cf412fc42883d65a392ab950869fae80b2a5f1e33326aca46", + "size": 223, + "vsize": 223, + "version": 1, + "locktime": 0, + "vin": [ { - "txid" : "d7c7557e5ca87d439e9ab6eb69a04a9664a0738ff20f6f083c1db2bfd79a8a26", - "vout" : 0, - "scriptSig" : { - "asm" : "3045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc001 03a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326", - "hex" : "483045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326" + "txid": "2ac0daff49a4ff82a35a4864797f99f23c396b0529c5ba1e04b3d7b97521feba", + "vout": 0, + "scriptSig": { + "asm": "3044022013d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39e9b[ALL] 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", + "hex": "473044022013d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39e9b01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8" }, - "sequence" : 4294967295 + "sequence": 4294967295 } ], - "vout" : [ + "vout": [ { - "value" : 0.39890000, - "n" : 0, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 56847befbd2360df0e35b4e3b77bae48585ae068 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a91456847befbd2360df0e35b4e3b77bae48585ae06888ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "moQR7i8XM4rSGoNwEsw3h4YEuduuP6mxw7" - ] - } - }, - { - "value" : 0.10000000, - "n" : 1, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 2b14950b8d31620c6cc923c5408a701b1ec0a020 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN" - ] - } - }, - { - "value" : 0.20000000, - "n" : 2, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 0dfc8bafc8419853b34d5e072ad37d1a5159f584 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe" + "value": 0.06990000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 01b81d5fa1e55e069e3cc2db9c19e2e80358f306 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91401b81d5fa1e55e069e3cc2db9c19e2e80358f30688ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "1A6Ei5cRfDJ8jjhwxfzLJph8B9ZEthR9Z" ] } } diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawtransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawtransaction.md index a19bc7ff..1651f35c 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawtransaction.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/getrawtransaction.md @@ -1,4 +1,4 @@ -{% comment %} +{% comment %} This file is licensed under the MIT License (MIT) available on http://opensource.org/licenses/MIT. {% endcomment %} @@ -63,6 +63,10 @@ The `getrawtransaction` RPC {{summary_getRawTransaction}} p: "Required
(exactly 1)" d: "If the transaction was found, this will be an object describing it" +- n: "{{DEPTH}} →
`hex`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The serialized, hex-encoded data for the provided `txid`" {{INCLUDE_DECODE_RAW_TRANSACTION}} - n: "→
`blockhash`" t: "string (hex)" @@ -86,33 +90,31 @@ The `getrawtransaction` RPC {{summary_getRawTransaction}} {% enditemplate %} -*Examples from Bitcoin Core 0.10.0* +*Examples from Bitcoin Core 0.13.1* A transaction in serialized transaction format: {% highlight bash %} -bitcoin-cli -testnet getrawtransaction \ - ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e +bitcoin-cli getrawtransaction \ + 52309405287e737cf412fc42883d65a392ab950869fae80b2a5f1e33326aca46 {% endhighlight %} Result (wrapped): {% highlight text %} -0100000001268a9ad7bfb21d3c086f0ff28f73a064964aa069ebb69a9e437da8\ -5c7e55c7d7000000006b483045022100ee69171016b7dd218491faf6e13f53d4\ -0d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed28\ -8d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc\ -8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326ffffffff0350ac60020000\ -00001976a91456847befbd2360df0e35b4e3b77bae48585ae06888ac80969800\ -000000001976a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac002d\ -3101000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac\ -00000000 +0100000001bafe2175b9d7b3041ebac529056b393cf2997f7964485aa382ffa4\ +49ffdac02a000000008a473044022013d212c22f0b46bb33106d148493b9a972\ +3adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45\ +c294667fc4dc526627a7463eb23ab39e9b01410479be667ef9dcbbac55a06295\ +ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc\ +0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01b0a86a00000000\ +001976a91401b81d5fa1e55e069e3cc2db9c19e2e80358f30688ac00000000 {% endhighlight %} Get the same transaction in JSON: {% highlight bash %} -bitcoin-cli -testnet getrawtransaction \ +bitcoin-cli getrawtransaction \ ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e \ 1 {% endhighlight %} @@ -121,66 +123,43 @@ Result: {% highlight json %} { - "hex" : "0100000001268a9ad7bfb21d3c086f0ff28f73a064964aa069ebb69a9e437da85c7e55c7d7000000006b483045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326ffffffff0350ac6002000000001976a91456847befbd2360df0e35b4e3b77bae48585ae06888ac80969800000000001976a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac002d3101000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000", - "txid" : "ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e", - "version" : 1, - "locktime" : 0, - "vin" : [ + "hex": "0100000001bafe2175b9d7b3041ebac529056b393cf2997f7964485aa382ffa449ffdac02a000000008a473044022013d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39e9b01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01b0a86a00000000001976a91401b81d5fa1e55e069e3cc2db9c19e2e80358f30688ac00000000", + "txid": "52309405287e737cf412fc42883d65a392ab950869fae80b2a5f1e33326aca46", + "hash": "52309405287e737cf412fc42883d65a392ab950869fae80b2a5f1e33326aca46", + "size": 223, + "vsize": 223, + "version": 1, + "locktime": 0, + "vin": [ { - "txid" : "d7c7557e5ca87d439e9ab6eb69a04a9664a0738ff20f6f083c1db2bfd79a8a26", - "vout" : 0, - "scriptSig" : { - "asm" : "3045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc001 03a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326", - "hex" : "483045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326" + "txid": "2ac0daff49a4ff82a35a4864797f99f23c396b0529c5ba1e04b3d7b97521feba", + "vout": 0, + "scriptSig": { + "asm": "3044022013d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39e9b[ALL] 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", + "hex": "473044022013d212c22f0b46bb33106d148493b9a9723adb2c3dd3a3ebe3a9c9e3b95d8cb00220461661710202fbab550f973068af45c294667fc4dc526627a7463eb23ab39e9b01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8" }, - "sequence" : 4294967295 + "sequence": 4294967295 } ], - "vout" : [ + "vout": [ { - "value" : 0.39890000, - "n" : 0, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 56847befbd2360df0e35b4e3b77bae48585ae068 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a91456847befbd2360df0e35b4e3b77bae48585ae06888ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "moQR7i8XM4rSGoNwEsw3h4YEuduuP6mxw7" - ] - } - }, - { - "value" : 0.10000000, - "n" : 1, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 2b14950b8d31620c6cc923c5408a701b1ec0a020 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN" - ] - } - }, - { - "value" : 0.20000000, - "n" : 2, - "scriptPubKey" : { - "asm" : "OP_DUP OP_HASH160 0dfc8bafc8419853b34d5e072ad37d1a5159f584 OP_EQUALVERIFY OP_CHECKSIG", - "hex" : "76a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac", - "reqSigs" : 1, - "type" : "pubkeyhash", - "addresses" : [ - "mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe" + "value": 0.06990000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 01b81d5fa1e55e069e3cc2db9c19e2e80358f306 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91401b81d5fa1e55e069e3cc2db9c19e2e80358f30688ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "1A6Ei5cRfDJ8jjhwxfzLJph8B9ZEthR9Z" ] } } ], - "blockhash" : "00000000103e0091b7d27e5dc744a305108f0c752be249893c749e19c1c82317", - "confirmations" : 88192, - "time" : 1398734825, - "blocktime" : 1398734825 + "blockhash": "0000000000000000015955e197fc362502a32f76290e5b5e5be822f9f161b3f3", + "confirmations": 374, + "time": 1483591778, + "blocktime": 1483591778 } {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/gettransaction.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/gettransaction.md index 476df9f4..a6e0aa0f 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/gettransaction.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/gettransaction.md @@ -89,8 +89,13 @@ The `gettransaction` RPC {{summary_getTransaction}} - n: "→ →
`fee`" t: "number (bitcoins)" p: "Optional
(0 or 1)" - d: "If sending payment, the fee paid as a negative bitcoins value. May be `0`. Not returned if receiving payment" + d: "If sending payment, the fee paid as a negative bitcoins value. May be `0`. Not returned if receiving payment" +- n: "→ →
`abandoned`" + t: "bool" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.12.1*

Indicates if a transaction is was abandoned:
• `true` if it was abandoned (inputs are respendable)
• `false` if it was not abandoned
Only returned by *send* category payments" + - n: "→
`hex`" t: "string (hex)" p: "Required
(exactly 1)" @@ -98,7 +103,7 @@ The `gettransaction` RPC {{summary_getTransaction}} {% enditemplate %} -*Example from Bitcoin Core 0.12.1* +*Example from Bitcoin Core 0.13.1* {% highlight bash %} bitcoin-cli -testnet gettransaction \ diff --git a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md index d2a07259..0394ec39 100644 --- a/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md +++ b/_includes/devdoc/bitcoin-core/rpcs/rpcs/listtransactions.md @@ -65,7 +65,7 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "→ →
`account`" t: "string" p: "Required
(exactly 1)" - d: "The account which the payment was credited to or debited from. May be an empty string (\"\") for the default account" + d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account which the payment was credited to or debited from. May be an empty string (\"\") for the default account" - n: "→ →
`address`" t: "string (base58)" @@ -120,7 +120,7 @@ The `listtransactions` RPC {{summary_listTransactions}} - n: "→ →
`blockindex`" t: "number (int)" p: "Optional
(0 or 1)" - d: "The block height of the block on the local best block chain which includes this transaction. Only returned for confirmed transactions" + d: "The index of the transaction in the block that includes it. Only returned for confirmed transactions" - n: "→ →
`blocktime`" t: "number (int)" diff --git a/_includes/helpers/vars.md b/_includes/helpers/vars.md index 7b054e25..3278df11 100644 --- a/_includes/helpers/vars.md +++ b/_includes/helpers/vars.md @@ -56,17 +56,17 @@ http://opensource.org/licenses/MIT. - n: "{{DEPTH}}
`blockhash`" t: "string (hex)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order" + d: "The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order. Only returned for confirmed transactions" - n: "{{DEPTH}}
`blockindex`" t: "number (int)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The block height of the block on the local best block chain which includes this transaction" + d: "The index of the transaction in the block that includes it. Only returned for confirmed transactions" - n: "{{DEPTH}}
`blocktime`" t: "number (int)" p: "Optional
(0 or 1)" - d: "Only returned for confirmed transactions. The block header time (Unix epoch time) of the block on the local best block chain which includes this transaction" + d: "The block header time (Unix epoch time) of the block on the local best block chain which includes this transaction. Only returned for confirmed transactions" - n: "{{DEPTH}}
`txid`" t: "string (hex)" @@ -131,6 +131,21 @@ bitcoins even if this parameter is set to `1` or higher.{% endcapture %} p: "Required
(exactly 1)" d: "The transaction's TXID encoded as hex in RPC byte order" +- n: "{{DEPTH}} →
`hash`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The transaction hash. Differs from txid for witness transactions" + +- n: "{{DEPTH}} →
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The serialized transaction size" + +- n: "{{DEPTH}} →
`vsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The virtual transaction size. Differs from size for witness transactions" + - n: "{{DEPTH}} →
`version`" t: "number (int)" p: "Required
(exactly 1)" @@ -186,6 +201,11 @@ bitcoins even if this parameter is set to `1` or higher.{% endcapture %} p: "Required
(exactly 1)" d: "The input sequence number" +- n: "{{DEPTH}} → → →
`txinwitness`" + t: "string : array" + p: "Optional
(0 or 1)" + d: "*Added in Bitcoin Core 0.13.0*

Hex-encoded witness data. Only for segregated witness transactions" + - n: "{{DEPTH}} →
`vout`" t: "array" p: "Required
(exactly 1)" From c487ab28654459e307134780e6cbccab6fc0e3ba Mon Sep 17 00:00:00 2001 From: Michele Colombo Date: Tue, 24 Jan 2017 17:40:04 +0100 Subject: [PATCH 18/36] Add The Rock Trading --- _templates/exchanges.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index d5520523..b782e001 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -27,6 +27,7 @@ id: exchanges Kraken
Local Bitcoins
Xapo + The Rock Trading

From 7e8995435abcd4bf665260243e06e386aec513dd Mon Sep 17 00:00:00 2001 From: brollymook Date: Fri, 27 Jan 2017 10:12:21 +0000 Subject: [PATCH 19/36] added CoinCorner UK Bitcoin Exchange --- _templates/exchanges.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index d5520523..6ab58f5d 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -150,7 +150,8 @@ id: exchanges

United Kingdom flagUnited Kingdom

Bittylicious
- Coinfloor + Coinfloor
+ CoinCorner

From f46b2c082c5db9a4834138fb2e34838ea71f03ed Mon Sep 17 00:00:00 2001 From: vivek0 Date: Mon, 6 Feb 2017 13:45:16 +0530 Subject: [PATCH 20/36] Updated exchanges.html Added Indian exchanges --- _templates/exchanges.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index d7df5559..47397e02 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -86,7 +86,10 @@ id: exchanges From e4a5f5d37d49194b2c36969d7a7f311a4024e636 Mon Sep 17 00:00:00 2001 From: Ofir Beigel Date: Mon, 6 Feb 2017 12:59:34 +0200 Subject: [PATCH 21/36] Updated resources.html Added an up to date list of companies accepting Bitcoin as payment. --- _templates/resources.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_templates/resources.html b/_templates/resources.html index f73a2ced..3a456e28 100644 --- a/_templates/resources.html +++ b/_templates/resources.html @@ -25,6 +25,7 @@ id: resources

{% translate linkwallets %} - bitcoin.org

{% translate linkmerchants %} - coinmap.org

{% translate linkmerchants %} - airbitz.co

+

{% translate linkmerchants %} - 99Bitcoins.com

{% translate linkmerchants %} - usebitcoins.info

{% translate linkexchanges %} - buybitcoinworldwide.com

{% translate linkmerchantstools %} - en.bitcoin.it

@@ -65,4 +66,4 @@ id: resources

Opendime

- \ No newline at end of file + From 11efb30de66371cd4b6b4af1241958c5de38ee61 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 7 Feb 2017 23:25:13 +0100 Subject: [PATCH 22/36] update info about TREZOR hardware wallet --- _templates/choose-your-wallet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index c7dff4e5..52b8bb9f 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -412,7 +412,7 @@ wallets: check: control: "checkgoodcontrolfull" validation: "checkneutralvalidationvariable" - transparency: "checkfailtransparencynew" + transparency: "checkgoodtransparencydeterministic" environment: "checkgoodenvironmenthardware" privacy: "checkneutralprivacyvariable" - ledgernano: From 3a22c0eeb4c96dbff37794508549165b7addd2b3 Mon Sep 17 00:00:00 2001 From: Tim Lee Date: Tue, 7 Feb 2017 20:07:25 -0800 Subject: [PATCH 23/36] Fix os type field --- _templates/choose-your-wallet.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index 77b746e9..ba254b06 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -1007,7 +1007,6 @@ wallets: source: "https://github.com/arcbit/arcbit-ios" screenshot: "arcbitios.png" os: - - android - ios check: control: "checkgoodcontrolfull" @@ -1026,7 +1025,6 @@ wallets: screenshot: "arcbitios.png" os: - android - - ios check: control: "checkgoodcontrolfull" validation: "checkfailvalidationcentralized" From 51ef12e99baa7354c5abafdd15d3dddf88c176fe Mon Sep 17 00:00:00 2001 From: vivek0 Date: Wed, 8 Feb 2017 18:21:16 +0530 Subject: [PATCH 24/36] Update exchange.html Added Indian exchanges. --- _templates/exchanges.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index 47397e02..2af7208c 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -86,7 +86,7 @@ id: exchanges

Indian flagIndia

- BTCXINDIA + BTCXIndia Coinsecure Unocoin Zebpay From 6807650b3629188a88d1d542b0e3882b7aec422b Mon Sep 17 00:00:00 2001 From: Will Binns Date: Wed, 8 Feb 2017 08:26:00 -0600 Subject: [PATCH 25/36] event: Add Future of Fintech This adds an upcoming event, the Future of Fintech to the site. Closes #1492 --- _events.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/_events.yml b/_events.yml index 6e9aace9..90ee09b2 100644 --- a/_events.yml +++ b/_events.yml @@ -134,6 +134,14 @@ country: "Denmark" link: "https://www.money2020europe.com/" +- date: 2017-06-27 + title: "Future of Fintech" + venue: "Jazz at Lincoln Center" + address: "10 Columbus Circle" + city: "New York" + country: "NY" + link: "http://events.cbinsights.com/future-of-fintech" + - date: 2017-07-07 title: "London Fintech Week" venue: "Grange Tower Bridge Hotel" From 8a93b97ce95fc7faae260a4382a074a6b71a2ffc Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Wed, 14 Dec 2016 02:53:45 +0100 Subject: [PATCH 26/36] REST 0.11, 0.12, 0.13 update references.md, developer-reference.md, _autocrossref.yaml and _config.yml not yet updated --- _includes/devdoc/bitcoin-core/rest/intro.md | 4 +- .../bitcoin-core/rest/quick-reference.md | 11 +- .../rest/requests/get_block-notxdetails.md | 76 ++++-- .../bitcoin-core/rest/requests/get_block.md | 131 +++++---- .../rest/requests/get_chaininfo.md | 250 ++++++++++++++++++ .../rest/requests/get_getutxos.md | 189 +++++++++++++ .../bitcoin-core/rest/requests/get_headers.md | 207 +++++++++++++++ .../rest/requests/get_mempool-contents.md | 169 ++++++++++++ .../rest/requests/get_mempool-info.md | 85 ++++++ .../bitcoin-core/rest/requests/get_tx.md | 131 +++++---- _includes/helpers/summaries.md | 10 +- _includes/references.md | 5 + en/developer-reference.md | 10 + 13 files changed, 1125 insertions(+), 153 deletions(-) create mode 100644 _includes/devdoc/bitcoin-core/rest/requests/get_chaininfo.md create mode 100644 _includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md create mode 100644 _includes/devdoc/bitcoin-core/rest/requests/get_headers.md create mode 100644 _includes/devdoc/bitcoin-core/rest/requests/get_mempool-contents.md create mode 100644 _includes/devdoc/bitcoin-core/rest/requests/get_mempool-info.md diff --git a/_includes/devdoc/bitcoin-core/rest/intro.md b/_includes/devdoc/bitcoin-core/rest/intro.md index d5531377..9844f6e9 100644 --- a/_includes/devdoc/bitcoin-core/rest/intro.md +++ b/_includes/devdoc/bitcoin-core/rest/intro.md @@ -14,7 +14,9 @@ an **unauthenticated** HTTP REST interface. The interface runs on the same port as the JSON-RPC interface, by default port 8332 for mainnet and port 18332 for testnet. It must be enabled by either starting Bitcoin Core with the `-rest` option or by specifying `rest=1` in the -configuration file. +configuration file. Make sure that the RPC interface is also activated. +Set `server=1` in `bitcoin.conf` or supply the `-server` argument when +starting the program. The interface is not intended for public access and is only accessible from localhost by default. diff --git a/_includes/devdoc/bitcoin-core/rest/quick-reference.md b/_includes/devdoc/bitcoin-core/rest/quick-reference.md index bf1e6c85..07ea0f91 100644 --- a/_includes/devdoc/bitcoin-core/rest/quick-reference.md +++ b/_includes/devdoc/bitcoin-core/rest/quick-reference.md @@ -9,8 +9,13 @@ http://opensource.org/licenses/MIT. {% autocrossref %} -* [GET Block][rest get block] {{summary_restGetBlock}} {{NEW0_10_0}} -* [GET Block/NoTxDetails][rest get block-notxdetails] {{summary_restGetBlock-noTxDetails}} {{NEW0_10_0}} -* [GET Tx][rest get tx] {{summary_restGetTx}} {{NEW0_10_0}} +* [GET Block][rest get block] {{summary_restGetBlock}} {{NEW0_10_0}}, {{UPDATED0_13_0}} +* [GET Block/NoTxDetails][rest get block-notxdetails] {{summary_restGetBlock-noTxDetails}} {{NEW0_10_0}}, {{UPDATED0_13_0}} +* [GET ChainInfo][rest get chaininfo] {{summary_restGetChainInfo}} {{NEW0_11_0}}, {{UPDATED0_12_0}} +* [GET GetUtxos][rest get getutxos] {{summary_restGetGetUtxos}} {{NEW0_11_0}} +* [GET Headers][rest get headers] {{summary_restGetHeaders}} {{NEW0_11_0}}, {{UPDATED0_13_0}} +* [GET MemPool/Contents][rest get mempool-contents] {{summary_restGetMemPool-contents}} {{NEW0_12_0}} +* [GET MemPool/Info][rest get mempool-info] {{summary_restGetMemPool-info}} {{NEW0_12_0}} +* [GET Tx][rest get tx] {{summary_restGetTx}} {{NEW0_10_0}}, {{UPDATED0_13_0}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md b/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md index 4e6fdec9..2c2d1a20 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md @@ -57,6 +57,11 @@ GET /block/notxdetails/. p: "Required
(exactly 1)" d: "The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain" +- n: "→
`strippedsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The size of this block in serialized block format excluding witness data, counted in bytes" + - n: "→
`size`" t: "number (int)" p: "Required
(exactly 1)" @@ -66,11 +71,21 @@ GET /block/notxdetails/. t: "number (int)" p: "Required
(exactly 1)" d: "The height of this block on its block chain" + +- n: "→
`weight`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The block weight as defined in BIP 141" - n: "→
`version`" t: "number (int)" p: "Required
(exactly 1)" d: "This block's version number. See [block version numbers][section block versions]" + +- n: "→
`versionHex`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" - n: "→
`merkleroot`" t: "string (hex)" @@ -92,6 +107,11 @@ GET /block/notxdetails/. p: "Required
(exactly 1)" d: "The value of the *time* field in the block header, indicating approximately when the block was created" +- n: "→
`mediantime`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The median time of the 11 blocks before the most recent block on the blockchain. Used for validating transaction locktime under BIP113" + - n: "→
`nonce`" t: "number (int)" p: "Required
(exactly 1)" @@ -129,46 +149,52 @@ GET /block/notxdetails/. Request a block in hex-encoded serialized block format: {% highlight bash %} -curl http://localhost:18332/rest/block/notxdetails/000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39.hex +curl http://localhost:8332/rest/block/notxdetails/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048.hex {% endhighlight %} Result (wrapped): -{% highlight text %} -02000000df11c014a8d798395b5059c722ebdf3171a4217ead71bf6e0e99f4c7\ -000000004a6f6a2db225c81e77773f6f0457bcb05865a94900ed11356d0b7522\ -8efb38c7785d6053ffff001d005d437001010000000100000000000000000000\ -00000000000000000000000000000000000000000000ffffffff0d03b4770301\ -64062f503253482fffffffff0100f9029500000000232103adb7d8ef6b63de74\ -313e0cd4e07670d09a169b13e4eda2d650f529332c47646dac00000000 +{% highlight bash %} +010000006fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900\ +00000000982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e8\ +57233e0e61bc6649ffff001d01e3629901010000000100000000000000000000\ +00000000000000000000000000000000000000000000ffffffff0704ffff001d\ +0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec1\ +1600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781\ +e62294721166bf621e73a82cbf2342c858eeac00000000 + {% endhighlight %} Get the same block in JSON: {% highlight bash %} -curl http://localhost:18332/rest/block/notxdetails/000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39.json +curl http://localhost:8332/rest/block/notxdetails/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048.json {% endhighlight %} Result (whitespaced added): {% highlight json %} { - "hash": "000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39", - "confirmations": 91807, - "size": 189, - "height": 227252, - "version": 2, - "merkleroot": "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a", - "tx": [ - "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a" - ], - "time": 1398824312, - "nonce": 1883462912, - "bits": "1d00ffff", - "difficulty": 1.0, - "chainwork": "000000000000000000000000000000000000000000000000083ada4a4009841a", - "previousblockhash": "00000000c7f4990e6ebf71ad7e21a47131dfeb22c759505b3998d7a814c011df", - "nextblockhash": "00000000afe1928529ac766f1237657819a11cfcc8ca6d67f119e868ed5b6188" + "hash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048", + "confirmations": 443375, + "strippedsize": 215, + "size": 215, + "weight": 860, + "height": 1, + "version": 1, + "versionHex": "00000001", + "merkleroot": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", + "tx": [ + "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098" + ], + "time": 1231469665, + "mediantime": 1231469665, + "nonce": 2573394689, + "bits": "1d00ffff", + "difficulty": 1, + "chainwork": "0000000000000000000000000000000000000000000000000000000200020002", + "previousblockhash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", + "nextblockhash": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd" } {% endhighlight %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_block.md b/_includes/devdoc/bitcoin-core/rest/requests/get_block.md index 1c24a8e5..0d05ad69 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_block.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_block.md @@ -60,10 +60,20 @@ GET /block/. p: "Required
(exactly 1)" d: "The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain" +- n: "→
`strippedsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The size of this block in serialized block format excluding witness data, counted in bytes" + - n: "→
`size`" t: "number (int)" p: "Required
(exactly 1)" - d: "The size of this block in serialized block format, counted in bytes" + d: "The size of this block in serialized block format, counted in bytes" + +- n: "→
`weight`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The block weight as defined in BIP 141" - n: "→
`height`" t: "number (int)" @@ -74,6 +84,11 @@ GET /block/. t: "number (int)" p: "Required
(exactly 1)" d: "This block's version number. See [block version numbers][section block versions]" + +- n: "→
`versionHex`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" - n: "→
`merkleroot`" t: "string (hex)" @@ -95,6 +110,11 @@ GET /block/. t: "number (int)" p: "Required
(exactly 1)" d: "The value of the *time* field in the block header, indicating approximately when the block was created" + +- n: "→
`mediantime`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The median time of the 11 blocks before the most recent block on the blockchain. Used for validating transaction locktime under BIP113" - n: "→
`nonce`" t: "number (int)" @@ -128,84 +148,93 @@ GET /block/. {% enditemplate %} -*Examples from Bitcoin Core 0.10.0* +*Examples from Bitcoin Core 0.13.1* Request a block in hex-encoded serialized block format: {% highlight bash %} -curl http://localhost:18332/rest/block/000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39.hex +curl http://localhost:8332/rest/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048.hex {% endhighlight %} Result (wrapped): -{% highlight text %} -02000000df11c014a8d798395b5059c722ebdf3171a4217ead71bf6e0e99f4c7\ -000000004a6f6a2db225c81e77773f6f0457bcb05865a94900ed11356d0b7522\ -8efb38c7785d6053ffff001d005d437001010000000100000000000000000000\ -00000000000000000000000000000000000000000000ffffffff0d03b4770301\ -64062f503253482fffffffff0100f9029500000000232103adb7d8ef6b63de74\ -313e0cd4e07670d09a169b13e4eda2d650f529332c47646dac00000000 +{% highlight bash %} +010000006fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d61900\ +00000000982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e8\ +57233e0e61bc6649ffff001d01e3629901010000000100000000000000000000\ +00000000000000000000000000000000000000000000ffffffff0704ffff001d\ +0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec1\ +1600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781\ +e62294721166bf621e73a82cbf2342c858eeac00000000 + {% endhighlight %} Get the same block in JSON: {% highlight bash %} -curl http://localhost:18332/rest/block/000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39.json +curl http://localhost:8332/rest/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048.json {% endhighlight %} Result (whitespaced added): {% highlight json %} { - "hash": "000000000fe549a89848c76070d4132872cfb6efe5315d01d7ef77e4900f2d39", - "confirmations": 91785, - "size": 189, - "height": 227252, - "version": 2, - "merkleroot": "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a", - "tx": [ + "hash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048", + "confirmations": 443372, + "strippedsize": 215, + "size": 215, + "weight": 860, + "height": 1, + "version": 1, + "versionHex": "00000001", + "merkleroot": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", + "tx": [ + { + "txid": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", + "hash": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098", + "size": 134, + "vsize": 134, + "version": 1, + "locktime": 0, + "vin": [ { - "txid": "c738fb8e22750b6d3511ed0049a96558b0bc57046f3f77771ec825b22d6a6f4a", - "version": 1, - "locktime": 0, - "vin": [ - { - "coinbase": "03b477030164062f503253482f", - "sequence": 4294967295 - } - ], - "vout": [ - { - "value": 25.0, - "n": 0, - "scriptPubKey": { - "asm": "03adb7d8ef6b63de74313e0cd4e07670d09a169b13e4eda2d650f529332c47646d OP_CHECKSIG", - "hex": "2103adb7d8ef6b63de74313e0cd4e07670d09a169b13e4eda2d650f529332c47646dac", - "reqSigs": 1, - "type": "pubkey", - "addresses": [ - "muXeUp1QYscuPRFH3qHtSrHyG6DQpvg7xZ" - ] - } - } - ] + "coinbase": "04ffff001d0104", + "sequence": 4294967295 } - ], - "time": 1398824312, - "nonce": 1883462912, - "bits": "1d00ffff", - "difficulty": 1.0, - "chainwork": "000000000000000000000000000000000000000000000000083ada4a4009841a", - "previousblockhash": "00000000c7f4990e6ebf71ad7e21a47131dfeb22c759505b3998d7a814c011df", - "nextblockhash": "00000000afe1928529ac766f1237657819a11cfcc8ca6d67f119e868ed5b6188" + ], + "vout": [ + { + "value": 50, + "n": 0, + "scriptPubKey": { + "asm": "0496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858ee OP_CHECKSIG", + "hex": "410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac", + "reqSigs": 1, + "type": "pubkey", + "addresses": [ + "12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX" + ] + } + } + ] + } + ], + "time": 1231469665, + "mediantime": 1231469665, + "nonce": 2573394689, + "bits": "1d00ffff", + "difficulty": 1, + "chainwork": "0000000000000000000000000000000000000000000000000000000200020002", + "previousblockhash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", + "nextblockhash": "000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd" } {% endhighlight %} *See also* * [GET Block/NoTxDetails][rest get block-notxdetails] {{summary_restGetBlock-noTxDetails}} +* [GetBestBlockHash][rpc getbestblockhash] RPC: {{summary_getBestBlockHash}} * [GetBlock][rpc getblock] RPC: {{summary_getBlock}} * [GetBlockHash][rpc getblockhash] RPC: {{summary_getBlockHash}} -* [GetBestBlockHash][rpc getbestblockhash] RPC: {{summary_getBestBlockHash}} {% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_chaininfo.md b/_includes/devdoc/bitcoin-core/rest/requests/get_chaininfo.md new file mode 100644 index 00000000..605a3ae7 --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_chaininfo.md @@ -0,0 +1,250 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rest/requests/get_chaininfo.md" %} + +##### GET ChainInfo +{% include helpers/subhead-links.md %} + +{% assign summary_restGetChainInfo="returns information about the current state of the block chain." %} + +{% autocrossref %} + +The `GET chaininfo` operation {{summary_restGetChainInfo}} Supports only `json` as output format. + +*Request* + +{% highlight text %} +GET /chaininfo.json +{% endhighlight %} + +*Parameters: none* + +*Response as JSON* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "Information about the current state of the local block chain" + +- n: "→
`chain`" + t: "string" + p: "Required
(exactly 1)" + d: "The name of the block chain. One of `main` for mainnet, `test` for testnet, or `regtest` for regtest" + +- n: "→
`blocks`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of validated blocks in the local best block chain. For a new node with just the hardcoded genesis block, this will be 0" + +- n: "→
`headers`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of validated headers in the local best headers chain. For a new node with just the hardcoded genesis block, this will be zero. This number may be higher than the number of *blocks*" + +- n: "→
`bestblockhash`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The hash of the header of the highest validated block in the best block chain, encoded as hex in RPC byte order. This is identical to the string returned by the `getbestblockhash` RPC" + +- n: "→
`difficulty`" + t: "number (real)" + p: "Required
(exactly 1)" + d: "The difficulty of the highest-height block in the best block chain" + +- n: "→
`mediantime`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The median time of the 11 blocks before the most recent block on the blockchain. Used for validating transaction locktime under BIP113" + +- n: "→
`verificationprogress`" + t: "number (real)" + p: "Required (exactly 1)" + d: "Estimate of what percentage of the block chain transactions have been verified so far, starting at 0.0 and increasing to 1.0 for fully verified. May slightly exceed 1.0 when fully synced to account for transactions in the memory pool which have been verified before being included in a block" + +- n: "→
`chainwork`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The estimated number of block header hashes checked from the genesis block to this block, encoded as big-endian hex" + +- n: "→
`pruned`" + t: "bool" + p: "Required
(exactly 1)" + d: "Indicates if the blocks are subject to pruning" + +- n: "→
`pruneheight`" + t: "number (int)" + p: "Optional
(0 or 1)" + d: "The lowest-height complete block stored if prunning is activated" + +- n: "→
`softforks`" + t: "array" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

An array of objects each describing a current or previous soft fork" + +- n: "→ →
Softfork" + t: "object" + p: "Required
(3 or more)" + d: "A specific softfork" + +- n: "→ → →
`id`" + t: "string" + p: "Required
(exactly 1)" + d: "The name of the softfork" + +- n: "→ → →
`version`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "The block version used for the softfork" + +- n: "→ → →
`enforce`" + t: "string : object" + p: "Optional
(0 or 1)" + d: "The progress toward enforcing the softfork rules for new-version blocks" + +- n: "→ → → →
`status`" + t: "bool" + p: "Required
(exactly 1)" + d: "Indicates if the threshold was reached" + +- n: "→ → → →
`found`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "Number of blocks that support the softfork" + +- n: "→ → → →
`required`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "Number of blocks that are required to reach the threshold" + +- n: "→ → → →
`window`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "The maximum size of examined window of recent blocks" + +- n: "→ → →
`reject`" + t: "object" + p: "Optional
(0 or 1)" + d: "The progress toward enforcing the softfork rules for new-version blocks" + +- n: "→ → → →
`status`" + t: "bool" + p: "Optional
(0 or 1)" + d: "Indicates if the threshold was reached" + +- n: "→ → → →
`found`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "Number of blocks that support the softfork" + +- n: "→ → → →
`required`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "Number of blocks that are required to reach the threshold" + +- n: "→ → → →
`window`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "The maximum size of examined window of recent blocks" + +- n: "→
`bip9_softforks`" + t: "object" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.1*

The status of BIP9 softforks in progress" + +- n: "→ →
Name" + t: "string : object" + p: "Required
(2 or more)" + d: "A specific BIP9 softfork" + +- n: "→ → →
`status`" + t: "string" + p: "Required
(exactly 1)" + d: "Set to one of the following reasons:
• `defined` if voting hasn't started yet
• `started` if the voting has started
• `locked_in` if the voting was successful but the softfort hasn't been activated yet
• `active` if the softfork was activated
• `failed` if the softfork has not receieved enough votes" + +- n: "→ → →
`bit`" + t: "numeric
(int)" + p: "Optional
(0 or 1)" + d: "The bit (0-28) in the block version field used to signal this softfork. Field is only shown when status is `started`" + +- n: "→ → →
`startTime`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "The Unix epoch time when the softfork voting begins" + +- n: "→ → →
`timeout`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "The Unix epoch time at which the deployment is considered failed if not yet locked in" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +Get blockchain info in JSON: + +{% highlight bash %} +curl http://localhost:8332/rest/chaininfo.json +{% endhighlight %} + +Result (whitespaced added): + +{% highlight json %} +{ + "chain": "main", + "blocks": 443372, + "headers": 443372, + "bestblockhash": "0000000000000000029a7ee8eb90c47cfcb3e3d877428ed85a3251719bf65ad7", + "difficulty": 286765766820.5504, + "mediantime": 1481671547, + "verificationprogress": 0.9999951668985226, + "chainwork": "000000000000000000000000000000000000000000330d0672c7d7f4f705b65c", + "pruned": false, + "softforks": [ + { + "id": "bip34", + "version": 2, + "reject": { + "status": true + } + }, + { + "id": "bip66", + "version": 3, + "reject": { + "status": true + } + }, + { + "id": "bip65", + "version": 4, + "reject": { + "status": true + } + } + ], + "bip9_softforks": { + "csv": { + "status": "active", + "startTime": 1462060800, + "timeout": 1493596800, + "since": 419328 + }, + "segwit": { + "status": "started", + "bit": 1, + "startTime": 1479168000, + "timeout": 1510704000, + "since": 439488 + } + } +} +{% endhighlight %} + +*See also* + +* [GetBlockChainInfo][rpc getblockchaininfo] RPC: {{summary_getBlockChainInfo}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md b/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md new file mode 100644 index 00000000..29f688bf --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md @@ -0,0 +1,189 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md" %} + +##### GET GetUtxos +{% include helpers/subhead-links.md %} + +{% assign summary_restGetGetUtxos="returns an UTXO set given a set of outpoints." %} + +{% autocrossref %} + +The `GET getutxos` operation {{summary_restGetGetUtxos}} + +*Request* + +{% highlight text %} +GET /getutxos//-/-/.../-. +{% endhighlight %} + +*Parameter #1---Include memory pool transactions* + +{% itemplate ntpd1 %} +- n: "Check mempool " + t: "string" + p: "Optional
(0 or 1)" + d: "Set to `checkmempool` to include transactions that are currently in the memory pool to the calculation" + +{% enditemplate %} + +*Parameter #2---List of Outpoints* + +{% itemplate ntpd1 %} +- n: "Outpoint" + t: "vector" + p: "Required
(1 or more)" + d: "The list of outpoints to be queried. Each outpoint is the TXID of the transaction, encoded as hex in RPC byte order with an addditional `-n`" + +{% enditemplate %} + +*Parameter #3---the output format* + +{% itemplate ntpd1 %} +- n: "Format" + t: "suffix" + p: "Required
(exactly 1)" + d: "Set to `.json` for decoded block contents in JSON, or `.bin` or `hex` for a serialized block in binary or hex" + +{% enditemplate %} + +*Response as JSON* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "The requetsted UTXO set" + +- n: "→→
`chainHeight`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The height of the chain at the moment the result was calculated" + +- n: "→
`chaintipHash`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The block hash of the top of the chain at the moment the result was calculated" + +- n: "→
`bitmap`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "" + +- n: "→
`utxos`" + t: "array" + p: "Required
(exactly 1)" + d: "An array of objects each describing an outpoint that is unspent" + +- n: "→→`Unspent Outpoint`" + t: "object" + p: "Optional
(0 or more)" + d: "A UTXO match based on the query" + +- n: "→→→
`txvers`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The version number of the transaction the UTXO was found in" + +- n: "→
`height`" + t: "number (int)" + p: "Required (exactly 1)" + d: "The height of the block containing the defining transaction, or 0x7FFFFFFF if the tx is in the mempool" + +- n: "→ → →
`value`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The value of the transaction" + +- n: "→ → →
`scriptPubKey`" + t: "object" + p: "Required
(exactly 1)" + d: "An object describing the pubkey script" + +- n: "→ → → →
`asm`" + t: "string" + p: "Required
(exactly 1)" + d: "The pubkey script in decoded form with non-data-pushing opcodes listed" + +- n: "→ → → →
`hex`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The pubkey script encoded as hex" + +- n: "→ → → →
`reqSigs`" + t: "number (int)" + p: "Optional
(0 or 1)" + d: "The number of signatures required; this is always `1` for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for `nulldata` or `nonstandard` script types (see the `type` key below)" + +- n: "→ → → →
`type`" + t: "string" + p: "Optional
(0 or 1)" + d: "The type of script. This will be one of the following:
• `pubkey` for a P2PK script
• `pubkeyhash` for a P2PKH script
• `scripthash` for a P2SH script
• `multisig` for a bare multisig script
• `nulldata` for nulldata scripts
• `nonstandard` for unknown scripts" + +- n: "→ → → →
`addresses`" + t: "string : array" + p: "Optional
(0 or 1)" + d: "Array of P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for `nulldata` or `nonstandard` script types" + +- n: "→ → → → →
Address" + t: "string" + p: "Required
(1 or more)" + d: "A P2PKH or P2SH address" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +Request the UTXO set: + +{% highlight bash %} +curl http://localhost:8332/rest/getutxos/checkmempool/42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120-0.hex +{% endhighlight %} + +Result (wrapped): + +{% highlight bash %} +d0c306004f438cea9c68557da34e8e7823a963eb9350daa107ffd80100000000\ +0000000001010101000000ffffff7fc8883303000000001976a9145f4865d186\ +5127807f714b0ad1ddfae9870866d888ac +{% endhighlight %} + +Same request in JSON: + +{% highlight bash %} +curl http://localhost:8332/rest/getutxos/checkmempool/42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120-0.json +{% endhighlight %} + +Result (whitespaced added): + +{% highlight json %} +{ + "chainHeight": 443344, + "chaintipHash": "000000000000000001d8ff07a1da5093eb63a923788e4ea37d55689cea8c434f", + "bitmap": "1", + "utxos": [ + { + "txvers": 1, + "height": 2147483647, + "value": 0.53709, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 5f4865d1865127807f714b0ad1ddfae9870866d8 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9145f4865d1865127807f714b0ad1ddfae9870866d888ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "19govWMzsRXqLUsUrHQKQ3DzekRxhsqwWH" + ] + } + } + ] +} +{% endhighlight %} + +*See also* + +* [GetTxOutSetInfo][rpc gettxoutsetinfo] RPC: {{summary_getTxOutSetInfo}} + +{% endautocrossref %} \ No newline at end of file diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md b/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md new file mode 100644 index 00000000..87fef48c --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md @@ -0,0 +1,207 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rest/requests/get_headers.md" %} + +##### GET Headers +{% include helpers/subhead-links.md %} + +{% assign summary_restGetHeaders="returns a specified amout of block headers in upward direction." %} + +{% autocrossref %} + +The `GET headers` operation {{summary_restGetHeaders}} + +*Request* + +{% highlight text %} +GET /headers//. +{% endhighlight %} + +*Parameter #1---the amount of block headers to retrieve* + +{% itemplate ntpd1 %} +- n: "Amount" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The amount of block headers in upward direction to return (including the start header hash)" + +{% enditemplate %} + +*Parameter #2---the header hash of the block to retrieve* + +{% itemplate ntpd1 %} +- n: "Header Hash" + t: "path (hex)" + p: "Required
(exactly 1)" + d: "The hash of the header of the block to get, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Parameter #3---the output format* + +{% itemplate ntpd1 %} +- n: "Format" + t: "suffix" + p: "Required
(exactly 1)" + d: "Set to `.json` for decoded block contents in JSON, or `.bin` or `hex` for a serialized block in binary or hex" + +{% enditemplate %} + +*Response as JSON* + +{% itemplate ntpd1 %} +- n: "Result" + t: "array" + p: "Required
(exactly 1)" + d: "An array containing the requested block headers" + +- n: "→
Block Header" + t: "object" + p: "Required
(1 or more)" + d: "An object containing a block header. The amount of the objects is the same as the amount provided in parameter #1 " + +- n: "→→
`hash`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The hash of this block's block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #2" + +- n: "→→
`confirmations`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain" + +- n: "→→
`height`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The height of this block on its block chain" + +- n: "→→
`version`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "This block's version number. See [block version numbers][section block versions]" + +- n: "→→
`versionHex`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" + +- n: "→→
`merkleroot`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The merkle root for this block, encoded as hex in RPC byte order" + +- n: "→→
`time`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The value of the *time* field in the block header, indicating approximately when the block was created" + +- n: "→→
`mediantime`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The median time of the 11 blocks before the most recent block on the blockchain. Used for validating transaction locktime under BIP113" + +- n: "→→
`nonce`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The nonce which was successful at turning this particular block into one that could be added to the best block chain" + +- n: "→→
`bits`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The value of the *nBits* field in the block header, indicating the target threshold this block's header had to pass" + +- n: "→→
`difficulty`" + t: "number (real)" + p: "Required
(exactly 1)" + d: "The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0" + +- n: "→→
`chainwork`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex" + +- n: "→→
`previousblockhash`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "The hash of the header of the previous block, encoded as hex in RPC byte order" + +- n: "→→
`nextblockhash`" + t: "string (hex)" + p: "Optional
(0 or 1)" + d: "The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +Request 5 block headers in hex-encoded serialized block format: + +{% highlight bash %} +curl http://localhost:8332/rest/headers/5/000000000000000002538dfef658564662025e0687b0c65c6d5c9d765984ec5a.hex +{% endhighlight %} + +Result (wrapped): + +{% highlight bash %} +040000004b9e8debb1bb9df8f85d0f64cf45d408f5f7fcf3293ec40400000000\ +000000008c37685c878a66aa2709c3dc27a35020269ce1ce7ecb41dabe8f4e0c\ +ca8fc508651b2b5776270618cb395012000000205aec8459769d5c6d5cc6b087\ +065e0262465658f6fe8d53020000000000000000cb9a492474a4791b7f4dee49\ +0b3d813b1eb192fb67109c0c99317101019f72a7cd1f2b57762706185c2921b4 +{% endhighlight %} + +Get the same block headers in JSON: + +{% highlight bash %} +curl http://localhost:8332/rest/headers/5/000000000000000002538dfef658564662025e0687b0c65c6d5c9d765984ec5a.json +{% endhighlight %} + +Result (whitespaced added): + +{% highlight json %} +[ + { + "hash": "000000000000000002538dfef658564662025e0687b0c65c6d5c9d765984ec5a", + "confirmations": 33009, + "height": 410334, + "version": 4, + "versionHex": "00000004", + "merkleroot": "08c58fca0c4e8fbeda41cb7ecee19c262050a327dcc30927aa668a875c68378c", + "time": 1462442853, + "mediantime": 1462441310, + "nonce": 307247563, + "bits": "18062776", + "difficulty": 178659257772.5273, + "chainwork": "00000000000000000000000000000000000000000018562bc90589834ae929d0", + "previousblockhash": "000000000000000004c43e29f3fcf7f508d445cf640f5df8f89dbbb1eb8d9e4b", + "nextblockhash": "000000000000000000f198b9f92bc29fa294be4bb777e61fdd56aac07f174553" + }, + { + "hash": "000000000000000000f198b9f92bc29fa294be4bb777e61fdd56aac07f174553", + "confirmations": 33008, + "height": 410335, + "version": 536870912, + "versionHex": "20000000", + "merkleroot": "a7729f01017131990c9c1067fb92b11e3b813d0b49ee4d7f1b79a47424499acb", + "time": 1462443981, + "mediantime": 1462441496, + "nonce": 3022072156, + "bits": "18062776", + "difficulty": 178659257772.5273, + "chainwork": "000000000000000000000000000000000000000000185655621b104558a77160", + "previousblockhash": "000000000000000002538dfef658564662025e0687b0c65c6d5c9d765984ec5a", + "nextblockhash": "0000000000000000005b3caade164fcc5f3f00fd99ddbdb47ee66ea4bbe9387a" + } +] +{% endhighlight %} + +*See also* + +* [GET Block/NoTxDetails][rest get block-notxdetails] {{summary_restGetBlock-noTxDetails}} +* [GetBlock][rpc getblock] RPC: {{summary_getBlock}} +* [GetBlockHash][rpc getblockhash] RPC: {{summary_getBlockHash}} +* [GetBlockHeader][rpc getblockheader] RPC: {{summary_getBlockHeader}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-contents.md b/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-contents.md new file mode 100644 index 00000000..858dc1bd --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-contents.md @@ -0,0 +1,169 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rest/requests/get_mempool-contents.md" %} + +##### GET MemPool/Contents +{% include helpers/subhead-links.md %} + +{% assign summary_restGetMemPool-contents="returns all transaction in the memory pool with detailed information." %} + +{% autocrossref %} + +The `GET mempool/contents` operation {{summary_restGetMemPool-contents}} Supports only `json` as output format. + +*Request* + +{% highlight text %} +GET /mempool/contents.json +{% endhighlight %} + +*Parameters: none* + +*Result as JSON* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "A object containing transactions currently in the memory pool. May be empty" + +- n: "→
TXID" + t: "string : object" + p: "Optional
(0 or more)" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" + +- n: "→ →
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The size of the serialized transaction in bytes" + +- n: "→ →
`fee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "The transaction fee paid by the transaction in decimal bitcoins" + +- n: "→ →
`modifiedfee`" + t: "number (bitcoins)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The transaction fee with fee deltas used for mining priority in decimal bitcoins" + +- n: "→ →
`time`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The time the transaction entered the memory pool, Unix epoch time format" + +- n: "→ →
`height`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The block height when the transaction entered the memory pool" + +- n: "→ →
`startingpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The priority of the transaction when it first entered the memory pool" + +- n: "→ →
`currentpriority`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The current priority of the transaction" + +- n: "→ →
`descendantcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The number of in-mempool descendant transactions (including this one)" + +- n: "→ →
`descendantsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The size of in-mempool descendants (including this one)" + +- n: "→ →
`descendantfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" + +- n: "→ →
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The number of in-mempool ancestor transactions (including this one)" + +- n: "→ →
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The size of in-mempool ancestors (including this one)" + +- n: "→ →
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.13.0*

The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + +- n: "→ →
`depends`" + t: "array" + p: "Required
(exactly 1)" + d: "An array holding TXIDs of unconfirmed transactions this transaction depends upon (parent transactions). Those transactions must be part of a block before this transaction can be added to a block, although all transactions may be included in the same block. The array may be empty" + +- n: "→ → →
Depends TXID" + t: "string" + p: "Optional (0 or more)" + d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +Get all transactions in the memory pool in JSON: + +{% highlight bash %} +curl http://localhost:8332/rest/mempool/contents.json +{% endhighlight %} + +Result (whitespaced added): + +{% highlight json %} +{ + "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { + "size": 485, + "fee": 0.00009700, + "modifiedfee": 0.00009700, + "time": 1479423635, + "height": 439431, + "startingpriority": 15327081.81818182, + "currentpriority": 21536936.36363636, + "descendantcount": 1, + "descendantsize": 485, + "descendantfees": 9700, + "ancestorcount": 1, + "ancestorsize": 485, + "ancestorfees": 9700, + "depends": [ + ] + }, + "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { + "size": 554, + "fee": 0.00005540, + "modifiedfee": 0.00005540, + "time": 1479423327, + "height": 439430, + "startingpriority": 85074.91071428571, + "currentpriority": 3497174.4375, + "descendantcount": 1, + "descendantsize": 554, + "descendantfees": 5540, + "ancestorcount": 1, + "ancestorsize": 554, + "ancestorfees": 5540, + "depends": [ + ] + } +} +{% endhighlight %} + +*See also* + +* [GET MemPool/Info][rest get mempool-info]: {{summary_restGetMemPool-info}} +* [GetMemPoolInfo][rpc getmempoolinfo] RPC: {{summary_getMemPoolInfo}} +* [GetRawMemPool][rpc getrawmempool] RPC: {{summary_getRawMemPool}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-info.md b/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-info.md new file mode 100644 index 00000000..bfe3843a --- /dev/null +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_mempool-info.md @@ -0,0 +1,85 @@ +{% comment %} +This file is licensed under the MIT License (MIT) available on +http://opensource.org/licenses/MIT. +{% endcomment %} +{% assign filename="_includes/devdoc/bitcoin-core/rest/requests/get_mempool-info.md" %} + +##### GET MemPool/Info +{% include helpers/subhead-links.md %} + +{% assign summary_restGetMemPool-info="returns information about the node's current transaction memory pool." %} + +{% autocrossref %} + +The `GET mempool/info` operation {{summary_restGetMemPool-info}} Supports only `json` as output format. + +*Request* + +{% highlight text %} +GET /mempool/info.json +{% endhighlight %} + +*Parameters: none* + +*Result as JSON* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "A object containing information about the memory pool" + +- n: "→
`size`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of transactions currently in the memory pool" + +- n: "→
`bytes`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The total number of bytes in the transactions in the memory pool" + +- n: "→
`usage`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.11.0*

Total memory usage for the mempool in bytes" + +- n: "→
`maxmempool`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

Maximum memory usage for the mempool in bytes" + +- n: "→
`mempoolminfee`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.12.0*

The lowest fee per kilobyte paid by any transaction in the memory pool" + +{% enditemplate %} + +*Examples from Bitcoin Core 0.13.1* + +Get memory pool info in JSON: + +{% highlight bash %} +curl http://localhost:8332/rest/mempool/info.json +{% endhighlight %} + +Result (whitespaced added): + +{% highlight json %} +{ + "size": 989, + "bytes": 736919, + "usage": 1970496, + "maxmempool": 300000000, + "mempoolminfee": 0 +} + +{% endhighlight %} + +*See also* + +* [GET MemPool/Contents][rest get mempool-contents]: {{summary_restGetMemPool-contents}} +* [GetMemPoolInfo][rpc getmempoolinfo] RPC: {{summary_getMemPoolInfo}} + +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_tx.md b/_includes/devdoc/bitcoin-core/rest/requests/get_tx.md index bd1baa6e..19c27ac3 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_tx.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_tx.md @@ -75,97 +75,86 @@ GET /tx/. {% enditemplate %} -*Examples from Bitcoin Core 0.10.0* +*Examples from Bitcoin Core 0.13.1* Request a transaction in hex-encoded serialized transaction format: {% highlight bash %} -curl http://localhost:18332/rest/tx/ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e.hex +curl http://localhost:8332/rest/tx/42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120.hex {% endhighlight %} Result (wrapped): {% highlight text %} -0100000001268a9ad7bfb21d3c086f0ff28f73a064964aa069ebb69a9e437da8\ -5c7e55c7d7000000006b483045022100ee69171016b7dd218491faf6e13f53d4\ -0d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed28\ -8d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc\ -8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326ffffffff0350ac60020000\ -00001976a91456847befbd2360df0e35b4e3b77bae48585ae06888ac80969800\ -000000001976a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac002d\ -3101000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac\ -00000000 +0100000001bf33f5e034d1774f4019c03e119f4fa9e421339271f7476e5e34ff\ +72839ebc16000000006b483045022100dab0ade70063cbc5ad44664b707391f8\ +ffe6e406b1bab43abfb547d701694d98022067580db89b81c69ba83487ea0a1b\ +cb6a325d2903b726980865210d2127de09710121023ee7a6437e9ad2957cd032\ +38b9668c15cb1dc6ac9c9d142f829168e1a3e4a9c4feffffff02c88833030000\ +00001976a9145f4865d1865127807f714b0ad1ddfae9870866d888ac102697eb\ +000000001976a91479e19d5c1cbc1c18f59c57d37ca403f3bcdaa73f88acd0c3\ +0600 {% endhighlight %} Get the same transaction in JSON: {% highlight bash %} -curl http://localhost:18332/rest/tx/ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e.json +curl http://localhost:8332/rest/tx/42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120.json {% endhighlight %} Result (whitespaced added): {% highlight json %} { - "txid": "ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e", - "version": 1, - "locktime": 0, - "vin": [ - { - "txid": "d7c7557e5ca87d439e9ab6eb69a04a9664a0738ff20f6f083c1db2bfd79a8a26", - "vout": 0, - "scriptSig": { - "asm": "3045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc001 03a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326", - "hex": "483045022100ee69171016b7dd218491faf6e13f53d40d64f4b40123a2de52560feb95de63b902206f23a0919471eaa1e45a0982ed288d374397d30dff541b2dd45a4c3d0041acc0012103a7c1fd1fdec50e1cf3f0cc8cb4378cd8e9a2cee8ca9b3118f3db16cbbcf8f326" - }, - "sequence": 4294967295 - } - ], - "vout": [ - { - "value": 0.39889999999999998, - "n": 0, - "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 56847befbd2360df0e35b4e3b77bae48585ae068 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a91456847befbd2360df0e35b4e3b77bae48585ae06888ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "moQR7i8XM4rSGoNwEsw3h4YEuduuP6mxw7" - ] - } - }, - { - "value": 0.10000000000000001, - "n": 1, - "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 2b14950b8d31620c6cc923c5408a701b1ec0a020 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9142b14950b8d31620c6cc923c5408a701b1ec0a02088ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN" - ] - } - }, - { - "value": 0.20000000000000001, - "n": 2, - "scriptPubKey": { - "asm": "OP_DUP OP_HASH160 0dfc8bafc8419853b34d5e072ad37d1a5159f584 OP_EQUALVERIFY OP_CHECKSIG", - "hex": "76a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "mgnucj8nYqdrPFh2JfZSB1NmUThUGnmsqe" - ] - } - } - ], - "blockhash": "00000000103e0091b7d27e5dc744a305108f0c752be249893c749e19c1c82317", - "confirmations": 91916, - "time": 1398734825, - "blocktime": 1398734825 + "txid": "42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120", + "hash": "42f9df54a39026ccb54362141c41713968f19e1f14949ab6609b03ffa4b7f120", + "size": 226, + "vsize": 226, + "version": 1, + "locktime": 443344, + "vin": [ + { + "txid": "16bc9e8372ff345e6e47f771923321e4a94f9f113ec019404f77d134e0f533bf", + "vout": 0, + "scriptSig": { + "asm": "3045022100dab0ade70063cbc5ad44664b707391f8ffe6e406b1bab43abfb547d701694d98022067580db89b81c69ba83487ea0a1bcb6a325d2903b726980865210d2127de0971[ALL] 023ee7a6437e9ad2957cd03238b9668c15cb1dc6ac9c9d142f829168e1a3e4a9c4", + "hex": "483045022100dab0ade70063cbc5ad44664b707391f8ffe6e406b1bab43abfb547d701694d98022067580db89b81c69ba83487ea0a1bcb6a325d2903b726980865210d2127de09710121023ee7a6437e9ad2957cd03238b9668c15cb1dc6ac9c9d142f829168e1a3e4a9c4" + }, + "sequence": 4294967294 + } + ], + "vout": [ + { + "value": 0.53709, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 5f4865d1865127807f714b0ad1ddfae9870866d8 OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a9145f4865d1865127807f714b0ad1ddfae9870866d888ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "19govWMzsRXqLUsUrHQKQ3DzekRxhsqwWH" + ] + } + }, + { + "value": 39.5255144, + "n": 1, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 79e19d5c1cbc1c18f59c57d37ca403f3bcdaa73f OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a91479e19d5c1cbc1c18f59c57d37ca403f3bcdaa73f88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "1C7T3CJ6MEYf1YCYYPfN6zuGirqZcD3wuE" + ] + } + } + ], + "blockhash": "0000000000000000023da07114323ad9676896f354951e6b563d143428b69c03", + "confirmations": 28, + "time": 1481662934, + "blocktime": 1481662934 } {% endhighlight %} diff --git a/_includes/helpers/summaries.md b/_includes/helpers/summaries.md index dd73398e..c536036c 100644 --- a/_includes/helpers/summaries.md +++ b/_includes/helpers/summaries.md @@ -1,14 +1,15 @@ {%comment%}AUTOMATICALLY-GENERATED FILE: DO NOT EDIT THIS FILE This file is licensed under the terms of its source texts{%endcomment%} -{% assign summary_abandonTransaction="marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respend." %} +{% assign summary_abandonTransaction="marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent." %} {% assign summary_addMultiSigAddress="adds a P2SH multisig address to the wallet." %} {% assign summary_addNode="attempts to add or remove a node from the addnode list, or to try a connection to a node once." %} {% assign summary_backupWallet="safely copies `wallet.dat` to the specified file, which can be a directory or a path with filename." %} -{% assign summary_clearBanned="Clears list of banned nodes." %} +{% assign summary_clearBanned="clears list of banned nodes." %} {% assign summary_createMultiSig="creates a P2SH multi-signature address." %} {% assign summary_createRawTransaction="creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network." %} {% assign summary_decodeRawTransaction="decodes a serialized transaction hex string into a JSON object describing the transaction." %} {% assign summary_decodeScript="decodes a hex-encoded P2SH redeem script." %} +{% assign summary_disconnectnode="immediately disconnects from a specified node." %} {% assign summary_dumpPrivKey="returns the wallet-import-format (WIP) private key corresponding to an address. (But does not remove it from the wallet.)" %} {% assign summary_dumpWallet="creates or overwrites a file with all wallet keys in a human-readable format." %} {% assign summary_encryptWallet="encrypts the wallet with a passphrase. This is only to enable encryption for the first time. After encryption is enabled, you will need to enter the passphrase to use private keys." %} @@ -72,6 +73,11 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_prioritiseTransaction="adds virtual priority or fee to a transaction, allowing it to be accepted into blocks mined by this node (or miners which use this node) with a lower priority or fee. (It can also remove virtual priority or fee, requiring the transaction have a higher priority or fee to be accepted into a locally-mined block.)" %} {% assign summary_restGetBlock-noTxDetails="gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block. The JSON object includes TXIDs for transactions within the block rather than the complete transactions [GET block][rest get block] returns." %} {% assign summary_restGetBlock="gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block." %} +{% assign summary_restGetChainInfo="provides information about the current state of the block chain." %} +{% assign summary_restGetGetUtxos="returns an UTXO set given a set of outpoints." %} +{% assign summary_restGetHeaders="returns a specified amout of block headers in upward direction." %} +{% assign summary_restGetMemPool-contents="returns all transaction in the memory pool with detailed information." %} +{% assign summary_restGetMemPool-info="returns information about the node's current transaction memory pool." %} {% assign summary_restGetTx="gets a hex-encoded serialized transaction or a JSON object describing the transaction. By default, Bitcoin Core only stores complete transaction data for UTXOs and your own transactions, so this method may fail on historic transactions unless you use the non-default `txindex=1` in your Bitcoin Core startup settings." %} {% assign summary_sendFrom="spends an amount from a local account to a bitcoin address." %} {% assign summary_sendMany="creates and broadcasts a transaction which sends outputs to multiple addresses." %} diff --git a/_includes/references.md b/_includes/references.md index 3fa4952e..f343ada0 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -160,6 +160,11 @@ http://opensource.org/licenses/MIT. {% comment %}{% endcomment %} [rest get block]: /en/developer-reference#get-block [rest get block-notxdetails]: /en/developer-reference#get-blocknotxdetails +[rest get chaininfo]: /en/developer-reference#get-chaininfo +[rest get getutxos]: /en/developer-reference#get-getutxos +[rest get headers]: /en/developer-reference#get-headers +[rest get mempool-contents]: /en/developer-reference#get-mempoolcontents +[rest get mempool-info]: /en/developer-reference#get-mempoolinfo [rest get tx]: /en/developer-reference#get-tx {% comment %}{% endcomment %} diff --git a/en/developer-reference.md b/en/developer-reference.md index f2212a9f..57b5bb90 100644 --- a/en/developer-reference.md +++ b/en/developer-reference.md @@ -268,6 +268,16 @@ untrusted source. {% include devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md %} +{% include devdoc/bitcoin-core/rest/requests/get_chaininfo.md %} + +{% include devdoc/bitcoin-core/rest/requests/get_getutxos.md %} + +{% include devdoc/bitcoin-core/rest/requests/get_headers.md %} + +{% include devdoc/bitcoin-core/rest/requests/get_mempool-contents.md %} + +{% include devdoc/bitcoin-core/rest/requests/get_mempool-info.md %} + {% include devdoc/bitcoin-core/rest/requests/get_tx.md %} {% include references.md %} From 3ded57ca91736ba88446e69aee24ba99c2392f7e Mon Sep 17 00:00:00 2001 From: "David A. Harding" Date: Mon, 2 Jan 2017 19:40:41 -0500 Subject: [PATCH 27/36] Dev Docs: minor edits to 0.13.x REST API update --- .../bitcoin-core/rest/requests/get_block-notxdetails.md | 2 +- _includes/devdoc/bitcoin-core/rest/requests/get_block.md | 2 +- .../devdoc/bitcoin-core/rest/requests/get_getutxos.md | 8 ++++---- .../devdoc/bitcoin-core/rest/requests/get_headers.md | 4 ++-- _includes/references.md | 1 + 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md b/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md index 2c2d1a20..70c67b0b 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_block-notxdetails.md @@ -85,7 +85,7 @@ GET /block/notxdetails/. - n: "→
`versionHex`" t: "number (int)" p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal. See [BIP9 assignments][]" - n: "→
`merkleroot`" t: "string (hex)" diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_block.md b/_includes/devdoc/bitcoin-core/rest/requests/get_block.md index 0d05ad69..e6856431 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_block.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_block.md @@ -88,7 +88,7 @@ GET /block/. - n: "→
`versionHex`" t: "number (int)" p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal. See [BIP9 assignments]" - n: "→
`merkleroot`" t: "string (hex)" diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md b/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md index 29f688bf..8d5b894c 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_getutxos.md @@ -35,7 +35,7 @@ GET /getutxos//-/-/.../-. - n: "Outpoint" t: "vector" p: "Required
(1 or more)" - d: "The list of outpoints to be queried. Each outpoint is the TXID of the transaction, encoded as hex in RPC byte order with an addditional `-n`" + d: "The list of outpoints to be queried. Each outpoint is the TXID of the transaction, encoded as hex in RPC byte order with an additional `-n` parameter for the output index (vout) number, with the index starting from 0" {% enditemplate %} @@ -55,7 +55,7 @@ GET /getutxos//-/-/.../-. - n: "`result`" t: "object" p: "Required
(exactly 1)" - d: "The requetsted UTXO set" + d: "The requested UTXO set" - n: "→→
`chainHeight`" t: "number (int)" @@ -70,7 +70,7 @@ GET /getutxos//-/-/.../-. - n: "→
`bitmap`" t: "number (int)" p: "Required
(exactly 1)" - d: "" + d: "Whether each requested output was found in the UTXO set or not. A `1` is returned for those that were found and a `0` is returned for those that were not found. Results are returned in the same order as outpoints were requested in the input parameters" - n: "→
`utxos`" t: "array" @@ -186,4 +186,4 @@ Result (whitespaced added): * [GetTxOutSetInfo][rpc gettxoutsetinfo] RPC: {{summary_getTxOutSetInfo}} -{% endautocrossref %} \ No newline at end of file +{% endautocrossref %} diff --git a/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md b/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md index 87fef48c..d90d0474 100644 --- a/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md +++ b/_includes/devdoc/bitcoin-core/rest/requests/get_headers.md @@ -7,7 +7,7 @@ http://opensource.org/licenses/MIT. ##### GET Headers {% include helpers/subhead-links.md %} -{% assign summary_restGetHeaders="returns a specified amout of block headers in upward direction." %} +{% assign summary_restGetHeaders="returns a specified amount of block headers in upward direction." %} {% autocrossref %} @@ -85,7 +85,7 @@ GET /headers//. - n: "→→
`versionHex`" t: "string (hex)" p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal" + d: "*Added in Bitcoin Core 0.13.0*

This block's version number formatted in hexadecimal. See [BIP9 assignments][]" - n: "→→
`merkleroot`" t: "string (hex)" diff --git a/_includes/references.md b/_includes/references.md index f343ada0..b3eb82f1 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -291,6 +291,7 @@ http://opensource.org/licenses/MIT. {% comment %}{% endcomment %} [BIP9]: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki +[BIP9 assignments]: https://github.com/bitcoin/bips/blob/master/bip-0009/assignments.mediawiki [BIP14]: https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki [BIP16]: https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki [BIP21]: https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki From c10415a3abfcdf2a91adcf20f934f157b91bc87a Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Thu, 5 Jan 2017 21:46:33 +0100 Subject: [PATCH 28/36] server bitcoind fix --- _includes/devdoc/bitcoin-core/rest/intro.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/devdoc/bitcoin-core/rest/intro.md b/_includes/devdoc/bitcoin-core/rest/intro.md index 9844f6e9..453c62f2 100644 --- a/_includes/devdoc/bitcoin-core/rest/intro.md +++ b/_includes/devdoc/bitcoin-core/rest/intro.md @@ -16,7 +16,8 @@ port 18332 for testnet. It must be enabled by either starting Bitcoin Core with the `-rest` option or by specifying `rest=1` in the configuration file. Make sure that the RPC interface is also activated. Set `server=1` in `bitcoin.conf` or supply the `-server` argument when -starting the program. +starting Bitcoin Core. Starting Bitcoin Core with `bitcoind` automatically +enables the RPC interface. The interface is not intended for public access and is only accessible from localhost by default. From 1283e200c62a59e9eb2c3b76b756d41687471ddc Mon Sep 17 00:00:00 2001 From: Michael Rotarius Date: Thu, 9 Feb 2017 11:34:12 +0100 Subject: [PATCH 29/36] removed last sentence --- _data/glossary/en/soft-fork.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/_data/glossary/en/soft-fork.yaml b/_data/glossary/en/soft-fork.yaml index 45454fd8..afc5dace 100644 --- a/_data/glossary/en/soft-fork.yaml +++ b/_data/glossary/en/soft-fork.yaml @@ -10,9 +10,7 @@ required: A softfork is a change to the bitcoin protocol wherein only previously valid blocks/transactions are made invalid. Since old nodes will recognise - the new blocks as valid, a softfork is backward-compatible. - This kind of fork requires only a majority of the miners - upgrading to enforce the new rules. + the new blocks as valid, a softfork is backward-compatible. synonyms_shown_in_glossary_capitalize_first_letter: - Soft fork From 822d7df268de1627df311d3e345cf1b5992a7fe1 Mon Sep 17 00:00:00 2001 From: Michele Colombo Date: Thu, 9 Feb 2017 13:49:58 +0100 Subject: [PATCH 30/36] move trt to Italy section --- _templates/exchanges.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index b782e001..3f9a6082 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -27,7 +27,6 @@ id: exchanges Kraken
Local Bitcoins
Xapo - The Rock Trading

@@ -102,6 +101,7 @@ id: exchanges

Italian flagItaly

Postebit + The Rock Trading

From bae43d7dfd60511128dd4a2d335bd2fb08ee97b7 Mon Sep 17 00:00:00 2001 From: Will Binns Date: Sun, 12 Feb 2017 21:42:08 -0600 Subject: [PATCH 31/36] exchanges: Fix line breaks, alphabetize ordering --- _templates/exchanges.html | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/_templates/exchanges.html b/_templates/exchanges.html index fb4c53ba..5b68c05e 100644 --- a/_templates/exchanges.html +++ b/_templates/exchanges.html @@ -21,8 +21,8 @@ id: exchanges
@@ -57,14 +57,14 @@ id: exchanges

Chinese flagChina

- BTCC
+ BTCC

@@ -84,10 +84,10 @@ id: exchanges @@ -101,7 +101,7 @@ id: exchanges @@ -152,8 +152,8 @@ id: exchanges

United Kingdom flagUnited Kingdom

Bittylicious
- Coinfloor
- CoinCorner + CoinCorner
+ Coinfloor

From 9472e2e472d5abe82f3049cfd1d1cb579758b76a Mon Sep 17 00:00:00 2001 From: Will Binns Date: Thu, 16 Feb 2017 04:52:24 -0600 Subject: [PATCH 32/36] community: Add Fundacion Bitcoin Columbia --- _templates/community.html | 28 ++++++++++++++++++---------- img/flags/CO.png | Bin 0 -> 146 bytes 2 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 img/flags/CO.png diff --git a/_templates/community.html b/_templates/community.html index 976b3336..8e64cd28 100644 --- a/_templates/community.html +++ b/_templates/community.html @@ -96,14 +96,20 @@ id: community Bitcoin Alliance of Canada

+
+

Colombian FlagColombia

+

+ Fundación Bitcoin Colombia +

+
+ + -

French flagFrance

@@ -116,14 +122,14 @@ id: community Bundesverband Bitcoin e.V.

+
+ -

Irish flagIreland

@@ -136,14 +142,14 @@ id: community איגוד הביטקוין הישראלי

+
+ -

Dutch flagNetherlands

@@ -157,14 +163,14 @@ id: community Bitcoin Organization of the Philippines

+
+ -

Romanian flagRomania

@@ -177,14 +183,14 @@ id: community Crypto Currencies Foundation Russia

+
+ -

Slovenian flagSlovenia

@@ -197,6 +203,8 @@ id: community Svenska Bitcoinföreningen

+
+

Swiss flagSwitzerland

diff --git a/img/flags/CO.png b/img/flags/CO.png new file mode 100644 index 0000000000000000000000000000000000000000..306e3cf5fbdb40b16dc09ee6eae8b296373ad80d GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUtNKY5Xkc@k8ZyJg=7>KYO%no#J z^q+F{vZ7MvzvM1agRjeS)x?477#eC1c)5c#Lcs>!6Q9eHz?^i3*So9@LCgkYhIWve b2iqI?XJx3YnsWNNCP>`V)z4*}Q$iB}bJr(I literal 0 HcmV?d00001 From d90fe912f55f27031dcfb47dbf313af8142f3bb3 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sun, 19 Feb 2017 14:25:59 +0100 Subject: [PATCH 33/36] Update expiration date for laanwj keys These keys have expired. Although the expiration date can be updated from the keyserver with --refresh-keys, it seems useful to update these here. --- laanwj-releases.asc | 236 +++++++++++++++++++++++++++- laanwj.asc | 366 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 575 insertions(+), 27 deletions(-) diff --git a/laanwj-releases.asc b/laanwj-releases.asc index c5b50083..774aea6f 100644 --- a/laanwj-releases.asc +++ b/laanwj-releases.asc @@ -31,6 +31,238 @@ uMysu004imrPQRnH+I780W3htFBFhiZ+yhSllb4sJrW5awitIQxxe3V+xcDjyidh 32GjKDXvb4GHHuDC6uK2Hj0PB8XfqT1O1eCN3E/tn00al6qx/SvLnhW0BlqWwvVh cJpQE5pa7E97Gw+arD1/XPy0WRX8SuEphdZ+sN1tP8yZZK8Bvi0rz+p0n5aop6Z6 6Fj2buJnVQK6xDfXwt6/F5s7lyx1QKC4wF0MiMA8jv2KkbFEuiuiteNynrsGV7UZ -0VNvCdXe1cDKPnC64HP7nPluFRMLZbWq4DESbfGCCrmzz7f7eAEn -=mufP +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 +VQP6CiNkIpZUbXkQFRwtKgI4DrQ81/g= +=Pf37 -----END PGP PUBLIC KEY BLOCK----- diff --git a/laanwj.asc b/laanwj.asc index 55929510..52b82f14 100644 --- a/laanwj.asc +++ b/laanwj.asc @@ -1,28 +1,344 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: SKS 1.1.0 +Version: GnuPG v1 -mQENBE5UtMEBCADOUz2i9l/D8xYINCmfUDnxi+DXvX5LmZ39ZdvsoE+ugO0SRRGdIHEFO2is -0xezX50wXu9aneb+tEqM0BuiLo6VxaXpxrkxHpr6c4jf37SkE/H0qsi/txEUp7337y3+4HMG -lUjiuh802I72p1qusjsKBnmnnR0rwNouTcoDmGUDh7jpKCtzFv+2TR2dRthJn7vmmjq3+bG6 -PYfqoFY1yHrAGT1lrDBULZsQ/NBLI2+J4oo2LYv3GCq8GNnzrovqvTvui50VSROhLrOe58o2 -shE+sjQShAy5wYkPt1R1fQnpfx+5vf+TPnkxVwRb3h5GhCp0YL8XC/BXsd5vM4KlVH2rABEB -AAG0K1dsYWRpbWlyIEouIHZhbiBkZXIgTGFhbiA8bGFhbndqQGdtYWlsLmNvbT6JATgEEwEC -ACIFAk5UtMECGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHSBCwEjRsmmy6YIAK09 -buNXyYQrJBsX16sXxEhx5QPKyF3uHJDFJv66SdnpvIkNoznsaPiRJkbTANop93FZmaGa6wVn -zGDiz7jPA8Dpxx5aAYPhIT+zPJAdXWM3wJ/Gio9besRNzniai8Lwi5MZ9R/5yFGBobm6/AcN -4sUoqA3NSV2U3I29R0Vwlzo8GVtmyi9ENSi6Oo7AcXNTRt69cxW4nAHkB+amwwDJlcAb31ex -bogYXPhScwqQZixRr+JBkKxBjkTXXnQypT4KI5SegYwQVYfyiZmDP7UHKe/u6pSKKbVphLg8 -xLB5spcXse8/a2+onrbNlw6y8TXiJ++Z54PE7zztWTXf2huakeG5AQ0ETlS0wQEIAMNO3OkP -xoPRKWzBLcI7JRITAW+HNaLTq3uN2+4WxA57DEjbL9EDoAv+7wTkDAL40f0T+xiu6GJcLFjw -GJZu/tYu7+mErHjrdo+K4suCQt7w5EXCBvOLjhW4tyYMzNx8hP+oqzOW9iEC+6VV91+DYeqt -EkJuyVXOI4vzBlTw8uGow8aMMsCq8XVvKUZFTPsjGl197Q5B3A+ZOFCR8xqiqdPjuz6MglVV -oFdDNu3EZn8zkGsQlovXoE9ndVeVzx/XMNmsxFaMYsReUs253RIf1FEfgExID0fg2OnyLCjS -2iFW1RgajS+/saIkKl+N1iuMzJA7wMAM0plhRueOG0MtZSsAEQEAAYkBHwQYAQIACQUCTlS0 -wQIbDAAKCRB0gQsBI0bJpmsDB/4waenn2CvSHXyomykfpwf5lMte1V5LvH3z5R2LY+1NopRv -LSz3iC39x69XWiTbhywDfgafnGPW4pWBOff2/bu5/A6z1Hnan1vyrRRD/hx1uMJ7S6q+bIvZ -iVIg1p0jH6tdIIhwX3cydhdRZHo7e9oSMgOUWsr6Ar59NRo9CENwGPE4U61HXfOnxWdrFWoA -XdwZczBeLxmUy6Vo6sKqv+gE4bqrtAM0sY/MsQ9cU95x+52ox/sq44lQMwd3ZBYUP7B1qbHI -hZSZuch6MLi5scLPeau0ZvCaljiaMeivP5+x0gWPRs0kI+9sZxInbqvrsJ6oOBJM3xYGhtn1 -zZ7qmZR7 -=si/k +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 +=Oxit -----END PGP PUBLIC KEY BLOCK----- From a8ee7f6978d8893046f74e5e3704663d2aeddb6a Mon Sep 17 00:00:00 2001 From: Lawrence Nahum Date: Wed, 22 Feb 2017 15:59:42 +0100 Subject: [PATCH 34/36] update itunes account for GreenAddress iOS app --- _templates/choose-your-wallet.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_templates/choose-your-wallet.html b/_templates/choose-your-wallet.html index f2c7b488..b46a5867 100755 --- a/_templates/choose-your-wallet.html +++ b/_templates/choose-your-wallet.html @@ -689,7 +689,7 @@ wallets: privacynetwork: "checkpassprivacynetworksupporttorproxy" ios: text: "walletgreenaddress" - link: "https://itunes.apple.com/us/app/greenaddress/id889740745?ls=1&mt=8" + link: "https://itunes.apple.com/app/id1206035886" source: "https://github.com/greenaddress/WalletCordova" screenshot: "greenaddressandroid.png" os: From 1c25972a767ee766040608619ad8c9a5abba70a4 Mon Sep 17 00:00:00 2001 From: Chris Wagner Date: Thu, 23 Feb 2017 11:20:42 -0500 Subject: [PATCH 35/36] Add Spendabit (https://spendabit.co/) to the Directories section of the Resources page. --- _templates/resources.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_templates/resources.html b/_templates/resources.html index 5390c7af..aaba8c3a 100644 --- a/_templates/resources.html +++ b/_templates/resources.html @@ -24,6 +24,7 @@ id: resources

Icon{% translate directories %}

{% translate linkwallets %} - bitcoin.org

{% translate linkmerchants %} - coinmap.org

+

{% translate linkmerchants %} - spendabit.co

{% translate linkmerchants %} - airbitz.co

{% translate linkmerchants %} - 99Bitcoins.com

{% translate linkmerchants %} - usebitcoins.info

From f55ac92e40c18a2e2afcd1caae7b266c84974f32 Mon Sep 17 00:00:00 2001 From: Will Binns Date: Tue, 28 Feb 2017 16:36:51 -0600 Subject: [PATCH 36/36] events: Add latest events --- _events.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/_events.yml b/_events.yml index 90ee09b2..f3aa8950 100644 --- a/_events.yml +++ b/_events.yml @@ -102,6 +102,30 @@ country: "Australia" link: "http://www.questevents.com.au/apac-blockchain-conference-2017" +- date: 2017-03-17 + title: "BlockchainUA Conference Kyiv" + venue: "Conference Hall, Oasis, Ultramarine, 3rd floor" + address: "Vasylia Lypkivskoho St, 1А, 02000" + city: "Kyiv" + country: "Ukraine" + link: "http://blockchainua.com/" + +- date: 2017-03-18 + title: "The 2nd All-Ukrainian Blockchain Hackathon" + venue: "2nd floor" + address: "Verkhnii Val st, 10" + city: "Kyiv" + country: "Ukraine" + link: "http://blockchainua-hackathon.com/en" + +- date: 2017-04-07 + title: "CoinFestUK" + venue: "Manchester Conference Centre" + address: "Sackville Street, M1 3BB" + city: "Manchester" + country: "United Kingdom" + link: "https://www.coinfestuk.org" + - date: 2017-05-19 title: "Bitcoin Conference Prague" venue: "Angelo Hotel Prague" @@ -126,6 +150,14 @@ country: "United States" link: "https://coinsbank.com/cruise" +- date: 2017-06-01 + title: "Blockchain Expo Europe" + venue: "Estrel" + address: "Sonnenallee 225, 12057" + city: "Berlin" + country: "Germany" + link: "http://www.blockchain-expo.com/europe" + - date: 2017-06-26 title: "Money 2020 Europe" venue: "Bella Center"