Compare commits

..

119 commits

Author SHA1 Message Date
Joshua Seigler
11c086fe5e Add scripts to collect RPCs and expand summaries 2019-10-29 09:53:18 -04:00
Joshua Seigler
6e61800c97 Create script to apply RPC internal links 2019-10-28 17:57:27 -04:00
Joshua Seigler
5365b23a9c Add script to apply references for external links 2019-10-28 15:42:23 -04:00
Joshua Seigler
81e15f4d9e Convert summaries.md into a script 2019-10-28 12:00:08 -04:00
Joshua Seigler
4be3501939 Add Readme.io conversion script 2019-10-24 10:01:53 -04:00
thephez
0b2e0319c7
RPC - Add combinerawtransaction (#162)
* RPC - Add combinerawtransaction

* Add links to other rawtx RPCs
2019-10-02 14:07:42 -04:00
thephez
4e64bcbf89
RPC backports (#161)
* RPC - Update estimatesmartfee
Change params, results, and example

* RPC - Update signrawtransaction to include amount

* RPC - Add getblockstats

* Formatting corrections
2019-10-02 11:46:47 -04:00
thephez
471899ae2d
RPC - Add getbestchainlock (#160)
* RPC - Add getbestchainlock

* Add missing markdown file
2019-09-30 16:06:46 -04:00
thephez
1b23f2c8e4
Update faucet list to remove non-functional faucets 2019-09-17 10:01:40 -04:00
thephez
66fc0be0dc
PrivateSend updates (#159)
* Content - PrivateSend no longer creates new mixing pools unnecessarily

* Content - Remove outdated statement about PrivateSend denom conversion

* Content - Update queue strategy with 14.1 change
2019-09-17 09:27:22 -04:00
thephez
924eaaa008
RPC - Remove unsupported feature (segwit and RBF-related) content (#158)
* RPC - Remove segwit-related addwitnessadress

* RPC - Remove RBF-related bumpfee

* Remove segwit-related comments
2019-09-16 11:59:28 -04:00
thephez
8eb56e6fc9
Guide - Update Dash features section (#157)
* Content - Update InstantSend section with LLMQ-IS detail

* Content - Add historical reference section for deprecated design info

* Content - Move old MN sync section to historical reference

* Formatting fix

* Typo fixes

* Content - move old MN payment description to historical reference
2019-09-16 09:57:41 -04:00
thephez
3a68e8987a
RPC - Update fundrawtransaction and gettxout (#156)
* RPC - Remove version from gettxout

* RPC - deprecated reserveChangeKey in fundrawtx
2019-09-11 14:52:02 -04:00
thephez
1d8d23d083 RPC - add IS fields to getblock
Update RPC table for getrawtx
2019-09-09 11:02:08 -04:00
thephez
211265790a
RPC - Update getrawtransaction (#153)
* RPC - Update getrawtransaction
 - Move hex field
 - Update examples

* RPC - Add height field to getrawtransaction
2019-09-09 10:04:40 -04:00
thephez
9c2b5e09b3
Content - Default regtest port changed 18332->19898 (#152)
* Content - Default regtest port changed 18332->19898
Avoids conflict with bitcoin

* Content - Update default regtest P2P port to 19899

* Content - Display default devnet port

* Formatting
2019-09-05 16:29:46 -04:00
thephez
2d740801ae
RPC - Remove setbip69enabled command (#151) 2019-09-05 16:23:34 -04:00
thephez
d79945cd87
Config - Update nokogiri version due to CVE-2019-5477 (#150) 2019-08-23 10:01:01 -04:00
thephez
806f29dce1
V0.14.1 RPC updates (#148)
* RPC - Add getmemoryinfo mode parameter

* RPC - Update RPC Table and quick-ref for getmemoryinfo

* RPC - Add disconnectnode nodeid parameter

* RPC - Update formatting of previous versions

* RPC - Add getmempoolinfo instantsendlocks param

* Correct RPC table getmemoryinfo entry

* Formatting - fix getmempoolinfo indentation

* RPC - getinfo add deprecations-warning

* RPC - estimatesmartfee add conservative param

* RPC - remove instantsendtoaddress references

* RPC - IS changes
 - Remove instantsend field from result of getmempoolentry and 
getrawmempool
 - Deprecated IS send params for multiple RPCs

* RPC - Remove deprecated starting/current priority fields
 Related to dashpay/dash#2768

* Add missing change to fix build error

* RPC Table and quick ref updates

* RPC - Add addrbind to getpeerinfo

* RPC - Add bogosize and disk_size to gettxoutsetinfo

* RPC - Add query_options to listunspent

* Typo fix in generate RPC

* RPC - Add abortrescan

* Formatting fix

* RPC - Add param to listsinceblock 
Also fix depth issue with full tx template and add abandoned field

* RPC - update 2nd param name in submitblock

* RPC - Add conf_target and estimate_mode to sendmany and sendtoaddress

* RPC - Add new uptime RPC

* RPC - Add new listwallets RPC

* RPC - Add new getchaintxstats RPC

* RPC - Update category list for debug

* RPC - Update getblockchaininfo statistics format

* RPC - Add uptime to table

* RPC - Add new logging RPC

* RPC - Add hex field to getblock

* Update rpc table
2019-08-22 16:42:38 -04:00
thephez
f527344b13
RPC add quorum memberof (#147)
* RPC - Add quorum memberof sub-command

* RPC - improve formatting of some quorum examples

* Typo fix

* Formatting and result description
2019-08-19 09:34:44 -04:00
thephez
47783eb41f
RPC - Add getmerkleblocks (#146)
* RPC - Add getmerkleblocks

* Fix xref issue

* Add missing link
2019-08-15 13:07:22 -04:00
thephez
9e953be7b5
P2P - Deprecate inclusion of entry count in dssu message (#145) 2019-08-14 13:44:40 -04:00
thephez
80e4cce47e
V0.14.1 spork updates (#143)
* Content - Update list of sporks
 - Move 5 and 12 to removed list

* RPC - Update spork output
2019-08-08 13:03:32 -04:00
thephez
d1db8ba12d
V0.14.1 P2P deprecations (#144)
* P2P - Remove Alert guide info and code xref

* P2P - Move alert message to deprecated section

* Content - Remove misbehave based on alert

* P2P - Update IS related inventories (changed due to LLQM-IS)

* P2P - Move ix and txlvote messages to deprecated section

* P2P - Add warning icon for deprecated messages

* Content - remove bad link

* RPC - Remove alert categoryfrom debug list
 - Also remove previously eliminated masternode category

* P2P - Remove messages deprecated in 0.12.1

* P2P - Remove messages deprecated in 0.14.0

* Move alert, ix, and txlvote to deprecated section of config.yml

* Remove deprecated messages from references
2019-08-08 12:52:05 -04:00
thephez
c3527c18ab
Config - Update version in Doxyfile to 0.14.0.2 (#142) 2019-07-04 10:28:13 -04:00
thephez
3f6f7a7dd7
Rpc/getreceivedbyaddress note (#141)
* RPC - getreceivedbyaddress clarification

* RPC - getreceivedbyaddress
2019-06-26 09:38:26 -04:00
thephez
1d7d3920a7
RPC GObject updates (#140)
* RPC - Update gobject check example

* RPC - Update gobject count examples

* RPC - Update gobject prepare
 - Add details for how to create the data-hex field

* RPC - Update gobject submit

* RPC - Update gobject deserialize (proposal)

* RPC - Add data-hex note to prepare/submit

* RPC - Update trigger deserialize example
 - Add missing SigningMasternode field
2019-06-17 15:23:57 -04:00
thephez
1936f62587
Content - Bump current proto version (#139) 2019-06-13 14:55:03 -04:00
thephez
a3642bf28c
Content - Add protocol version 70215 (#138) 2019-06-13 13:44:12 -04:00
thephez
937a179ab8
Content - Add Proof of Service section (#137)
* Content - Add Proof of Service section
 - Describe v0.14.0 PoSe scoring

* Add LLMQs and PoSe links to main page

* Correct un-banning special tx type

* Review updates
2019-06-06 09:52:17 -04:00
thephez
4dad3915f4
Config - Update nokogiri (CVE-2018-14404) (#136) 2019-06-03 11:37:30 -04:00
thephez
9d56024219
Config - Update version in Doxyfile to 0.14.0.1 (#134) 2019-06-03 10:22:09 -04:00
thephez
ecb57a023b
Content/v0.14.0 glossary update (#133)
* Content - Add glossary entries
 - ChainLock, LLMQ, Special Tx

* Content - Add norefs to prevent broken links
2019-05-23 11:37:26 -04:00
thephez
1bd057a071
Config - Update version in Doxyfile to 0.14.0.0 (#132) 2019-05-23 11:12:37 -04:00
thephez
c8a285539d
Fix - Make qsendrecsigs message show up in search (#131) 2019-05-21 10:12:50 -04:00
thephez
85f779bfc5
Config - analytics (#130)
* Config - Update analytics

* Config - Enable analytics IP anonymization
2019-05-20 12:08:22 -04:00
thephez
e98d344734 Trivial - Add release month 2019-05-17 10:23:43 -04:00
thephez
960a98d96e Minor review update 2019-05-17 10:23:43 -04:00
thephez
c523af4ca9 Minor review updates
- listunspent RPC - remove RBF-related text
 - InstantSend
   - Convert improvement list to table
   - Add some additional detail
   - Update limitation list
2019-05-17 10:23:43 -04:00
thephez
ebe222c4f3 P2P - Add qcomplaint info and updated hexdump 2019-05-17 10:23:43 -04:00
thephez
029a436cf2 P2P - Add real qjustify hexdump 2019-05-17 10:23:43 -04:00
thephez
3d2842c6a6 RPC - Add quorum getrecsig (#129)
* RPC - Add quorum getrecsig

* RPC - Put id and msgHash in proper byte order
2019-05-17 10:23:43 -04:00
thephez
8c6d438a3a Cleanup (#128)
* Config - remove unused keys

* Remove aliases

* Script - minor updates

* Remove bitcoin papers

* Delete all but a couple example events

* Update all QE BIP links to reflect current reop location

* One more BIP link update
2019-05-17 10:23:43 -04:00
thephez
afe721020a V0.14.0 Misbehaving node list (#127)
* Content - Add details for LLMQs

* Content - Add/update remaining misbehaving events

* Content - Delete removed misbehaving messages 
 - Eliminated by DIP3 MNs
2019-05-17 10:23:43 -04:00
thephez
a0bf4ca79e Content - superblock clarify (#126)
* Content - Additional info regarding superblocks

* Content - Clarify superblock details

* Apply suggestions from code review

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Typo fix

* Update _includes/devdoc/guide_dash_features.md

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Formatting
2019-05-17 10:23:43 -04:00
thephez
9face1852d Formatting fix 2019-05-17 10:23:43 -04:00
thephez
d76e5b4e31 V0.14.0 LLMQ remove qdebugstatus and related items (#125)
* P2P - Remove qdebugstatus message

* Move Spork 18 and Quorum debug inv to deprecated list

* RPC - Remove quorum dkgstatus protx param
2019-05-17 10:23:43 -04:00
thephez
57ccbe0a8f RPC - Update masternodelist
- Related to dashpay/dash#2887
2019-05-17 10:23:43 -04:00
thephez
9d69c14b0b V0.14.0 LLMQ InstantSend (#124)
* InstantSend - Add partial LLMQ-IS details

* InstantSend - Add clarification and data flow

* Minor formatting change

* InstantSend - Add LLMQ-IS info to ChainLock section

* RPC - Add instantllock_internal field to RPCs

* Formatting update

* Formatting fix

* Content - Clarify instantlock* descriptions
2019-05-17 10:23:43 -04:00
thephez
ad582d2b58 Quroum Commitment tx update - add missing version field
- Updated hexdump
2019-05-17 10:23:43 -04:00
thephez
6ee3f06b32 V0.14.0 P2P/RPC updates (#123)
* P2P - LLMQ debug messages
 - Move below DKG and signing
 - Don't show qdebugstatus

* P2P - Update qbsigs and qsigsinv

* Content - add details related to some Dash Core constants

* RPC - Add DKG phases to quorum status

* P2P - Update version msg with mnauth challenge

* P2P - Update version hexdump
 - Include mn auth challenge

* Content - Minor updates
 - Fix filterload cross ref url
 - Add note about special tx bloom filter support

* Content - update RPC examples based on added CbTx quorum merkle field
2019-05-17 10:23:43 -04:00
thephez
aa254c489c V0.14.0 Guide - LLMQs (#122)
* Guide - Start adding LLMQ DKG data flow details

* Guide - Add Quorum description

* Content - Add descriptions for LLMQ messages

* Content - Add qjustify description

* Formatting fix

* Guide - placeholder for LLMQ signing session details

* Guide - Add LLMQ signing session data flow draft

* Guide - Minor quorum adjustments

* Guide - cross ref fixes

* Guide - Add ChainLocks info

* Content - Add DIP8 references

* Content - DIP Table update
2019-05-17 10:23:43 -04:00
thephez
e2e2119ec8 RPC - Minor fixes 2019-05-17 10:23:43 -04:00
thephez
0d26ece007 V0.14.0 Guide updates (#120)
* Guide - PrivateSend updates
 - Variable paticipant count
 - Link updates

* Guide - MN sync reorg
 - Move all content regarding old mn sync system to a subsection

* Guide - Governance sync update
 - Related to dashpay/dash#2124

* Content - Remove governance watchdog references
 - Related to dashpay/dash#2816

* Content - Governance sync update

* Content - Update Dash Core version and protocol number

* Formatting fix

* Content - Disclaimer and roadmap link

* Content - Update Sentinel info to indicate deprecation of sentinelping

* Formatting fix
2019-05-17 10:23:43 -04:00
thephez
2cd30414e7 V0.14.0 DIP4 CbTx and mnlistdiff updates (#119)
* P2P - Add quorum merkle root to CbTx
 - Update hexdump
 - Add table for version history

* P2P - Add mnlistdiff quorum info

* P2P - Update mnlistdiff hexdump (mocked)
2019-05-17 10:23:43 -04:00
thephez
37a929ff62 V0.14.0 Add quorum dkg message examples (#118)
* P2P - Add qpcommit hexdump and corrections

* P2P - Add qfcommit hexdump

* RPC - Update quorum dkgstatus example

* P2P - Add qcomplaint hexdump

* P2P - Add qcontrib hexdump and missing fields

* P2P - Add qjustify parial example hexdump (need actual data)
2019-05-17 10:23:43 -04:00
thephez
83ddb982e7 V0.14.0 P2P Add hexdumps for new misc and signing session messages (#117)
* P2P - Add SendDsq hexdump

* P2P - Add MnAuth hexdump
Minor typo corrections

* P2P - Add islock hexdump
Added description of islock message

* Fix islock hexdump typo

* P2P - Add qsendrecsigs hexdump

* P2P - Add qsigrec hexdump
This is the qsigrec corresponding to the islock example hexdump

* P2P - Add qsigsesann hexdump

* P2P - Add qsigsinv hexdump (partial)

* P2P - Add more qbsigs details

* P2P - Update qsigsinv example to match qbsigs

* P2P - Update qsigsesann example to match qbsigs

* P2P - qbsig example update

* P2P - Add partial qgetsigs info

* Content - Add overview for quorum DKG and Signing messages

* P2P - Add clsig hexdump
2019-05-17 10:23:43 -04:00
thephez
e9b5ee211c V0.14.0 RPC Update, 2 (#116)
* RPC - Update masternode current and winner
 - Remove protocol, lastseen, activeseconds

* RPC - Remove gobject getvotes
 - Related to dashpay/dash#2815

* RPC - Protx diff update
 - Add merkleRootQuorums field

Related to dashpay/dash#2833

* RPC - listunspent update

Related to dashpay/dash#2727

* RPC - protx update_registrar update
 - Rename votingKeyAddr to votingAddress

Related to dashpay/dash#2747

* RPC - Add bls fromsecret

Related to dashpay/dash#2841

* RPC - Start adding quorum RPCs

* RPC - Add quorum info details Minor formatting updates

* RPC - Add placeholders for remaining quorum sub-commands

* RPC - Add quorum sign/hasrecsig/isconflicting details

* RPC - Add note to regtest only quorum RPCs

* RPC - Add more detail to quorum dkgstatus

* Typo fix

* Minor format and example updates

* RPC - Add more quorum dkgstatus details
 - Field descriptions

* RPC - Add quorum dkgstatus detail level 1 and 2 info

* RPC - protx update
 - Remove support for "0"

Related to dashpay/dash#2622
2019-05-17 10:23:43 -04:00
thephez
b0c8a4695a V0.14.0 rpc chainlock param (#115)
* RPC - Add chainlock param to getrawtransaction and gettransaction

* RPC - Add chainlock param to listtransactions  - Also removes unused bip125-replaceable

* RPC - Add chainlock param to getblock

* RPC - Update getblock - add cbTx

* RPC - Update listsinceblock
 - Example updated with chainlock param
 - Removed bip125-replaceable param
2019-05-17 10:23:43 -04:00
thephez
865990cd4b V0.14.0 Coin priority (RPC and Guide) and Debug (#114)
* RPC - Update debug category list
 Related to dashpay/dash#2810

* RPC - Coin age priority updates
 - Remove estimate*priority
 - Remove priority param from prioritisetransactions
 - Adjust relay-fee param descriptions

* Formatting - Minor fixes

* Content - Sync guide and glossary with priority changes
2019-05-17 10:23:43 -04:00
thephez
e057568ccf V0.14.0 New P2P msgs (initial) (#113)
* P2P - Add placeholders for new messages

 - Misc: senddsq, clsig, islock, mnauth
 - Quorum: qsendrecsigs, qcomplaint, qjustify, qpcommit, qwatch, 
qdebugstatus, qsigsesann, qsigsinv, qgetsigs, qbsigs, qsigrec

* P2P - Add new inventory types

* P2P - Add new messages to cross-ref and search (incomplete)

Some new messages don't have descriptions yet

* P2P - Indicate quorum-related msgs that are not broadcast network wide

These msgs are for intra-quorum comm

* P2P - Sort quorum msgs to alphabetical order

* P2P - Add details to SendDsq

* P2P - Add field details to some new quorum msgs
 - qbsigs, qsigsesann, and qsigsinv

* P2P - Add partial details to ClSig msg

* P2P - Add partial details to qcomplaint and qcontrib

* P2P - Add DIP8 links

* P2P - Fix some field sizes

* P2P - Add partial details to justification and premature commitment

* P2P - Add qwatch details

* P2P - Add partial qdebugstatus details

* P2P - Formatting update

* P2P - Add details to ISLock and MNAuth

* Formatting and typo corrections

* P2P - Add partiall details to qsendrecsigs and qsigrec messages

* Formatting - organize Quorum messages into sub-catergories
 - Debugging, Distributed Key Generateion, and Signing Sessions

* Formatting - Fix link issue

* P2P - Add missing qcontrib info

* P2P - Partial detail for qsigsesann and qgetsigs

* P2P - More partial details for quorum signing messages
2019-05-17 10:23:43 -04:00
thephez
f15d6f7011 P2P - Add 0.14 Major changes note 2019-05-17 10:23:43 -04:00
thephez
d7b8be3ec5 RPC - protx updates 2019-05-17 10:23:43 -04:00
thephez
500e2561a8 RPC/P2P - Updates from removing legacy MN system (#111)
* Spork updates
 - Remove 8, 10, 14
 - Add 18-20
 - Update hard-coded link
 - Update RPC example

* P2P - Move deprecated inventories to new table

* P2P - Move deprecated MN messages

* RPC - Update getgovernanceinfo
Removes `masternodewatchdogmaxseconds` and `sentinelpingmaxseconds`

* RPC - Update mnsync
 - Removes `IsMasternodeListSynced` and `IsWinnersListSynced`
 - Deprecate SYNC_LIST and MNW

* RPC - masternode
 - Move deprecated commands to bottom and remove sub-heading level

* RPC - Remove details of deprecated masternode commands

* RPC - masternode count updates

* RPC - masternode status updates

* RPC - Remove masternodebroadcast and sentinelping

* RPC - Update reference and table with update versions

* RPC - masternodelist updates

* RPC - masternodelist filter updates
2019-05-17 10:23:43 -04:00
thephez
097903ca2d
V0.13.2 RPC Masternode lists (#110)
* RPC - Update protx list
 - Add missing fields
 - Re-order to match actual output

* RPC - Update masternodelist
2019-03-20 10:42:17 -04:00
Aiden McClelland
d208dac362 removed p2pkh constraint on protx register_fund (#109)
I have tested this, and it works for P2SH addresses.
2019-03-14 13:52:02 -04:00
thephez
5387d8ec44
RPC - Add getspecialtxes RPC (#108)
* RPC - Add getspecialtxes RPC
 Related to dashpay/dash#2688

* RPC - Add getspecialtxes to RPC summary table
2019-03-06 10:24:50 -05:00
thephez
c2e6fae3cf
Update Doxygen project number to current Dash Core version (#107) 2019-02-14 10:06:40 -05:00
thephez
b604f67496
Convert atlassian links to point at docs.dash.org (#106) 2019-02-04 10:25:43 -05:00
Cofresi
65d536a6c5 explicit per input fee for non-simple tx (#104) 2019-01-23 09:54:17 -05:00
thephez
9f9bc89b6a
V0.13.0 special tx update (#101)
* Content - Fix CbTx cross reference

* Content - Highlight QcTx's lack of inputs and outputs

* Content - clarify DIP2 tx format

* Content - Add table showing implemented special txs

* Content - add JSON-RPC format info and example

* RPC - Update getrawtransaction example

Add special tx example also

* RPC - Update decoderawtransaction example

Add special tx example also
2019-01-04 12:59:39 -05:00
dashuser33
d0756f4470 Fix returned type for dumpwallet rpc call (#103)
Docs was stating that the result type was `null` when in fact it is an object.
2019-01-02 09:03:37 -05:00
thephez
5f02bd05a5
RPC - Make result type consistent with other RPCs (#102) 2019-01-02 08:40:03 -05:00
thephez
2472271e34
V0.13.0 protx fundaddress (#100)
* RPC - Add protx fee source/fund address parameter

* RPC - Update to match current help text
2018-12-28 11:59:53 -05:00
thephez
8df8364c81
V0.13.0 misc fixes (#99)
* Content - Update release note for 0.13.0

* RPC - Clarification note on gobject submit
2018-12-27 13:18:56 -05:00
thephez
7ce4a78ca3
V0.13.0 MN Sync updates (#98)
* Guide - Update MN sync info for DIP3

* Guide - Add deprecation warning for ongoing MN sync

* Guide - Update heading formatting

* Guide - Update MN sync images

Add DIP3 initial sync
Show DIP3-deprecated parts of ongoing sync

* Guide - Update MN sync status table
2018-12-27 13:00:03 -05:00
thephez
c779eef1e6
[P2P] - Masternode BLS Sigs (#97)
* P2P - Remove dsa and dsq input count

Related to dashpay/dash#2075, dashpay/dash#2259, and dashpay/dash#2318

* P2P - Update dsq and dstx to include BLS signature

Related to dashpay/dash#2352

* P2P - Update govobj and govobjvote to include BLS signature

Related to dashpay/dash#2352
2018-12-26 14:06:24 -05:00
thephez
8bde4abc21
Config - Travis deploy (#96)
Remove temporary fix for dpl 1.9 issue (#44 - related to
(travis-ci/travis-ci#9312))
2018-12-26 11:42:00 -05:00
thephez
28514b62d7
V0.13.0 RC updates (#95)
* Content - RPC - Update quick reference

* RPC - Update getblockchaininfo to show BIP-9 progress

Related to dashpay/dash#2435

* RPC - Update gobject prepare with new params

Use-IS (dashpay/dash#2452)
Use specific UTXO for fee (dashpay/dash#2482)

* RPC - Update mode name

* RPC - Update protx default mode

dashpay/dash#2513

* Content - Add spork 17

* Content - Special transactions

Add info for Quorum commitment
Remove messages not in 13.0 (SubTx)

* P2P - Add new txlvote fields

masternodeProTxHash (dashpay/dash#2484)
quorumModifierHash (dashpay/dash#2505)

* RPC - Update protx list

Make all options follow the same parameter format (dashpay/dash#2559)

* Content - version bump

0.13.0.0 bumped to 70213 (dashpay/dash#2557)

* Guide - PrivateSend dstx message limit

Up to 5 simultaneous dstxs per MN allowed (dashpay/dash#2552)

* RPC - Update getblock

Add missing versionHex field (dashpay/dash@e7d9ffa)
Change to use verbosity syntax (dashpay/dash#2506 and
bitcoin/bitcoin#8704)

* P2P - Add qfcommit message (no hexdump example)

DIP6 quorum final commitment (dashpay/dash#2477)

* P2P - qfcommit typo

Change description of llmqType field

* P2P - Special tx payload size clarification

* Guide - Update MN payment description

Related to dashpay/dash#2258

* Guide - fix broken link

* Guide - Update some example txs

Change to hashes on the chain following the 12.3.4 reset

* P2P - Add QcTx hexdump

* P2P - DIP4 message updates

Add SML entry
Update hexdump to include new fields
Add getmnlistd and mnlistdiff to cross ref

* P2P - minor DIP3-related comments
2018-12-26 11:05:10 -05:00
thephez
be84b44e9b Github Pages build debug (#94)
* Config - Minimize size of doxygen output

* Config - Renable doxygen class diagrams
2018-11-19 13:17:36 -05:00
thephez
2372ce3e56 V0.13.0 guide dash features (#93)
* Content - Guide - IS updates

Drop psuedo-confirmations
Automatic IS and fee changes

* Content - Guide - PS updates

Add 5th denom
Update collateral fee info

* Content - Guide - MN Sync schedule

Minor updates

* Content - Guide - Auto-IS limitations

* Content - Guide - Auto-IS limitation update
2018-11-19 13:17:36 -05:00
thephez
29b6536e89 Content - RPC - Generate can be used on testnet 2018-11-19 13:17:36 -05:00
thephez
4f5237cba4 Content - Correct 0.13.0 protocol version number 2018-11-19 13:17:36 -05:00
thephez
af6e45b63c Content - RPC - Add coinbase_payload to getblocktemplate 2018-11-19 13:17:36 -05:00
thephez
2f35efbf5d Content - Clarify OP_RETURN max text length
83 byte limit must factor in opcodes
2018-11-19 13:17:36 -05:00
thephez
00649c5928 Content - P2P - Add DIP4 p2p messages
getmnlistd and mnlistdiff with details
Update data message image with DIP4 messages
2018-11-19 13:17:36 -05:00
thephez
3e3660ffef Content - RPC - protx update
Correct result section of register_prepare
Add register_submit details
2018-11-19 13:17:36 -05:00
thephez
9ef3f3a791 Content - RPC - protx update
Rename registration with funding to register_fund
Add register_prepare for allowing external signing
2018-11-19 13:17:36 -05:00
thephez
04a2541355 V0.13.0 RPC protx (#91)
* Content - RPC - Add basic protx details

Example calls and subcommands only

* Content - RPC - Add parameter info for register RPCs

* Content - RPC - Add parameter info for list RPC

* Content - Create reusable var for ProTx details

* Content - RPC - Add parameter info for remaining protx subcommands

info, update_service, update_registrar, revoke, diff

* Content - RPC - Minor typo fixes
2018-11-19 13:17:36 -05:00
thephez
7aceb01cee Content - Add Crowdnode testnet faucet 2018-11-19 13:17:36 -05:00
thephez
3910f56978 Content - P2P - Note messages that will be deprecated by DIP3 2018-11-19 13:17:36 -05:00
thephez
c4e728c59f Content - RPC - Minor BLS changes 2018-11-19 13:17:36 -05:00
thephez
6eb7a16bbd Content - Spork - Add 2 new sporks 2018-11-19 13:17:36 -05:00
thephez
9fa37ab7df Content - RPC - Add bls
Used to create operator keys for DIP3 Pro*tx special txs
2018-11-19 13:17:36 -05:00
thephez
6a8da4d8ad Update 0.12.4 references to 0.13.0 2018-11-19 13:17:36 -05:00
thephez
b68663de1e V13.0 special txs (#90)
* Content - Add section for Special txs

* Content - Add necessary cross-refs

* Content - DIP3 - Add ProRegTx details

Description and example hexdump added

* Content - Minor DIP 2-5 formatting

* Content - formatting fix

* Content - DIP3 - Update ProRegTx Op Key info

Uses BLS public key instead of ECDSA pubkeyhash

* Content - DIP3 - Add ProUpServTx details

* Content - DIP3 - Update ProRegTx

Hexdump for both new collateral and reference to existing on

* Content - DIP3 - Update ProUpServTx

Add note about missing payloadSigSize
Hexdump corrections

* Content - DIP3 - Update ProUpServTx

Minor formatting updates

* Content - DIP3 - Add ProUpRevTx details

* Content - DIP4 - Add CbTx details

* Content - Update raw tx per DIP2

Split version into version and type
Add extra_payload fields

* Content - DIP3 - Add ProUpRegTx details
2018-11-19 13:17:36 -05:00
thephez
1c5293bb91 Content - RPC - Remove maxgovobjdatasize from getgovernanceinfo
From dashpay/dash#2298
2018-11-19 13:17:36 -05:00
thephez
461705aca1 Content - RPC - Add DIP2 fields to raw tx
- Applies to decoderawtransaction and getrawtransaction
 - Related to dashpay/dash#2239
2018-11-19 13:17:36 -05:00
thephez
38bc6ece62 Content - RPC - Add instantlock to getrawtx
- Related to dashpay/dash#2314
2018-11-19 13:17:36 -05:00
thephez
4be282f75c Content - RPC - Add PS amount and round
- Related to dashpay/dash#2230
2018-11-19 13:17:36 -05:00
thephez
8a4f9c9dcd Content - RPC - Add masternode check
- Related to dashpay/dash#2218
2018-11-19 13:17:36 -05:00
thephez
dd5e804658 Content - RPC - Update examples for RPCs using addlocked 2018-11-19 13:17:36 -05:00
thephez
7806d68e38 Content - RPC - Update masternode genkey
- Add `compressed` parameter
 - Related to dashpay/dash#2232
2018-11-19 13:17:36 -05:00
thephez
d62724bbe6 Content - RPC - Update getblocktemplate for DIP3
- Change `masternode` to array of objects
 - Related to dashpay/dash#2216
2018-11-19 13:17:36 -05:00
thephez
7f1341b64f Content - RPC - Update getblocktemplate
- Add `previousbits` field from dashpay/dash#2201
2018-11-19 13:17:36 -05:00
thephez
f9bd089ffd Content - RPC - Update dumpwallet with added info
- Change from dashpay/dash#2191
2018-11-19 13:17:36 -05:00
thephez
c31012eb70 Content - RPC - addlockconf to addlocked conversion
- Update 8 RPCs based on dashpay/dash#2040
2018-11-19 13:17:36 -05:00
thephez
88e97509c9
Config - Update ffi to 1.9.24 (CVE-2018-1000201 vulnerability fix) 2018-10-09 13:24:23 -04:00
thephez
e7d301918e
Content - Add new DIP links 2018-10-09 13:16:09 -04:00
thephez
e0ee46e1d6
Content - Doxyfile version bump to 0.12.3.3 2018-10-08 14:04:04 -04:00
thephez
b4b9a13713
Content - update DIP table 2018-10-08 13:57:06 -04:00
thephez
6c7609f137
Content - Update Tx malleability 2018-09-28 11:09:47 -04:00
thephez
7469ab4281 Content - RPC - getnetworkinfo (#86)
- Add missing `networkactive` parameter
2018-09-05 11:17:27 -04:00
thephez
75f002ac31 Add ChainRider REST service doc link (#84)
* Add ChainRider REST service doc link

* Minor link update
2018-07-23 14:10:01 -04:00
dash-docs
281f936708
Merge pull request #83 from thephez/doxygen_v0.12.3.2
Doxyfile version bump to 0.12.3.2
2018-07-23 13:45:23 -04:00
thephez
27504bb73d
Doxyfile version bump to 0.12.3.2 2018-07-23 13:33:48 -04:00
dash-docs
fd9b2532f9
Merge pull request #81 from thephez/pr_govobjvote_fix
Content - Fix govobjvote hexdump
2018-07-05 20:49:25 -04:00
thephez
65819e3b09
Content - Fix govobjvote hexdump 2018-07-05 20:23:36 -04:00
thephez
6aa26d7150
Doxyfile version bump to 0.12.3.1 (#80) 2018-07-03 13:51:34 -04:00
149 changed files with 10659 additions and 10299 deletions

View file

@ -48,10 +48,6 @@ deploy:
# #
# DEPLOY_SOURCE_BRANCH: Branch to deploy from # DEPLOY_SOURCE_BRANCH: Branch to deploy from
# Temp. fix for DPL 1.9 issue (https://github.com/travis-ci/travis-ci/issues/9312)
edge:
branch: v1.8.47
provider: pages provider: pages
skip-cleanup: true skip-cleanup: true
github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure

View file

@ -9,7 +9,7 @@ GEM
ethon (0.8.0) ethon (0.8.0)
ffi (>= 1.3.0) ffi (>= 1.3.0)
execjs (2.6.0) execjs (2.6.0)
ffi (1.9.10) ffi (1.9.24)
ffi-icu (0.1.10) ffi-icu (0.1.10)
ffi (~> 1.0, >= 1.0.9) ffi (~> 1.0, >= 1.0.9)
html-proofer (2.1.0) html-proofer (2.1.0)
@ -49,10 +49,10 @@ GEM
rb-fsevent (>= 0.9.3) rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9) rb-inotify (>= 0.9)
mercenary (0.3.5) mercenary (0.3.5)
mini_portile2 (2.3.0) mini_portile2 (2.4.0)
multi_json (1.11.2) multi_json (1.11.2)
nokogiri (1.8.2) nokogiri (1.10.4)
mini_portile2 (~> 2.3.0) mini_portile2 (~> 2.4.0)
parallel (1.6.1) parallel (1.6.1)
rake (10.4.2) rake (10.4.2)
rb-fsevent (0.9.7) rb-fsevent (0.9.7)

View file

@ -22,7 +22,10 @@ bitcoinj:
'`block` messages': block message '`block` messages': block message
'`blocktxn` message': blocktxn message '`blocktxn` message': blocktxn message
'`blocktxn` messages': blocktxn message '`blocktxn` messages': blocktxn message
'CbTx': coinbase special tx
certificate chain: certificate chain:
'`clsig` message': clsig message
'`clsig` messages': clsig message
'`cmpctblock` message': cmpctblock message '`cmpctblock` message': cmpctblock message
'`cmpctblock` messages': cmpctblock message '`cmpctblock` messages': cmpctblock message
DER: DER:
@ -38,8 +41,6 @@ DER-formatted: der
'`dsi` messages': dsi message '`dsi` messages': dsi message
'`dsq` message': dsq message '`dsq` message': dsq message
'`dsq` messages': dsq message '`dsq` messages': dsq message
'`dseg` message': dseg message
'`dseg` messages': dseg message
'`dss` message': dss message '`dss` message': dss message
'`dss` messages': dss message '`dss` messages': dss message
'`dssu` message': dssu message '`dssu` message': dssu message
@ -69,6 +70,8 @@ fiat:
'`getheaders` messages': getheaders message '`getheaders` messages': getheaders message
'`getaddr` message': getaddr message '`getaddr` message': getaddr message
'`getaddr` messages': getaddr message '`getaddr` messages': getaddr message
'`getmnlistd` message': getmnlistd message
'`getmnlistd` messages': getmnlistd message
'`getsporks` message': getsporks message '`getsporks` message': getsporks message
'`getsporks` messages': getsporks message '`getsporks` messages': getsporks message
'`govobj` message': govobj message '`govobj` message': govobj message
@ -83,6 +86,8 @@ intermediate certificate:
intermediate certificates: intermediate certificate intermediate certificates: intermediate certificate
'`inv` message': inv message '`inv` message': inv message
'`inv` messages': inv message '`inv` messages': inv message
'`islock` message': islock message
'`islock` messages': islock message
'`ix` message': ix message '`ix` message': ix message
'`ix` messages': ix message '`ix` messages': ix message
IP address: DO NOT AUTOCROSSREF IP address: DO NOT AUTOCROSSREF
@ -110,16 +115,10 @@ merge:
Merge avoidance: DO NOT AUTOCROSSREF Merge avoidance: DO NOT AUTOCROSSREF
micropayment channel: micropayment channel:
micropayment channels: micropayment channel micropayment channels: micropayment channel
'`mnb` message': mnb message '`mnauth` message': mnauth message
'`mnb` messages': mnb message '`mnauth` messages': mnauth message
'`mnget` message': mnget message '`mnlistdiff` message': mnlistdiff message
'`mnget` messages': mnget message '`mnlistdiff` messages': mnlistdiff message
'`mnp` message': mnp message
'`mnp` messages': mnp message
'`mnv` message': mnv message
'`mnv` messages': mnv message
'`mnw` message': mnw message
'`mnw` messages': mnw message
'`MSG_BLOCK`': msg_block '`MSG_BLOCK`': msg_block
'`MSG_FILTERED_BLOCK`': msg_filtered_block '`MSG_FILTERED_BLOCK`': msg_filtered_block
'`MSG_TX`': msg_tx '`MSG_TX`': msg_tx
@ -150,6 +149,10 @@ pki:
'`pong` message': pong message '`pong` message': pong message
'`pong` messages': pong message '`pong` messages': pong message
previous block header hash: previous block header hash:
'ProRegTx': proregtx special tx
'ProUpRegTx': proupregtx special tx
'ProUpRevTx': prouprevtx special tx
'ProUpServTx': proupservtx special tx
protocol buffer: protobuf protocol buffer: protobuf
protocol buffers: protobuf protocol buffers: protobuf
protocol version 106: section protocol versions protocol version 106: section protocol versions
@ -166,6 +169,31 @@ protocol version 70012: section protocol versions
protocol version 70013: section protocol versions protocol version 70013: section protocol versions
protocol version 70014: section protocol versions protocol version 70014: section protocol versions
public key infrastructure: pki public key infrastructure: pki
'QcTx': quorum commitment special tx
'`qbsigs` message': qbsigs message
'`qbsigs` messages': qbsigs message
'`qcomplaint` message': qcomplaint message
'`qcomplaint` messages': qcomplaint message
'`qcontrib` message': qcontrib message
'`qcontrib` messages': qcontrib message
'`qfcommit` message': qfcommit message
'`qfcommit` messages': qfcommit message
'`qgetsigs` message': qgetsigs message
'`qgetsigs` messages': qgetsigs message
'`qjustify` message': qjustify message
'`qjustify` messages': qjustify message
'`qpcommit` message': qpcommit message
'`qpcommit` messages': qpcommit message
'`qsendrecsigs` message': qsendrecsigs message
'`qsendrecsigs` messages': qsendrecsigs message
'`qsigrec` message': qsigrec message
'`qsigrec` messages': qsigrec message
'`qsigsesann` message': qsigsesann message
'`qsigsesann` messages': qsigsesann message
'`qsigsinv` message': qsigsinv message
'`qsigsinv` messages': qsigsinv message
'`qwatch` message': qwatch message
'`qwatch` messages': qwatch message
'`r`': r '`r`': r
receipt: DO NOT AUTOCROSSREF receipt: DO NOT AUTOCROSSREF
recurrent rebilling: recurrent rebilling:
@ -180,6 +208,8 @@ RPCs: rpc
secp256k1: secp256k1:
'`sendcmpct` message': sendcmpct message '`sendcmpct` message': sendcmpct message
'`sendcmpct` messages': sendcmpct message '`sendcmpct` messages': sendcmpct message
'`senddsq` message': senddsq message
'`senddsq` messages': senddsq message
'`spork` message': spork message '`spork` message': spork message
'`spork` messages': spork message '`spork` messages': spork message
'`ssc` message': ssc message '`ssc` message': ssc message
@ -248,24 +278,33 @@ CVE-2012-2459:
## DIPs in numerical order; don't use padding zeros (e.g. DIP1 not DIP0001) ## DIPs in numerical order; don't use padding zeros (e.g. DIP1 not DIP0001)
DIP1: DIP1:
DIP2:
DIP3:
DIP4:
DIP5:
DIP6:
DIP7:
DIP8:
## RPCs ## RPCs
'`abandontransaction`': rpc abandontransaction '`abandontransaction`': rpc abandontransaction
'`abandontransaction` RPC': rpc abandontransaction '`abandontransaction` RPC': rpc abandontransaction
'`abortrescan`': rpc abortrescan
'`abortrescan` RPC': rpc abortrescan
'`addmultisigaddress`': rpc addmultisigaddress '`addmultisigaddress`': rpc addmultisigaddress
'`addmultisigaddress` RPC': rpc addmultisigaddress '`addmultisigaddress` RPC': rpc addmultisigaddress
'`addnode`': rpc addnode '`addnode`': rpc addnode
'`addnode` RPC': rpc addnode '`addnode` RPC': rpc addnode
'`addwitnessaddress`': rpc addwitnessaddress
'`addwitnessaddress` RPC': rpc addwitnessaddress
'`backupwallet`': rpc backupwallet '`backupwallet`': rpc backupwallet
'`backupwallet` RPC': rpc backupwallet '`backupwallet` RPC': rpc backupwallet
'`bumpfee`': rpc bumpfee '`bls`': rpc bls
'`bumpfee` RPC': rpc bumpfee '`bls` RPC': rpc bls
'`clearbanned`': rpc clearbanned '`clearbanned`': rpc clearbanned
'`clearbanned` RPC': rpc clearbanned '`clearbanned` RPC': rpc clearbanned
'`createmultisig`': rpc createmultisig '`createmultisig`': rpc createmultisig
'`createmultisig` RPC': rpc createmultisig '`createmultisig` RPC': rpc createmultisig
'`combinerawtransaction`': rpc combinerawtransaction
'`combinerawtransaction` RPC': rpc combinerawtransaction
'`createrawtransaction`': rpc createrawtransaction '`createrawtransaction`': rpc createrawtransaction
'`createrawtransaction` RPC': rpc createrawtransaction '`createrawtransaction` RPC': rpc createrawtransaction
'`debug`': rpc debug '`debug`': rpc debug
@ -320,6 +359,8 @@ DIP1:
'`getbalance` RPC': rpc getbalance '`getbalance` RPC': rpc getbalance
'`getbestblockhash`': rpc getbestblockhash '`getbestblockhash`': rpc getbestblockhash
'`getbestblockhash` RPC': rpc getbestblockhash '`getbestblockhash` RPC': rpc getbestblockhash
'`getbestchainlock`': rpc getbestchainlock
'`getbestchainlock` RPC': rpc getbestchainlock
'`getblock`': rpc getblock '`getblock`': rpc getblock
'`getblock` RPC': rpc getblock '`getblock` RPC': rpc getblock
'`getblockchaininfo`': rpc getblockchaininfo '`getblockchaininfo`': rpc getblockchaininfo
@ -333,11 +374,15 @@ DIP1:
'`getblockheader`': rpc getblockheader '`getblockheader`': rpc getblockheader
'`getblockheader` RPC': rpc getblockheader '`getblockheader` RPC': rpc getblockheader
'`getblockheaders`': rpc getblockheaders '`getblockheaders`': rpc getblockheaders
'`getblockstats`': rpc getblockstats
'`getblockstats` RPC': rpc getblockstats
'`getblockheaders` RPC': rpc getblockheaders '`getblockheaders` RPC': rpc getblockheaders
'`getblocktemplate`': rpc getblocktemplate '`getblocktemplate`': rpc getblocktemplate
'`getblocktemplate` RPC': rpc getblocktemplate '`getblocktemplate` RPC': rpc getblocktemplate
'`getchaintips`': rpc getchaintips '`getchaintips`': rpc getchaintips
'`getchaintips` RPC': rpc getchaintips '`getchaintips` RPC': rpc getchaintips
'`getchaintxstats`': rpc getchaintxstats
'`getchaintxstats` RPC': rpc getchaintxstats
'`getconnectioncount`': rpc getconnectioncount '`getconnectioncount`': rpc getconnectioncount
'`getconnectioncount` RPC': rpc getconnectioncount '`getconnectioncount` RPC': rpc getconnectioncount
'`getdifficulty`': rpc getdifficulty '`getdifficulty`': rpc getdifficulty
@ -360,6 +405,8 @@ DIP1:
'`getmempoolentry` RPC': rpc getmempoolentry '`getmempoolentry` RPC': rpc getmempoolentry
'`getmempoolinfo`': rpc getmempoolinfo '`getmempoolinfo`': rpc getmempoolinfo
'`getmempoolinfo` RPC': rpc getmempoolinfo '`getmempoolinfo` RPC': rpc getmempoolinfo
'`getmerkleblocks`': rpc getmerkleblocks
'`getmerkleblocks` RPC': rpc getmerkleblocks
'`getmininginfo`': rpc getmininginfo '`getmininginfo`': rpc getmininginfo
'`getmininginfo` RPC': rpc getmininginfo '`getmininginfo` RPC': rpc getmininginfo
'`getnettotals`': rpc getnettotals '`getnettotals`': rpc getnettotals
@ -384,6 +431,8 @@ DIP1:
'`getreceivedbyaccount` RPC': rpc getreceivedbyaccount '`getreceivedbyaccount` RPC': rpc getreceivedbyaccount
'`getreceivedbyaddress`': rpc getreceivedbyaddress '`getreceivedbyaddress`': rpc getreceivedbyaddress
'`getreceivedbyaddress` RPC': rpc getreceivedbyaddress '`getreceivedbyaddress` RPC': rpc getreceivedbyaddress
'`getspecialtxes`': rpc getspecialtxes
'`getspecialtxes` RPC': rpc getspecialtxes
'`getspentinfo`': rpc getspentinfo '`getspentinfo`': rpc getspentinfo
'`getspentinfo` RPC': rpc getspentinfo '`getspentinfo` RPC': rpc getspentinfo
'`getsuperblockbudget`': rpc getsuperblockbudget '`getsuperblockbudget`': rpc getsuperblockbudget
@ -420,8 +469,6 @@ DIP1:
'`importpubkey` RPC': rpc importpubkey '`importpubkey` RPC': rpc importpubkey
'`importwallet`': rpc importwallet '`importwallet`': rpc importwallet
'`importwallet` RPC': rpc importwallet '`importwallet` RPC': rpc importwallet
'`instantsendtoaddress`': rpc instantsendtoaddress
'`instantsendtoaddress` RPC': rpc instantsendtoaddress
'`keepass`': rpc keepass '`keepass`': rpc keepass
'`keepass` RPC': rpc keepass '`keepass` RPC': rpc keepass
'`keypoolrefill`': rpc keypoolrefill '`keypoolrefill`': rpc keypoolrefill
@ -446,8 +493,12 @@ DIP1:
'`listtransactions` RPC': rpc listtransactions '`listtransactions` RPC': rpc listtransactions
'`listunspent`': rpc listunspent '`listunspent`': rpc listunspent
'`listunspent` RPC': rpc listunspent '`listunspent` RPC': rpc listunspent
'`listwallets`': rpc listwallets
'`listwallets` RPC': rpc listwallets
'`lockunspent`': rpc lockunspent '`lockunspent`': rpc lockunspent
'`lockunspent` RPC': rpc lockunspent '`lockunspent` RPC': rpc lockunspent
'`logging`': rpc logging
'`logging` RPC': rpc logging
'`masternode`': rpc masternode '`masternode`': rpc masternode
'`masternode` RPC': rpc masternode '`masternode` RPC': rpc masternode
'`masternodebroadcast`': rpc masternodebroadcast '`masternodebroadcast`': rpc masternodebroadcast
@ -460,6 +511,8 @@ DIP1:
'`move` RPC': rpc move '`move` RPC': rpc move
'`ping`': rpc ping '`ping`': rpc ping
'`ping` RPC': rpc ping '`ping` RPC': rpc ping
'`protx`': rpc protx
'`protx` RPC': rpc protx
'`preciousblock`': rpc preciousblock '`preciousblock`': rpc preciousblock
'`preciousblock` RPC': rpc preciousblock '`preciousblock` RPC': rpc preciousblock
'`prioritisetransaction`': rpc prioritisetransaction '`prioritisetransaction`': rpc prioritisetransaction
@ -468,6 +521,8 @@ DIP1:
'`privatesend` RPC': rpc privatesend '`privatesend` RPC': rpc privatesend
'`pruneblockchain`': rpc pruneblockchain '`pruneblockchain`': rpc pruneblockchain
'`pruneblockchain` RPC': rpc pruneblockchain '`pruneblockchain` RPC': rpc pruneblockchain
'`quorum`': rpc quorum
'`quorum` RPC': rpc quorum
'`removeprunedfunds`': rpc removeprunedfunds '`removeprunedfunds`': rpc removeprunedfunds
'`removeprunedfunds` RPC': rpc removeprunedfunds '`removeprunedfunds` RPC': rpc removeprunedfunds
'`sendfrom`': rpc sendfrom '`sendfrom`': rpc sendfrom
@ -483,14 +538,16 @@ DIP1:
'`sendtoaddress` RPC': rpc sendtoaddress '`sendtoaddress` RPC': rpc sendtoaddress
'`setaccount`': rpc setaccount '`setaccount`': rpc setaccount
'`setaccount` RPC': rpc setaccount '`setaccount` RPC': rpc setaccount
'`setbip69enabled`': rpc setbip69enabled
'`setbip69enabled` RPC': rpc setbip69enabled
'`setban`': rpc setban '`setban`': rpc setban
'`setban` RPC': rpc setban '`setban` RPC': rpc setban
'`setgenerate`': rpc setgenerate '`setgenerate`': rpc setgenerate
'`setgenerate` RPC': rpc setgenerate '`setgenerate` RPC': rpc setgenerate
'`setnetworkactive`': rpc setnetworkactive '`setnetworkactive`': rpc setnetworkactive
'`setnetworkactive` RPC': rpc setnetworkactive '`setnetworkactive` RPC': rpc setnetworkactive
'`setprivatesendamount`': rpc setprivatesendamount
'`setprivatesendamount` RPC': rpc setprivatesendamount
'`setprivatesendrounds`': rpc setprivatesendrounds
'`setprivatesendrounds` RPC': rpc setprivatesendrounds
'`settxfee`': rpc settxfee '`settxfee`': rpc settxfee
'`settxfee` RPC': rpc settxfee '`settxfee` RPC': rpc settxfee
'`signmessage`': rpc signmessage '`signmessage`': rpc signmessage
@ -509,6 +566,8 @@ DIP1:
'`submitblock` RPC': rpc submitblock '`submitblock` RPC': rpc submitblock
'`validateaddress`': rpc validateaddress '`validateaddress`': rpc validateaddress
'`validateaddress` RPC': rpc validateaddress '`validateaddress` RPC': rpc validateaddress
'`uptime`': rpc uptime
'`uptime` RPC': rpc uptime
'`verifychain`': rpc verifychain '`verifychain`': rpc verifychain
'`verifychain` RPC': rpc verifychain '`verifychain` RPC': rpc verifychain
'`verifymessage`': rpc verifymessage '`verifymessage`': rpc verifymessage

View file

@ -73,24 +73,7 @@ redirects:
aliases: aliases:
--author=Satoshi Nakamoto: Satoshi Nakamoto --author=Satoshi Nakamoto: Satoshi Nakamoto
gavinandresen: Gavin Andresen #gavinandresen: Gavin Andresen
gmaxwell: Gregory Maxwell
gwb3: Garland William Binns III
harding: David Harding
jgarzik: Jeff Garzik
laanwj: Wladimir J. van der Laan
luke-jr: Luke-Jr
mikehearn: Mike Hearn
petertodd: Peter Todd
s_nakamoto: Satoshi Nakamoto
saivann: Saïvann Carignan
schildbach: Andreas Schildbach
sipa: Pieter Wuille
tcatm: Nils Schneider
whitj00: Whit Jack
CodeShark: Eric Lombrozo
saracen: Satoshi Nakamoto
theuni: Cory Fields
safe: false safe: false
port: 4000 port: 4000
@ -183,13 +166,14 @@ devsearches:
## leading capital) for easier quick scanning ## leading capital) for easier quick scanning
"RPCs": "RPCs":
- 'AbandonTransaction': "/en/developer-reference#abandontransaction" - 'AbandonTransaction': "/en/developer-reference#abandontransaction"
- 'AbortRescan': "/en/developer-reference#abortrescan"
- 'AddMultiSigAddress': "/en/developer-reference#addmultisigaddress" - 'AddMultiSigAddress': "/en/developer-reference#addmultisigaddress"
- 'AddNode': "/en/developer-reference#addnode" - 'AddNode': "/en/developer-reference#addnode"
- 'AddWitnessAddress': "/en/developer-reference#addwitnessaddress"
- 'BackupWallet': "/en/developer-reference#backupwallet" - 'BackupWallet': "/en/developer-reference#backupwallet"
- 'BumpFee': "/en/developer-reference#bumpfee" - 'BLS': "/en/developer-reference#bls"
- 'ClearBanned': "/en/developer-reference#clearbanned" - 'ClearBanned': "/en/developer-reference#clearbanned"
- 'CreateMultisig': "/en/developer-reference#createmultisig" - 'CreateMultisig': "/en/developer-reference#createmultisig"
- 'CombineRawTransaction': "/en/developer-reference#combinerawtransaction"
- 'CreateRawTransaction': "/en/developer-reference#createrawtransaction" - 'CreateRawTransaction': "/en/developer-reference#createrawtransaction"
- 'Debug': "/en/developer-reference#debug" - 'Debug': "/en/developer-reference#debug"
- 'DecodeRawTransaction': "/en/developer-reference#decoderawtransaction" - 'DecodeRawTransaction': "/en/developer-reference#decoderawtransaction"
@ -217,6 +201,7 @@ devsearches:
- 'GetAddressUtxos': "/en/developer-reference#getaddressutxos" - 'GetAddressUtxos': "/en/developer-reference#getaddressutxos"
- 'GetBalance': "/en/developer-reference#getbalance" - 'GetBalance': "/en/developer-reference#getbalance"
- 'GetBestBlockHash': "/en/developer-reference#getbestblockhash" - 'GetBestBlockHash': "/en/developer-reference#getbestblockhash"
- 'GetBestChainLock': "/en/developer-reference#getbestchainlock"
- 'GetBlock': "/en/developer-reference#getblock" - 'GetBlock': "/en/developer-reference#getblock"
- 'GetBlockChainInfo': "/en/developer-reference#getblockchaininfo" - 'GetBlockChainInfo': "/en/developer-reference#getblockchaininfo"
- 'GetBlockCount': "/en/developer-reference#getblockcount" - 'GetBlockCount': "/en/developer-reference#getblockcount"
@ -224,8 +209,10 @@ devsearches:
- 'GetBlockHashes': "/en/developer-reference#getblockhashes" - 'GetBlockHashes': "/en/developer-reference#getblockhashes"
- 'GetBlockHeader': "/en/developer-reference#getblockheader" - 'GetBlockHeader': "/en/developer-reference#getblockheader"
- 'GetBlockHeaders': "/en/developer-reference#getblockheaders" - 'GetBlockHeaders': "/en/developer-reference#getblockheaders"
- 'GetBlockStats': "/en/developer-reference#getblockstats"
- 'GetBlockTemplate': "/en/developer-reference#getblocktemplate" - 'GetBlockTemplate': "/en/developer-reference#getblocktemplate"
- 'GetChainTips': "/en/developer-reference#getchaintips" - 'GetChainTips': "/en/developer-reference#getchaintips"
- 'GetChainTxStats': "/en/developer-reference#getchaintxstats"
- 'GetConnectionCount': "/en/developer-reference#getconnectioncount" - 'GetConnectionCount': "/en/developer-reference#getconnectioncount"
- 'GetDifficulty': "/en/developer-reference#getdifficulty" - 'GetDifficulty': "/en/developer-reference#getdifficulty"
- 'GetGenerate': "/en/developer-reference#getgenerate" - 'GetGenerate': "/en/developer-reference#getgenerate"
@ -237,6 +224,7 @@ devsearches:
- 'GetMempoolDescendants': "/en/developer-reference#getmempooldescendants" - 'GetMempoolDescendants': "/en/developer-reference#getmempooldescendants"
- 'GetMempoolEntry': "/en/developer-reference#getmempoolentry" - 'GetMempoolEntry': "/en/developer-reference#getmempoolentry"
- 'GetMempoolInfo': "/en/developer-reference#getmempoolinfo" - 'GetMempoolInfo': "/en/developer-reference#getmempoolinfo"
- 'GetMerkleBlocks': "/en/developer-reference#getmerkleblocks"
- 'GetMiningInfo': "/en/developer-reference#getmininginfo" - 'GetMiningInfo': "/en/developer-reference#getmininginfo"
- 'GetNetTotals': "/en/developer-reference#getnettotals" - 'GetNetTotals': "/en/developer-reference#getnettotals"
- 'GetNetworkHashPS': "/en/developer-reference#getnetworkhashps" - 'GetNetworkHashPS': "/en/developer-reference#getnetworkhashps"
@ -249,6 +237,7 @@ devsearches:
- 'GetRawTransaction': "/en/developer-reference#getrawtransaction" - 'GetRawTransaction': "/en/developer-reference#getrawtransaction"
- 'GetReceivedByAccount': "/en/developer-reference#getreceivedbyaccount" - 'GetReceivedByAccount': "/en/developer-reference#getreceivedbyaccount"
- 'GetReceivedByAddress': "/en/developer-reference#getreceivedbyaddress" - 'GetReceivedByAddress': "/en/developer-reference#getreceivedbyaddress"
- 'GetSpecialTxes': "/en/developer-reference#getspecialtxes"
- 'GetSpentInfo': "/en/developer-reference#getspentinfo" - 'GetSpentInfo': "/en/developer-reference#getspentinfo"
- 'GetSuperblockBudget': "/en/developer-reference#getsuperblockbudget" - 'GetSuperblockBudget': "/en/developer-reference#getsuperblockbudget"
- 'GetTransaction': "/en/developer-reference#gettransaction" - 'GetTransaction': "/en/developer-reference#gettransaction"
@ -267,7 +256,6 @@ devsearches:
- 'ImportPrunedFunds': "/en/developer-reference#importprunedfunds" - 'ImportPrunedFunds': "/en/developer-reference#importprunedfunds"
- 'ImportPubkey': "/en/developer-reference#importpubkey" - 'ImportPubkey': "/en/developer-reference#importpubkey"
- 'ImportWallet': "/en/developer-reference#importwallet" - 'ImportWallet': "/en/developer-reference#importwallet"
- 'InstantSendToAddress': "/en/developer-reference#instantsendtoaddress"
- 'KeePass': "/en/developer-reference#keepass" - 'KeePass': "/en/developer-reference#keepass"
- 'KeypoolRefill': "/en/developer-reference#keypoolrefill" - 'KeypoolRefill': "/en/developer-reference#keypoolrefill"
- 'ListAccounts': "/en/developer-reference#listaccounts" - 'ListAccounts': "/en/developer-reference#listaccounts"
@ -280,17 +268,21 @@ devsearches:
- 'ListSinceBlock': "/en/developer-reference#listsinceblock" - 'ListSinceBlock': "/en/developer-reference#listsinceblock"
- 'ListTransactions': "/en/developer-reference#listtransactions" - 'ListTransactions': "/en/developer-reference#listtransactions"
- 'ListUnspent': "/en/developer-reference#listunspent" - 'ListUnspent': "/en/developer-reference#listunspent"
- 'ListWallets': "/en/developer-reference#listwallets"
- 'LockUnspent': "/en/developer-reference#lockunspent" - 'LockUnspent': "/en/developer-reference#lockunspent"
- 'Logging': "/en/developer-reference#logging"
- 'Masternode': "/en/developer-reference#masternode" - 'Masternode': "/en/developer-reference#masternode"
- 'MasternodeBroadcast': "/en/developer-reference#masternodebroadcast" - 'MasternodeBroadcast': "/en/developer-reference#masternodebroadcast"
- 'MasternodeList': "/en/developer-reference#masternodelist" - 'MasternodeList': "/en/developer-reference#masternodelist"
- 'MnSync': "/en/developer-reference#mnsync" - 'MnSync': "/en/developer-reference#mnsync"
- 'Move': "/en/developer-reference#move" - 'Move': "/en/developer-reference#move"
- 'Ping': "/en/developer-reference#ping-rpc" - 'Ping': "/en/developer-reference#ping-rpc"
- 'ProTx': "/en/developer-reference#protx"
- 'PreciousBlock': "/en/developer-reference#preciousblock" - 'PreciousBlock': "/en/developer-reference#preciousblock"
- 'PrioritiseTransaction': "/en/developer-reference#prioritisetransaction" - 'PrioritiseTransaction': "/en/developer-reference#prioritisetransaction"
- 'PrivateSend': "/en/developer-reference#privatesend" - 'PrivateSend': "/en/developer-reference#privatesend"
- 'PruneBlockChain': "/en/developer-reference#pruneblockchain" - 'PruneBlockChain': "/en/developer-reference#pruneblockchain"
- 'Quorum': "/en/developer-reference#quorum"
- 'RemovePrunedFunds': "/en/developer-reference#removeprunedfunds" - 'RemovePrunedFunds': "/en/developer-reference#removeprunedfunds"
- 'SendFrom': "/en/developer-reference#sendfrom" - 'SendFrom': "/en/developer-reference#sendfrom"
- 'SendMany': "/en/developer-reference#sendmany" - 'SendMany': "/en/developer-reference#sendmany"
@ -298,9 +290,10 @@ devsearches:
- 'SendToAddress': "/en/developer-reference#sendtoaddress" - 'SendToAddress': "/en/developer-reference#sendtoaddress"
- 'SetAccount': "/en/developer-reference#setaccount" - 'SetAccount': "/en/developer-reference#setaccount"
- 'SetBan': "/en/developer-reference#setban" - 'SetBan': "/en/developer-reference#setban"
- 'SetBIP69Enabled': "/en/developer-reference#setbip69enabled"
- 'SetGenerate': "/en/developer-reference#setgenerate" - 'SetGenerate': "/en/developer-reference#setgenerate"
- 'SetNetworkActive': "/en/developer-reference#setnetworkactive" - 'SetNetworkActive': "/en/developer-reference#setnetworkactive"
- 'SetPrivateSendAmount': "/en/developer-reference#setprivatesendamount"
- 'SetPrivateSendRounds': "/en/developer-reference#setprivatesendrounds"
- 'SetTxFee': "/en/developer-reference#settxfee" - 'SetTxFee': "/en/developer-reference#settxfee"
- 'SignMessage': "/en/developer-reference#signmessage" - 'SignMessage': "/en/developer-reference#signmessage"
- 'SignMessageWithPrivKey': "/en/developer-reference#signmessagewithprivkey" - 'SignMessageWithPrivKey': "/en/developer-reference#signmessagewithprivkey"
@ -309,6 +302,7 @@ devsearches:
- 'Spork': "/en/developer-reference#spork-rpc" - 'Spork': "/en/developer-reference#spork-rpc"
- 'Stop': "/en/developer-reference#stop" - 'Stop': "/en/developer-reference#stop"
- 'SubmitBlock': "/en/developer-reference#submitblock" - 'SubmitBlock': "/en/developer-reference#submitblock"
- 'Uptime': "/en/developer-reference#uptime"
- 'ValidateAddress': "/en/developer-reference#validateaddress" - 'ValidateAddress': "/en/developer-reference#validateaddress"
- 'VerifyChain': "/en/developer-reference#verifychain" - 'VerifyChain': "/en/developer-reference#verifychain"
- 'VerifyMessage': "/en/developer-reference#verifymessage" - 'VerifyMessage': "/en/developer-reference#verifymessage"
@ -508,11 +502,14 @@ devsearches:
- "DIP2: Special Transactions": "https://github.com/dashpay/dips/blob/master/dip-0002.md" - "DIP2: Special Transactions": "https://github.com/dashpay/dips/blob/master/dip-0002.md"
- "DIP3: Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0003.md" - "DIP3: Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0003.md"
- "DIP4: Simplified Verification of Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0004.md" - "DIP4: Simplified Verification of Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0004.md"
- "DIP5: Blockchain Users": "https://github.com/dashpay/dips/blob/master/dip-0005.md"
- "DIP6: Long-Living Masternode Quorums": "https://github.com/dashpay/dips/blob/master/dip-0006.md"
- "DIP7: LLMQ Signing Requests / Sessions": "https://github.com/dashpay/dips/blob/master/dip-0007.md"
- "DIP8: ChainLocks": "https://github.com/dashpay/dips/blob/master/dip-0008.md"
## Bitcoin P2P Protocol messages documented on Bitcoin.org ## Bitcoin P2P Protocol messages documented on Bitcoin.org
"P2P Messages": "P2P Messages":
- "addr": "/en/developer-reference#addr" - "addr": "/en/developer-reference#addr"
- "alert": "/en/developer-reference#alert"
- "block": "/en/developer-reference#block" - "block": "/en/developer-reference#block"
- "blocktxn": "/en/developer-reference#blocktxn" - "blocktxn": "/en/developer-reference#blocktxn"
- "cmpctblock": "/en/developer-reference#cmpctblock" - "cmpctblock": "/en/developer-reference#cmpctblock"
@ -525,15 +522,18 @@ devsearches:
- "getblocktxn": "/en/developer-reference#getblocktxn" - "getblocktxn": "/en/developer-reference#getblocktxn"
- "getdata": "/en/developer-reference#getdata" - "getdata": "/en/developer-reference#getdata"
- "getheaders": "/en/developer-reference#getheaders" - "getheaders": "/en/developer-reference#getheaders"
- "getmnlistd": "/en/developer-reference#getmnlistd"
- "headers": "/en/developer-reference#headers" - "headers": "/en/developer-reference#headers"
- "inv": "/en/developer-reference#inv" - "inv": "/en/developer-reference#inv"
- "mempool": "/en/developer-reference#mempool" - "mempool": "/en/developer-reference#mempool"
- "merkleblock": "/en/developer-reference#merkleblock" - "merkleblock": "/en/developer-reference#merkleblock"
- "mnlistdiff": "/en/developer-reference#mnlistdiff"
- "notfound": "/en/developer-reference#notfound" - "notfound": "/en/developer-reference#notfound"
- "ping": "/en/developer-reference#ping" - "ping": "/en/developer-reference#ping"
- "pong": "/en/developer-reference#pong" - "pong": "/en/developer-reference#pong"
- "reject": "/en/developer-reference#reject" - "reject": "/en/developer-reference#reject"
- "sendcmpct": "/en/developer-reference#sendcmpct" - "sendcmpct": "/en/developer-reference#sendcmpct"
- "senddsq": "/en/developer-reference#senddsq"
- "tx": "/en/developer-reference#tx" - "tx": "/en/developer-reference#tx"
- "verack": "/en/developer-reference#verack" - "verack": "/en/developer-reference#verack"
- "version": "/en/developer-reference#version" - "version": "/en/developer-reference#version"
@ -543,8 +543,8 @@ devsearches:
- "spork": "/en/developer-reference#spork" - "spork": "/en/developer-reference#spork"
# Dash - instantsend # Dash - instantsend
- "ix": "/en/developer-reference#ix" - "clsig": "/en/developer-reference#clsig"
- "txlvote": "/en/developer-reference#txlvote" - "islock": "/en/developer-reference#islock"
# Dash - privatesend # Dash - privatesend
- "dsa": "/en/developer-reference#dsa" - "dsa": "/en/developer-reference#dsa"
@ -557,20 +557,33 @@ devsearches:
- "dstx": "/en/developer-reference#dstx" - "dstx": "/en/developer-reference#dstx"
# Dash - masternode # Dash - masternode
- "dseg": "/en/developer-reference#dseg"
- "mnb": "/en/developer-reference#mnb"
- "mnget": "/en/developer-reference#mnget"
- "mnp": "/en/developer-reference#mnp"
- "mnv": "/en/developer-reference#mnv"
- "mnw": "/en/developer-reference#mnw"
- "mnwb": "/en/developer-reference#mnwb"
- "ssc": "/en/developer-reference#ssc" - "ssc": "/en/developer-reference#ssc"
- "mnauth": "/en/developer-reference#mnauth"
# Dash - quorums
- "qbsigs": "/en/developer-reference#qbsigs"
- "qcomplaint": "/en/developer-reference#qcomplaint"
- "qcontrib": "/en/developer-reference#qcontrib"
- "qfcommit": "/en/developer-reference#qfcommit"
- "qgetsigs": "/en/developer-reference#qgetsigs"
- "qjustify": "/en/developer-reference#qjustify"
- "qpcommit": "/en/developer-reference#qpcommit"
- "qsendrecsigs": "/en/developer-reference#qsendrecsigs"
- "qsigrec": "/en/developer-reference#qsigrec"
- "qsigsesann": "/en/developer-reference#qsigsesann"
- "qsigsinv": "/en/developer-reference#qsigsinv"
- "qwatch": "/en/developer-reference#qwatch"
# Dash - governance # Dash - governance
- "govobj": "/en/developer-reference#govobj" - "govobj": "/en/developer-reference#govobj"
- "govobjvote": "/en/developer-reference#govobjvote" - "govobjvote": "/en/developer-reference#govobjvote"
- "govsync": "/en/developer-reference#govsync" - "govsync": "/en/developer-reference#govsync"
# Dash - deprecated
- "alert": "/en/developer-reference#alert"
- "ix": "/en/developer-reference#ix"
- "txlvote": "/en/developer-reference#txlvote"
donation_banner: donation_banner:
address: 1GwV7fPX97hmavc6iNrUZUogmjpLPrPFoE address: 1GwV7fPX97hmavc6iNrUZUogmjpLPrPFoE
display: true display: true

View file

@ -0,0 +1,29 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.
required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: ChainLocks
summary_max_255_characters_no_formatting: >
ChainLocks are a feature enabling near instant consensus
on the valid chain. ChainLocks use Long-Living Masternode
Quroums to mitigate 51 percent attacks and reduce
uncertainty when receiving funds.
synonyms_shown_in_glossary_capitalize_first_letter:
- ChainLocks
optional:
synonyms_and_pluralizations_not_shown_in_glossary:
- ChainLock
not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter:
- "[ChainLocks](/en/developer-guide#chainlocks) --- Developer Guide"
- "[ChainLock message](/en/developer-reference#clsig) --- Developer Reference"
- "[ChainLocks](https://docs.dash.org/en/stable/introduction/features.html#chainlocks) --- Dash Documentation"
---

View file

@ -22,7 +22,7 @@ optional:
not_to_be_confused_with_capitalize_first_letter: not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Dark Gravity Wave](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146926/Dark+Gravity+Wave) --- Dash Wiki" - "[Dark Gravity Wave](https://docs.dash.org/en/stable/introduction/features.html#dark-gravity-wave) --- Dash Documentation"
--- ---

View file

@ -20,6 +20,6 @@ optional:
not_to_be_confused_with_capitalize_first_letter: not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Governance and Budget System](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/8585246/Governance+and+Budget+System) --- Dash Wiki" - "[Governance and Budget System](https://docs.dash.org/en/stable/introduction/features.html#decentralized-governance) --- Dash Documentation"
--- ---

View file

@ -21,7 +21,7 @@ optional:
not_to_be_confused_with_capitalize_first_letter: not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Evolution](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/39583757/Evolution) --- Dash Wiki" - "[Evolution](https://docs.dash.org/en/stable/introduction/features.html#evolution) --- Dash Documentation"
--- ---

View file

@ -9,8 +9,10 @@ required:
summary_max_255_characters_no_formatting: > summary_max_255_characters_no_formatting: >
Transactions that don't have to pay a transaction fee because Transactions that don't have to pay a transaction fee because
their inputs have been idle long enough to accumulated large their inputs have been idle long enough to accumulated large
amounts of priority. Note: miners choose whether to accept free amounts of priority.
transactions. Note: As of Dash Core 0.12.3, all
transactions require a fee. Also, coin age priority logic was
removed in Dash Core 0.14.0.
synonyms_shown_in_glossary_capitalize_first_letter: synonyms_shown_in_glossary_capitalize_first_letter:
- High-priority transaction - High-priority transaction
@ -24,7 +26,6 @@ optional:
not_to_be_confused_with_capitalize_first_letter: not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[High-priority transactions](/en/developer-guide#term-high-priority-transactions) --- Developer Guide" #- "[High-priority transactions](/en/developer-guide#term-high-priority-transactions) --- Developer Guide"
- "[Free transaction relay policy](https://en.bitcoin.it/wiki/Free_transaction_relay_policy) --- Bitcoin Wiki"
--- ---

View file

@ -24,6 +24,6 @@ optional:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[InstantSend](/en/developer-guide#instantsend) --- Developer Guide" - "[InstantSend](/en/developer-guide#instantsend) --- Developer Guide"
- "[InstantSend messages](/en/developer-reference#instantsend-messages) --- Developer Reference" - "[InstantSend messages](/en/developer-reference#instantsend-messages) --- Developer Reference"
- "[InstantSend](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146928/InstantSend) --- Dash Wiki" - "[InstantSend](https://docs.dash.org/en/stable/introduction/features.html#instantsend) --- Dash Documentation"
--- ---

View file

@ -0,0 +1,33 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.
required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: Long-Living Masternode Quorum
summary_max_255_characters_no_formatting: >
Long-Living Masternode Quorums (LLMQs) are a Dash innovation
that enable masternodes to perform threshold signing of
consensus-related messages (e.g. InstantSend transactions).
LLMQs provide a more scalable, general use quorum system
than the ephemeral ones used prior to Dash Core version 0.14.
synonyms_shown_in_glossary_capitalize_first_letter:
- Long-Living Masternode Quorum
- LLMQ
optional:
synonyms_and_pluralizations_not_shown_in_glossary:
- Long-Living Masternode Quorums
- Long Living Masternode Quorum
- Long Living Masternode Quorums
- LLMQs
not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter:
- "[Masternode Quorums](/en/developer-guide#masternode-quorums) --- Developer Guide"
- "[Long-Living Masternode Quorums](https://github.com/dashpay/dips/blob/master/dip-0006.md) --- Dash DIP"
---

View file

@ -27,6 +27,6 @@ optional:
- "[Masternode Sync](/en/developer-guide#masternode-sync) --- Developer Guide" - "[Masternode Sync](/en/developer-guide#masternode-sync) --- Developer Guide"
- "[Governance](/en/developer-guide#governance) --- Developer Guide" - "[Governance](/en/developer-guide#governance) --- Developer Guide"
- "[Masternode messages](/en/developer-reference#masternode-messages) --- Developer Reference" - "[Masternode messages](/en/developer-reference#masternode-messages) --- Developer Reference"
- "[Masternode](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146920/Masternode+Network) --- Dash Wiki" - "[Masternode](https://docs.dash.org/en/stable/introduction/features.html#masternodes) --- Dash Documentation"
--- ---

View file

@ -7,10 +7,9 @@ required:
title_max_40_characters_no_formatting: Minimum Relay Fee title_max_40_characters_no_formatting: Minimum Relay Fee
summary_max_255_characters_no_formatting: > summary_max_255_characters_no_formatting: >
The minimum transaction fee a transaction must pay (if it isn't The minimum transaction fee a transaction must pay for a full
a high-priority transaction) for a full node to relay that node to relay that transaction to other nodes. There is no
transaction to other nodes. There is no one minimum relay one minimum relay fee---each node chooses its own policy.
fee---each node chooses its own policy.
synonyms_shown_in_glossary_capitalize_first_letter: synonyms_shown_in_glossary_capitalize_first_letter:
- Minimum relay fee - Minimum relay fee
@ -27,6 +26,6 @@ optional:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Minimum relay fee](/en/developer-guide#term-minimum-fee) --- Developer Guide" - "[Minimum relay fee](/en/developer-guide#term-minimum-fee) --- Developer Guide"
- "[Transaction fees](https://en.bitcoin.it/wiki/Transaction_fees) --- Bitcoin Wiki" #- "[Transaction fees](https://en.bitcoin.it/wiki/Transaction_fees) --- Bitcoin Wiki"
--- ---

View file

@ -24,6 +24,6 @@ optional:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[PrivateSend](/en/developer-guide#privatesend) --- Developer Guide" - "[PrivateSend](/en/developer-guide#privatesend) --- Developer Guide"
- "[PrivateSend messages](/en/developer-reference#privatesend-messages) --- Developer Reference" - "[PrivateSend messages](/en/developer-reference#privatesend-messages) --- Developer Reference"
- "[PrivateSend](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146924/PrivateSend) --- Official Wiki" - "[PrivateSend](https://docs.dash.org/en/stable/introduction/features.html#privatesend) --- Dash Documentation"
--- ---

View file

@ -21,7 +21,7 @@ optional:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Sentinel](/en/developer-guide#sentinel) --- Developer Guide" - "[Sentinel](/en/developer-guide#sentinel) --- Developer Guide"
- "[Sentinel](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/103922706/Sentinel) --- Dash Wiki" - "[Sentinel](https://docs.dash.org/en/stable/introduction/features.html#sentinel) --- Dash Documentation"
--- ---

View file

@ -0,0 +1,28 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.
required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: Special Transactions
summary_max_255_characters_no_formatting: >
Special Transactions provide a way to include non-financial,
consensus-assisting metadata (e.g. masternode lists) on-chain.
synonyms_shown_in_glossary_capitalize_first_letter:
- Special Transactions
optional:
synonyms_and_pluralizations_not_shown_in_glossary:
- Special Transaction
- special transaction
- special transactions
not_to_be_confused_with_capitalize_first_letter:
links_html_or_markdown_style_capitalize_first_letter:
- "[Special Transactions](/en/developer-reference#special-transactions) --- Developer Reference"
- "[Special Transactions](https://github.com/dashpay/dips/blob/master/dip-0002.md) --- Dash DIP"
---

View file

@ -28,7 +28,7 @@ optional:
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Spork message](/en/developer-reference#spork) --- Developer Reference" - "[Spork message](/en/developer-reference#spork) --- Developer Reference"
- "[Multi-Phased Fork (Spork)](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/19169298/Multi-Phased+Fork+Spork) --- Dash Wiki" - "[Multi-Phased Fork (Spork)](https://docs.dash.org/en/stable/introduction/features.html#sporks) --- Dash Documentation"
- "[Understanding Sporks](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/128319489/Understanding+Sporks) --- Dash Wiki" - "[Understanding Sporks](https://docs.dash.org/en/latest/developers/index.html#sporks) --- Dash Documentation"
--- ---

View file

@ -21,6 +21,6 @@ optional:
- The open source GUI server that provides a graphical interface to Unix/Linux users. - The open source GUI server that provides a graphical interface to Unix/Linux users.
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[X11 Hash](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146918/X11) --- Dash Wiki" - "[X11 Hash](https://docs.dash.org/en/latest/introduction/features.html#x11-hash-algorithm) --- Dash Documentation"
--- ---

View file

@ -1,459 +1,3 @@
- date: 2017-01-05
title: "CES Digital Money Forum"
venue: "Las Vegas Convention Center"
address: "3150 Paradise Road"
city: "Las Vegas"
country: "United States"
link: "http://thedigitalmoneyforum.com/"
- date: 2017-01-07
title: "2017 Blockchain Fintech Summit of Silicon Valley"
venue: "Santa Clara Conventional Center, Great America Ballroom"
address: "5001 Great America Pkwy"
city: "Santa Clara"
country: "United States"
link: "https://www.eventbrite.com/e/the-blockchain-fintech-summit-of-silicon-valley-tickets-29506617086"
- date: 2017-01-12
title: "Blockchain Incredible Party"
venue: "Business Center Gulliver"
address: "Sportyvna Square, 1A, Tower A, 24th floor"
city: "Kiev"
country: "Ukraine"
link: "http://bip001.com/"
- date: 2017-01-17
title: "The North American Bitcoin Conference"
venue: "Knight Center Complex"
address: "400 SE 2nd Ave"
city: "Miami"
country: "United States"
link: "http://btcmiami.com/"
- date: 2017-01-20
title: "London Blockchain Week"
venue: "Grange Tower Bridge Hotel"
address: "45 Prescot Street"
city: "London"
country: "United Kingdom"
link: "https://www.blockchainweek.com/"
- date: 2017-01-23
title: "Blockchain Expo"
venue: "Olympia"
address: "Hammersmith Rd"
city: "London"
country: "United Kingdom"
link: "http://blockchain-expo.com/"
- date: 2017-01-25
title: "Finance Disrupted"
venue: "St. Pancras Renaissance Hotel"
address: "Euston Road"
city: "London"
country: "United Kingdom"
link: "http://www.economist.com/events-conferences/emea/finance-disrupted"
- date: 2017-01-28
title: "Bitcoin Brunch @ International Day of Privacy"
venue: "Urban Chef"
address: "Koningstraat 50/51"
city: "Arnhem Bitcoincity"
country: "The Netherlands"
link: "https://www.ArnhemBitcoinstad.nl"
- date: 2017-02-14
title: "Event Horizon"
venue: "Hofburg Palace"
address: "Michaelerkuppel, 1010"
city: "Vienna"
country: "Austria"
link: "http://eventhorizon2017.com/"
- date: 2017-02-21
title: "d10e"
venue: "Sheraton Hotel"
address: "Calea Dorobantilor 5-7"
city: "Bucharest"
country: "Romania"
link: "http://d10e.biz/"
- date: 2017-02-27
title: "Distributed: Markets"
venue: "Ritz Carlton"
address: "181 Peachtree St NE"
city: "Atlanta"
country: "United States"
link: "https://godistributed.com/events/markets/"
- date: 2017-03-01
title: "Blockchain Africa Conference 2017"
venue: "The Focus Rooms"
address: "The Core, The Core Shopping Centre, Leeuwkop Rd and Kikuyu Rd"
city: "Johannesburg"
country: "South Africa"
link: "http://blockchainafrica.co"
- date: 2017-03-07
title: "APAC Blockchain Conference"
venue: "Aerial UTS Function Centre"
address: "235 Jones Street, Level 7, Building 10"
city: "Sydney"
country: "Australia"
link: "http://www.questevents.com.au/apac-blockchain-conference-2017"
- date: 2017-03-16
title: "An Introduction to Cryptocurrencies, Bitcoin & Blockchain"
venue: "Holiday Inn Express"
address: "Birmingham Rd, WS14 0QP"
city: "Lichfield"
country: "United Kingdom"
link: "https://www.eventbrite.co.uk/e/an-introduction-to-crypto-currencies-bitcoin-the-blockchain-tickets-32417523686"
- date: 2017-03-16
title: "Oral Arguments on the Status of the BitLicense"
venue: "New York State Supreme Court"
address: "71 Thomas Street, Room 204, Part 46"
city: "New York"
country: "United States"
link: "https://www.meetup.com/Article-78-Against-NYDFS/events/238080585"
- date: 2017-03-17
title: "BlockchainUA Conference Kyiv"
venue: "Conference Hall, Oasis, Ultramarine, 3rd floor"
address: "Vasylia Lypkivskoho St, 1А, 02000"
city: "Kiev"
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: "Kiev"
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-04-08
title: "Coinfest"
venue: "Barley's Biergarten"
address: "Pauwstraat 4"
city: "Arnhem"
country: "The Netherlands"
link: "https://www.meetup.com/Arnhem-Bitcoin-Users/events/237435368/"
- date: 2017-05-08
title: "The Blockchain NZ 2017"
venue: "Viaduct Event Centre"
address: "161 Halsey St"
city: "Auckland"
country: "New Zealand"
link: "http://www.theblockchain.nz/"
- date: 2017-05-19
title: "Bitcoin Conference Prague"
venue: "Angelo Hotel Prague"
address: "Radlicka 1g, 150 00"
city: "Prague"
country: "Czech Republic"
link: "https://bitcoinconf.eu/en"
- date: 2017-05-22
title: "Consensus 2017"
venue: "New York Marriott Marquis"
address: "1535 Broadway"
city: "New York"
country: "United States"
link: "http://www.coindesk.com/events/consensus-2017/"
- date: 2017-05-24
title: "Blockchain Cruise 2017"
venue: "Anthem of the Seas"
address: "4 Port Terminal Blvd"
city: "Bayonne"
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-12
title: "Blockchain Government Forum"
venue: "Innovation Centre"
address: "9 Bayview Avenue"
city: "Ottawa"
country: "Canada"
link: "https://blockchainforum.ca/"
- date: 2017-06-25
title: "An Introduction to Cryptocurrencies & the Blockchain"
venue: "Holiday Inn Express"
address: "Birmingham Road, Wall Island, WS14 0QP"
city: "Lichfield"
country: "United Kingdom"
link: "https://www.eventbrite.co.uk/e/an-introduction-to-cryptocurrencies-bitcoin-ethereum-the-blockchain-tickets-35404136726"
- date: 2017-06-26
title: "Money 2020 Europe"
venue: "Bella Center"
address: "Center Blvd. 5, 2300"
city: "Copenhagen"
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: "United States"
link: "http://events.cbinsights.com/future-of-fintech"
- date: 2017-07-07
title: "London Fintech Week"
venue: "Grange Tower Bridge Hotel"
address: "45 Prescot St."
city: "London"
country: "United Kingdom"
link: "https://fintechweek.com/"
- date: 2017-07-10
title: "How To Disrupt Everything - A Blockchain Event"
venue: "Kromhouthal"
address: "Gedempt Hamerkanaal 231, 1021 KP"
city: "Amsterdam"
country: "The Netherlands"
link: "http://amsterdam.keynote.ae/"
- date: 2017-07-20
title: "P2PFISY2017"
venue: "University College London"
address: "Gower Street"
city: "London"
country: "United Kingdom"
link: "http://www.p2pfisy.com"
- date: 2017-07-22
title: "State of Digital Money 2017"
venue: "Cross Campus Downtown Los Angeles"
address: "800 Wilshire Blvd, 90017"
city: "Los Angeles"
country: "United States"
link: "http://stateofdigitalmoney.com/"
- date: 2017-09-12
title: "The Advanced Digital Innovation Summit"
venue: "McCarthy Tetrault"
address: "745 Thurlow Street"
city: "Toronto"
country: "Canada"
link: "http://www.adisummit.com/"
- date: 2017-07-16
title: "CoinAgenda Europe"
venue: "World Trade Center Barcelona"
address: "Edif. Este, Moll de Barcelona, s/n 08039"
city: "Barcelona"
country: "Spain"
link: "http://coinagenda.com/#about"
- date: 2017-08-14
title: "Bitcoin & Ethereum Summit"
venue: "Mars Auditorium"
address: "101 College Street, M5G 1L7"
city: "Toronto"
country: "Canada"
link: "https://www.eventbrite.ca/e/bitcoin-ethereum-summit-tickets-34898442180"
- date: 2017-08-14
title: "Blockchain and Cryptocurrency Conference Nigeria 2017"
venue: "Radisson Blu Anchorage Hotel"
address: "Ozumba Mbadiwe Street"
city: "Lagos"
country: "Nigeria"
link: "http://blockchainnigeria.group/"
- date: 2017-08-23
title: "SegWit Activation Party Germany"
venue: "Room 77"
address: "Graefestr. 77, 10967"
city: "Berlin"
country: "Germany"
link: "http://segwit.party/"
- date: 2017-08-23
title: "SegWit Activation Party United States"
venue: "Bay Harbor Hotel"
address: "7700 West Courtney Campbell Causeway"
city: "Tampa"
country: "United States"
link: "http://segwit.party/"
- date: 2017-08-23
title: "SegWit Activation Party Poland"
venue: "Bez Slowa"
address: "Fosa 3, 02768"
city: "Warsaw"
country: "Poland"
link: "http://segwit.party/"
- date: 2017-08-24
title: "SegWit Activation Party Slovakia"
venue: "Progressbar Hackerspace"
address: "Michalska 3, 811 03"
city: "Bratislava"
country: "Slovakia"
link: "http://segwit.party/"
- date: 2017-08-24
title: "SegWit Activation Party Switzerland"
venue: "James Joyce Pub"
address: "8 Pelikanstrasse"
city: "Zurich"
country: "Switzerland"
link: "http://segwit.party/"
- date: 2017-08-24
title: "SegWit Activation Party France"
venue: "Sof's Bar"
address: "43 rue Saint Sauveur 75002"
city: "Paris"
country: "France"
link: "http://segwit.party/"
- date: 2017-08-25
title: "SegWit Activation Party Czech"
venue: "Utopia Cajovna"
address: "Divadelni 3, 60200"
city: "Brno"
country: "Czech"
link: "http://segwit.party/"
- date: 2017-09-07
title: "Blockchain & Bitcoin Conference Stockholm"
venue: "Elite Hotel Marina Tower"
address: "Saltsjoqvarns kaj 25, 131 71 Nacka"
city: "Stockholm"
country: "Sweden"
link: "https://stockholm.blockchainconf.world/en"
- date: 2017-09-09
title: "Breaking Bitcoin Conference"
venue: "16 Rue Jean Rey, 75015"
address: "16 Rue Jean Rey"
city: "Paris"
country: "France"
link: "https://breaking-bitcoin.com/"
- date: 2017-09-14
title: "CoinAlts Fund Symposium"
venue: "The St. Regis San Francisco"
address: "125 3rd Street"
city: "San Francisco"
country: "United States"
link: "https://www.coinaltsfundsymposium.com/"
- date: 2017-09-20
title: "ICO Event Moscow"
venue: "Technopolis Moscow"
address: "Volgogradskiy dist. 42"
city: "Moscow"
country: "Russia"
link: "https://icoevent.ru/en"
- date: 2017-09-22
title: "BlockchainUA Conference Kyiv"
venue: "Conference Hall Oasis"
address: "Vasylia Lypkivskoho St, 1А"
city: "Kiev"
country: "Ukraine"
link: "https://blockchainua.com/en"
- date: 2017-09-25
title: "World Blockchain Forum: Investments & ICOs"
venue: "St Paul's - 200 Aldersgate Conference Centre"
address: "St. Pauls 200 Aldersgate"
city: "London"
country: "United Kingdom"
link: "http://london.keynote.ae/"
- date: 2017-09-26
title: "Blockchain Life 2017"
venue: "Petrocongress"
address: "Lodeynopolskaya st. 5/2"
city: "Saint-Petersburg"
country: "Russia"
link: "https://blockchain-life.com"
- date: 2017-10-12
title: "Blockchain & Bitcoin Conference Kiev"
venue: "Vsi. Svoi | Lokatsia"
address: "Desytinnaya St. 12"
city: "Kiev"
country: "Ukraine"
link: "https://kiev.blockchainconf.world/en"
- date: 2017-10-26
title: "Global Fintech & Blockchain China Summit 2017"
venue: "Shanghai Marriott Hotel Riverside"
address: "No. 99 Jiangbin Road,Huangpu District"
city: "Shanghai"
country: "China"
link: "http://www.gfbccs.com"
- date: 2017-10-28
title: "BitBrighton - Crypto/Bitcoin Event"
venue: "Latest Music Bar"
address: "14 - 17 Manchester Street Brighton BN2 1TF"
city: "Brighton"
country: "United Kingdom"
link: "http://bitbrighton.org/"
- date: 2017-10-28
title: "Texas Bitcoin Conference III"
venue: "Canyon View Event Center"
address: "4800 Spicewood Springs Rd"
city: "Austin"
country: "United States"
link: "http://texasbitcoinconference.com/conferences"
- date: 2017-11-15
title: "Blockchain WithTheBest"
venue: "Online Conference"
address: "950 Battery Street, 94111"
city: "San Francisco"
country: "United States"
link: "http://blockchain.withthebest.com"
- date: 2017-11-19
title: "BitBrum"
venue: "The Studio."
address: "7 Cannon St. Birmingham. B2 5EP"
city: "Birmingham"
country: "United Kingdom"
link: "http://bitbrum.org"
- date: 2017-11-29
title: "Blockchain Expo"
venue: "Santa Clara Convention Center"
address: "5001 Great America Pkwy, Santa Clara, 95054"
city: "Santa Clara"
country: "United States"
link: "http://blockchain-expo.com/northamerica/"
- date: 2018-01-15 - date: 2018-01-15
title: "Blockchain Cruise Asia 2018" title: "Blockchain Cruise Asia 2018"
venue: "Mariner of The Seas" venue: "Mariner of The Seas"

View file

@ -72,6 +72,11 @@ GET /block/notxdetails/<hash>.<format>
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "This block's version number. See [block version numbers][section block versions]" d: "This block's version number. See [block version numbers][section block versions]"
- n: "→<br>`versionHex`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>This block's version number formatted in hexadecimal. See [BIP9 assignments]"
- n: "→<br>`merkleroot`" - n: "→<br>`merkleroot`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -129,25 +134,6 @@ GET /block/notxdetails/<hash>.<format>
{% enditemplate %} {% enditemplate %}
<!--
Segwit related fields not in Dash
- n: "→<br>`strippedsize`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The size of this block in serialized block format excluding witness data, counted in bytes"
- n: "→<br>`weight`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The block weight as defined in BIP 141"
- n: "→<br>`versionHex`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>This block's version number formatted in hexadecimal. See [BIP9 assignments]"
-->
*Examples from Dash Core 0.12.2* *Examples from Dash Core 0.12.2*
Request a block in hex-encoded serialized block format: Request a block in hex-encoded serialized block format:

View file

@ -75,6 +75,11 @@ GET /block/<hash>.<format>
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "This block's version number. See [block version numbers][section block versions]" d: "This block's version number. See [block version numbers][section block versions]"
- n: "→<br>`versionHex`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "This block's version number formatted in hexadecimal."
- n: "→<br>`merkleroot`" - n: "→<br>`merkleroot`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -133,25 +138,6 @@ GET /block/<hash>.<format>
{% enditemplate %} {% enditemplate %}
<!--
Segwit related fields not in Dash
- n: "→<br>`strippedsize`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The size of this block in serialized block format excluding witness data, counted in bytes"
- n: "→<br>`weight`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The block weight as defined in BIP 141"
- n: "→<br>`versionHex`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>This block's version number formatted in hexadecimal. See [BIP9 assignments]"
-->
*Examples from Dash Core 0.12.2* *Examples from Dash Core 0.12.2*
Request a block in hex-encoded serialized block format: Request a block in hex-encoded serialized block format:

View file

@ -37,7 +37,7 @@ languages lacking a suitable native client. The remainder of this section
describes the Dash Core RPC protocol in detail. describes the Dash Core RPC protocol in detail.
The Dash Core RPC service listens for HTTP `POST` requests on port 9998 in The Dash Core RPC service listens for HTTP `POST` requests on port 9998 in
mainnet mode, 19998 in testnet, or 18332 in regtest mode. The port number can be changed mainnet mode, 19998 in testnet, or 19898 in regtest mode. The port number can be changed
by setting `rpcport` in `dash.conf`. By default the RPC service binds to your by setting `rpcport` in `dash.conf`. By default the RPC service binds to your
server's [localhost][Localhost] loopback server's [localhost][Localhost] loopback
network<!--noref--> interface so it's not accessible from other servers. network<!--noref--> interface so it's not accessible from other servers.

View file

@ -19,13 +19,33 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing.
<!-- Dash - Not Implemented --> <!-- Dash - Not Implemented -->
{% assign DASH_NOT_IMPLEMENTED='**<abbr title="Not Implemented in Dash">Not Implemented</abbr>**' %} {% assign DASH_NOT_IMPLEMENTED='**<abbr title="Not Implemented in Dash">Not Implemented</abbr>**' %}
<!-- Dash Core 0.14.1.0 ??? 2019 -->
{% assign DASH_NEW0_14_1='**<abbr title="New in Dash Core v0.14.1">New in Dash Core 0.14.1</abbr>**' %}
{% assign DASH_UPDATED0_14_1='**<abbr title="Updated in Dash Core v0.14.1">Updated in Dash Core 0.14.1</abbr>**' %}
<!-- Dash Core 0.14.0.0 May 2019 -->
{% assign DASH_NEW0_14_0='**<abbr title="New in Dash Core v0.14.0">New in Dash Core 0.14.0</abbr>**' %}
{% assign DASH_UPDATED0_14_0='**<abbr title="Updated in Dash Core v0.14.0">Updated in Dash Core 0.14.0</abbr>**' %}
<!-- Dash Core 0.13.2.0 Mar 2019 -->
{% assign DASH_NEW0_13_2='**<abbr title="New in Dash Core v0.13.2">New in Dash Core 0.13.2</abbr>**' %}
{% assign DASH_UPDATED0_13_2='**<abbr title="Updated in Dash Core v0.13.2">Updated in Dash Core 0.13.2</abbr>**' %}
<!-- Dash Core 0.13.1.0 Feb 2019 -->
{% assign DASH_NEW0_13_1='**<abbr title="New in Dash Core v0.13.1">New in Dash Core 0.13.1</abbr>**' %}
{% assign DASH_UPDATED0_13_1='**<abbr title="Updated in Dash Core v0.13.1">Updated in Dash Core 0.13.1</abbr>**' %}
<!-- Dash Core 0.13.0.0 Jan 2019 -->
{% assign DASH_NEW0_13_0='**<abbr title="New in Dash Core v0.13.0">New in Dash Core 0.13.0</abbr>**' %}
{% assign DASH_UPDATED0_13_0='**<abbr title="Updated in Dash Core v0.13.0">Updated in Dash Core 0.13.0</abbr>**' %}
<!-- Dash Core 0.12.3.0 July 2018 --> <!-- Dash Core 0.12.3.0 July 2018 -->
{% assign DASH_NEW0_12_3='**<abbr title="New in Dash Core v0.12.3">New in Dash Core 0.12.3</abbr>**' %} {% assign DASH_NEW0_12_3='*<abbr title="New in Dash Core v0.12.3">New in Dash Core 0.12.3</abbr>*' %}
{% assign DASH_UPDATED0_12_3='**<abbr title="Updated in Dash Core v0.12.3">Updated in Dash Core 0.12.3</abbr>**' %} {% assign DASH_UPDATED0_12_3='*<abbr title="Updated in Dash Core v0.12.3">Updated in Dash Core 0.12.3</abbr>*' %}
<!-- Dash Core 0.12.2.0 Nov 2017 --> <!-- Dash Core 0.12.2.0 Nov 2017 -->
{% assign DASH_NEW0_12_2='**<abbr title="New in Dash Core v0.12.2">New in Dash Core 0.12.2</abbr>**' %} {% assign DASH_NEW0_12_2='*<abbr title="New in Dash Core v0.12.2">New in Dash Core 0.12.2</abbr>*' %}
{% assign DASH_UPDATED0_12_2='**<abbr title="Updated in Dash Core v0.12.2">Updated in Dash Core 0.12.2</abbr>**' %} {% assign DASH_UPDATED0_12_2='*<abbr title="Updated in Dash Core v0.12.2">Updated in Dash Core 0.12.2</abbr>*' %}
<!-- Dash Core 0.12.1.0 Feb 2017 --> <!-- Dash Core 0.12.1.0 Feb 2017 -->
{% assign DASH_NEW0_12_1='*<abbr title="New in Dash Core v0.12.1">New in Dash Core 0.12.1</abbr>*' %} {% assign DASH_NEW0_12_1='*<abbr title="New in Dash Core v0.12.1">New in Dash Core 0.12.1</abbr>*' %}
@ -39,11 +59,11 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing.
{% assign DEPRECATED='**<abbr title="Deprecated; will be removed in a future version of Bitcoin Core">Deprecated</abbr>**' %} {% assign DEPRECATED='**<abbr title="Deprecated; will be removed in a future version of Bitcoin Core">Deprecated</abbr>**' %}
<!-- Bitcoin Core 0.14.1 April 2017 --> <!-- Bitcoin Core 0.14.1 April 2017 -->
{% assign UPDATED0_14_0='**<abbr title="Updated in Bitcoin Core v0.14.1">Updated in Bitcoin Core 0.14.1</abbr>**' %} {% assign UPDATED0_14_0='*<abbr title="Updated in Bitcoin Core v0.14.1">Updated in Bitcoin Core 0.14.1</abbr>*' %}
<!-- Bitcoin Core 0.14.0 March 2017 --> <!-- Bitcoin Core 0.14.0 March 2017 -->
{% assign NEW0_14_0='**<abbr title="New in Bitcoin Core v0.14.0">New in Bitcoin Core 0.14.0</abbr>**' %} {% assign NEW0_14_0='*<abbr title="New in Bitcoin Core v0.14.0">New in Bitcoin Core 0.14.0</abbr>*' %}
{% assign UPDATED0_14_0='**<abbr title="Updated in Bitcoin Core v0.14.0">Updated in Bitcoin Core 0.14.0</abbr>**' %} {% assign UPDATED0_14_0='*<abbr title="Updated in Bitcoin Core v0.14.0">Updated in Bitcoin Core 0.14.0</abbr>*' %}
<!-- Bitcoin Core 0.13.1 September 2016 --> <!-- Bitcoin Core 0.13.1 September 2016 -->
{% assign UPDATED0_13_1='*<abbr title="Updated in Bitcoin Core v0.13.1">Updated in Bitcoin Core 0.13.1</abbr>*' %} {% assign UPDATED0_13_1='*<abbr title="Updated in Bitcoin Core v0.13.1">Updated in Bitcoin Core 0.13.1</abbr>*' %}
@ -97,24 +117,29 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
{% autocrossref %} {% autocrossref %}
* [GetBestBlockHash][rpc getbestblockhash]: {{summary_getBestBlockHash}} * [GetBestBlockHash][rpc getbestblockhash]: {{summary_getBestBlockHash}}
* [GetBlock][rpc getblock]: {{summary_getBlock}} {{UPDATED0_13_0}} * [GetBestChainLock][rpc getbestchainlock]: {{summary_getBestChainLock}} {{DASH_NEW0_14_1}}
* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_12_1}} * [GetBlock][rpc getblock]: {{summary_getBlock}} {{DASH_UPDATED0_14_1}}
* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{DASH_UPDATED0_14_1}}
* [GetBlockCount][rpc getblockcount]: {{summary_getBlockCount}} * [GetBlockCount][rpc getblockcount]: {{summary_getBlockCount}}
* [GetBlockHash][rpc getblockhash]: {{summary_getBlockHash}} * [GetBlockHash][rpc getblockhash]: {{summary_getBlockHash}}
* [GetBlockHashes][rpc getblockhashes]: {{summary_getBlockHashes}} {{DASH_NEW0_12_1}} * [GetBlockHashes][rpc getblockhashes]: {{summary_getBlockHashes}} {{DASH_NEW0_12_1}}
* [GetBlockHeader][rpc getblockheader]: {{summary_getBlockHeader}} {{NEW0_12_0}} * [GetBlockHeader][rpc getblockheader]: {{summary_getBlockHeader}} {{NEW0_12_0}}
* [GetBlockHeaders][rpc getblockheaders]: {{summary_getBlockHeaders}} {{DASH_NEW0_12_1}} * [GetBlockHeaders][rpc getblockheaders]: {{summary_getBlockHeaders}} {{DASH_NEW0_12_1}}
* [GetBlockStats][rpc getblockstats]: {{summary_getBlockStats}} {{DASH_NEW0_14_1}}
* [GetChainTips][rpc getchaintips]: {{summary_getChainTips}} {{DASH_UPDATED0_12_3}} * [GetChainTips][rpc getchaintips]: {{summary_getChainTips}} {{DASH_UPDATED0_12_3}}
* [GetChainTxStats][rpc getchaintxstats]: {{summary_getChainTxStats}} {{DASH_NEW0_14_1}}
* [GetDifficulty][rpc getdifficulty]: {{summary_getDifficulty}} * [GetDifficulty][rpc getdifficulty]: {{summary_getDifficulty}}
* [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} {{DASH_UPDATED0_14_0}} {{NEW0_13_0}}
* [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} {{DASH_UPDATED0_14_0}} {{NEW0_13_0}}
* [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} {{DASH_UPDATED0_14_0}} {{NEW0_13_0}}
* [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} {{UPDATED0_12_0}} * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} {{DASH_UPDATED0_14_1}}
* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} {{DASH_UPDATED0_14_1}}
* [GetMerkleBlocks][rpc getmerkleblocks]: {{summary_getMerkleBlocks}} {{DASH_NEW0_14_1}}
* [GetSpecialTxes][rpc getspecialtxes]: {{summary_getSpecialTxes}} {{DASH_NEW0_13_1}}
* [GetSpentInfo][rpc getspentinfo]: {{summary_getSpentInfo}} {{DASH_NEW0_12_1}} * [GetSpentInfo][rpc getspentinfo]: {{summary_getSpentInfo}} {{DASH_NEW0_12_1}}
* [GetTxOut][rpc gettxout]: {{summary_getTxOut}} * [GetTxOut][rpc gettxout]: {{summary_getTxOut}} {{DASH_UPDATED0_14_1}}
* [GetTxOutProof][rpc gettxoutproof]: {{summary_getTxOutProof}} {{NEW0_11_0}} * [GetTxOutProof][rpc gettxoutproof]: {{summary_getTxOutProof}} {{NEW0_11_0}}
* [GetTxOutSetInfo][rpc gettxoutsetinfo]: {{summary_getTxOutSetInfo}} * [GetTxOutSetInfo][rpc gettxoutsetinfo]: {{summary_getTxOutSetInfo}} {{DASH_UPDATED0_14_1}}
* [PreciousBlock][rpc preciousblock]: {{summary_preciousBlock}} {{DASH_NEW0_12_3}} {{NEW0_14_0}} * [PreciousBlock][rpc preciousblock]: {{summary_preciousBlock}} {{DASH_NEW0_12_3}} {{NEW0_14_0}}
* [PruneBlockChain][rpc pruneblockchain]: {{summary_pruneBlockChain}} {{DASH_NEW0_12_3}} {{NEW0_14_0}} * [PruneBlockChain][rpc pruneblockchain]: {{summary_pruneBlockChain}} {{DASH_NEW0_12_3}} {{NEW0_14_0}}
* [VerifyChain][rpc verifychain]: {{summary_verifyChain}} * [VerifyChain][rpc verifychain]: {{summary_verifyChain}}
@ -128,11 +153,13 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
{% autocrossref %} {% autocrossref %}
* [Debug][rpc debug]: {{summary_debug}} {{DASH_UPDATED0_12_3}} * [Debug][rpc debug]: {{summary_debug}} {{DASH_UPDATED0_14_0}}
* [GetInfo][rpc getinfo]: {{summary_getInfo}} {{DEPRECATED}} * [GetInfo][rpc getinfo]: {{summary_getInfo}} {{DASH_UPDATED0_14_1}} {{DEPRECATED}}
* [GetMemoryInfo][rpc getmemoryinfo]: {{summary_getMemoryInfo}} {{DASH_NEW0_12_3}} {{NEW_14_0}} * [GetMemoryInfo][rpc getmemoryinfo]: {{summary_getMemoryInfo}} {{DASH_UPDATED0_14_1}} {{NEW_14_0}}
* [Help][rpc help]: {{summary_help}} * [Help][rpc help]: {{summary_help}}
* [Logging][rpc logging]: {{summary_logging}} {{DASH_NEW0_14_1}}
* [Stop][rpc stop]: {{summary_stop}} * [Stop][rpc stop]: {{summary_stop}}
* [Uptime][rpc uptime]: {{summary_uptime}} {{DASH_NEW0_14_1}}
{% endautocrossref %} {% endautocrossref %}
@ -142,21 +169,31 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
{% autocrossref %} {% autocrossref %}
* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_12_3}} * [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_14_0}}
* [GetPoolInfo][rpc getpoolinfo]: {{summary_getPoolInfo}} * [GetPoolInfo][rpc getpoolinfo]: {{summary_getPoolInfo}}
* [GetSuperblockBudget][rpc getsuperblockbudget]: {{summary_getSuperblockBudget}} * [GetSuperblockBudget][rpc getsuperblockbudget]: {{summary_getSuperblockBudget}}
* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_12_3}} * [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_14_1}}
* [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_12_3}} * [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_14_0}}
* [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}} * [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} {{DASH_UPDATED0_14_0}}
* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} {{DASH_UPDATED0_12_3}} * [MnSync][rpc mnsync]: {{summary_mnSync}} {{DASH_UPDATED0_14_0}}
* [MnSync][rpc mnsync]: {{summary_mnSync}}
* [PrivateSend][rpc privatesend]: {{summary_privateSend}} {{DASH_UPDATED0_12_3}} * [PrivateSend][rpc privatesend]: {{summary_privateSend}} {{DASH_UPDATED0_12_3}}
* [SentinelPing][rpc sentinelping]: {{summary_sentinelPing}}
* [Spork][rpc spork]: {{summary_spork-rpc}} * [Spork][rpc spork]: {{summary_spork-rpc}}
* [VoteRaw][rpc voteraw]: {{summary_voteRaw}} * [VoteRaw][rpc voteraw]: {{summary_voteRaw}}
{% endautocrossref %} {% endautocrossref %}
#### Evolution RPCs
{:.no_toc}
<!-- no subhead-links here -->
{% autocrossref %}
* [BLS][rpc bls]: {{summary_bls}} {{DASH_UPDATED0_14_0}}
* [ProTx][rpc protx]: {{summary_proTx}} {{DASH_UPDATED0_14_0}}
* [Quorum][rpc quorum]: {{summary_quorum}} {{DASH_NEW0_14_0}}
{% endautocrossref %}
#### Generating RPCs #### Generating RPCs
{:.no_toc} {:.no_toc}
<!-- no subhead-links here --> <!-- no subhead-links here -->
@ -174,10 +211,10 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
{% autocrossref %} {% autocrossref %}
* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} {{DASH_UPDATED0_12_3}} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} {{DASH_UPDATED0_13_0}}
* [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED0_14_0}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED0_14_0}}
* [GetNetworkHashPS][rpc getnetworkhashps]: {{summary_getNetworkHashPS}} * [GetNetworkHashPS][rpc getnetworkhashps]: {{summary_getNetworkHashPS}}
* [PrioritiseTransaction][rpc prioritisetransaction]: {{summary_prioritiseTransaction}} * [PrioritiseTransaction][rpc prioritisetransaction]: {{summary_prioritiseTransaction}} {{UPDATED0_14_0}}
* [SubmitBlock][rpc submitblock]: {{summary_submitBlock}} * [SubmitBlock][rpc submitblock]: {{summary_submitBlock}}
{% endautocrossref %} {% endautocrossref %}
@ -190,12 +227,12 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
* [AddNode][rpc addnode]: {{summary_addNode}} {{UPDATED0_14_0}} * [AddNode][rpc addnode]: {{summary_addNode}} {{UPDATED0_14_0}}
* [ClearBanned][rpc clearbanned]: {{summary_clearBanned}} {{NEW0_12_0}} * [ClearBanned][rpc clearbanned]: {{summary_clearBanned}} {{NEW0_12_0}}
* [DisconnectNode][rpc disconnectnode]: {{summary_disconnectNode}} {{NEW0_12_0}} {{UPDATED0_14_1}} * [DisconnectNode][rpc disconnectnode]: {{summary_disconnectNode}} {{DASH_UPDATED0_14_1}} {{UPDATED0_14_1}}
* [GetAddedNodeInfo][rpc getaddednodeinfo]: {{summary_getAddedNodeInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} * [GetAddedNodeInfo][rpc getaddednodeinfo]: {{summary_getAddedNodeInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}}
* [GetConnectionCount][rpc getconnectioncount]: {{summary_getConnectionCount}} * [GetConnectionCount][rpc getconnectioncount]: {{summary_getConnectionCount}}
* [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} {{UPDATED0_12_0}} * [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} {{UPDATED0_12_0}}
* [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{DASH_UPDATED0_14_0}}
* [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} {{UPDATED0_13_0}} * [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} {{DASH_UPDATED0_14_1}}
* [ListBanned][rpc listbanned]: {{summary_listBanned}} {{NEW0_12_0}} * [ListBanned][rpc listbanned]: {{summary_listBanned}} {{NEW0_12_0}}
* [Ping][rpc ping]: {{summary_ping-rpc}} * [Ping][rpc ping]: {{summary_ping-rpc}}
* [SetBan][rpc setban]: {{summary_setBan}} {{NEW0_12_0}} * [SetBan][rpc setban]: {{summary_setBan}} {{NEW0_12_0}}
@ -209,12 +246,13 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
{% autocrossref %} {% autocrossref %}
* [CombineRawTransaction][rpc combinerawtransaction]: {{summary_combineRawTransaction}} {{DASH_NEW0_14_1}}
* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_1}} * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_1}}
* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} {{UPDATED0_13_0}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} {{UPDATED0_13_0}}
* [DecodeScript][rpc decodescript]: {{summary_decodeScript}} * [DecodeScript][rpc decodescript]: {{summary_decodeScript}}
* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} * [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{DASH_UPDATED0_14_1}}
* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} * [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{DASH_UPDATED0_14_1}}
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} {{DASH_UPDATED0_14_1}}
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}
{% endautocrossref %} {% endautocrossref %}
@ -227,10 +265,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
* [CreateMultiSig][rpc createmultisig]: {{summary_createMultiSig}} * [CreateMultiSig][rpc createmultisig]: {{summary_createMultiSig}}
* [EstimateFee][rpc estimatefee]: {{summary_estimateFee}} * [EstimateFee][rpc estimatefee]: {{summary_estimateFee}}
* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} {{DEPRECATED}} * [EstimateSmartFee][rpc estimatesmartfee]: {{summary_estimateSmartFee}} {{DASH_UPDATED0_14_1}}
* [EstimateSmartFee][rpc estimatesmartfee]: {{summary_estimateSmartFee}} {{DEPRECATED}}
* [EstimateSmartPriority][rpc estimatesmartpriority]: {{summary_estimateSmartPriority}} {{DEPRECATED}}
* [SetBIP69Enabled][rpc setbip69enabled]: {{summary_setBIP69Enabled}} {{DASH_NEW0_12_3}}
* [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} {{DASH_NEW0_12_3}} {{NEW0_13_0}}
* [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}}
* [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}}
@ -248,21 +283,22 @@ with [wallet support][]{:#term-wallet-support}{:.term}, which is the
default. default.
* [AbandonTransaction][rpc abandontransaction]: {{summary_abandonTransaction}} {{NEW0_12_0}} * [AbandonTransaction][rpc abandontransaction]: {{summary_abandonTransaction}} {{NEW0_12_0}}
* [AbortRescan][rpc abortrescan]: {{summary_abortrescan}} {{DASH_NEW0_14_1}}
* [AddMultiSigAddress][rpc addmultisigaddress]: {{summary_addMultiSigAddress}} * [AddMultiSigAddress][rpc addmultisigaddress]: {{summary_addMultiSigAddress}}
* [BackupWallet][rpc backupwallet]: {{summary_backupWallet}} * [BackupWallet][rpc backupwallet]: {{summary_backupWallet}}
* [DumpHDInfo][rpc dumphdinfo]: {{summary_dumpHDInfo}} {{DASH_NEW0_12_2}} * [DumpHDInfo][rpc dumphdinfo]: {{summary_dumpHDInfo}} {{DASH_NEW0_12_2}}
* [DumpPrivKey][rpc dumpprivkey]: {{summary_dumpPrivKey}} * [DumpPrivKey][rpc dumpprivkey]: {{summary_dumpPrivKey}}
* [DumpWallet][rpc dumpwallet]: {{summary_dumpWallet}} * [DumpWallet][rpc dumpwallet]: {{summary_dumpWallet}} {{DASH_UPDATED0_13_0}}
* [EncryptWallet][rpc encryptwallet]: {{summary_encryptWallet}} * [EncryptWallet][rpc encryptwallet]: {{summary_encryptWallet}}
* [GetAccount][rpc getaccount]: {{summary_getAccount}} {{DEPRECATED}} * [GetAccount][rpc getaccount]: {{summary_getAccount}} {{DEPRECATED}}
* [GetAccountAddress][rpc getaccountaddress]: {{summary_getAccountAddress}} {{DEPRECATED}} * [GetAccountAddress][rpc getaccountaddress]: {{summary_getAccountAddress}} {{DEPRECATED}}
* [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} {{DEPRECATED}} * [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} {{DEPRECATED}}
* [GetBalance][rpc getbalance]: {{summary_getBalance}} * [GetBalance][rpc getbalance]: {{summary_getBalance}} {{DASH_UPDATED0_13_0}}
* [GetNewAddress][rpc getnewaddress]: {{summary_getNewAddress}} * [GetNewAddress][rpc getnewaddress]: {{summary_getNewAddress}}
* [GetRawChangeAddress][rpc getrawchangeaddress]: {{summary_getRawChangeAddress}} * [GetRawChangeAddress][rpc getrawchangeaddress]: {{summary_getRawChangeAddress}}
* [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} {{DEPRECATED}} * [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
* [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}} * [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}} {{DASH_UPDATED0_13_0}}
* [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} {{UPDATED0_12_0}} * [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} {{DASH_UPDATED0_14_0}}
* [GetUnconfirmedBalance][rpc getunconfirmedbalance]: {{summary_getUnconfirmedBalance}} * [GetUnconfirmedBalance][rpc getunconfirmedbalance]: {{summary_getUnconfirmedBalance}}
* [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} {{DASH_UPDATED0_12_3}} * [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} {{DASH_UPDATED0_12_3}}
* [ImportAddress][rpc importaddress]: {{summary_importAddress}} * [ImportAddress][rpc importaddress]: {{summary_importAddress}}
@ -272,34 +308,33 @@ default.
* [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}}
* [ImportPubKey][rpc importpubkey]: {{summary_importPubKey}} * [ImportPubKey][rpc importpubkey]: {{summary_importPubKey}}
* [ImportWallet][rpc importwallet]: {{summary_importWallet}} * [ImportWallet][rpc importwallet]: {{summary_importWallet}}
* [InstantSendToAddress][rpc instantsendtoaddress]: {{summary_instantSendToAddress}}
* [KeePass][rpc keepass]: {{summary_keepass}} {{DARKCOIN_NEW0_11_0}} * [KeePass][rpc keepass]: {{summary_keepass}} {{DARKCOIN_NEW0_11_0}}
* [KeyPoolRefill][rpc keypoolrefill]: {{summary_keyPoolRefill}} * [KeyPoolRefill][rpc keypoolrefill]: {{summary_keyPoolRefill}}
* [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{DEPRECATED}} * [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
* [ListAddressBalances][rpc listaddressbalances]: {{summary_listAddressBalances}} {{DASH_NEW0_12_3}} * [ListAddressBalances][rpc listaddressbalances]: {{summary_listAddressBalances}} {{DASH_NEW0_12_3}}
* [ListAddressGroupings][rpc listaddressgroupings]: {{summary_listAddressGroupings}} * [ListAddressGroupings][rpc listaddressgroupings]: {{summary_listAddressGroupings}}
* [ListLockUnspent][rpc listlockunspent]: {{summary_listLockUnspent}} * [ListLockUnspent][rpc listlockunspent]: {{summary_listLockUnspent}}
* [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{DEPRECATED}} * [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
* [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} * [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} {{DASH_UPDATED0_13_0}}
* [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}} * [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}} {{DASH_UPDATED0_14_1}}
* [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{UPDATED0_12_1}} * [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{DASH_UPDATED0_14_0}}
* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{DASH_UPDATED0_14_1}}
* [ListWallets][rpc listwallets]: {{summary_listWallets}} {{DASH_NEW0_14_1}}
* [LockUnspent][rpc lockunspent]: {{summary_lockUnspent}} * [LockUnspent][rpc lockunspent]: {{summary_lockUnspent}}
* [Move][rpc move]: {{summary_move}} {{DEPRECATED}} * [Move][rpc move]: {{summary_move}} {{DEPRECATED}}
* [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}}
* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} {{DEPRECATED}} * [SendFrom][rpc sendfrom]: {{summary_sendFrom}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
* [SendMany][rpc sendmany]: {{summary_sendMany}} * [SendMany][rpc sendmany]: {{summary_sendMany}} {{DASH_UPDATED0_14_1}}
* [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}} * [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}} {{DASH_UPDATED0_14_1}}
* [SetAccount][rpc setaccount]: {{summary_setAccount}} {{DEPRECATED}} * [SetAccount][rpc setaccount]: {{summary_setAccount}} {{DEPRECATED}}
* [SetPrivateSendAmount][rpc setprivatesendamount]: {{summary_setPrivateSendAmount}}
* [SetPrivateSendRounds][rpc setprivatesendrounds]: {{summary_setPrivateSendRounds}}
* [SetTxFee][rpc settxfee]: {{summary_setTxFee}} * [SetTxFee][rpc settxfee]: {{summary_setTxFee}}
* [SignMessage][rpc signmessage]: {{summary_signMessage}} * [SignMessage][rpc signmessage]: {{summary_signMessage}}
* [WalletLock][rpc walletlock]: {{summary_walletLock}} * [WalletLock][rpc walletlock]: {{summary_walletLock}}
* [WalletPassphrase][rpc walletpassphrase]: {{summary_walletPassphrase}} * [WalletPassphrase][rpc walletpassphrase]: {{summary_walletPassphrase}}
* [WalletPassphraseChange][rpc walletpassphrasechange]: {{summary_walletPassphraseChange}} * [WalletPassphraseChange][rpc walletpassphrasechange]: {{summary_walletPassphraseChange}}
* {{DASH_NOT_IMPLEMENTED}} [AddWitnessAddress][rpc addwitnessaddress]: {{summary_addWitnessAddress}} {{NEW0_13_0}}
* {{DASH_NOT_IMPLEMENTED}} [BumpFee][rpc bumpfee]: {{summary_bumpFee}} {{NEW0_14_0}}
{% endautocrossref %} {% endautocrossref %}
#### Removed RPCs #### Removed RPCs
@ -308,8 +343,12 @@ default.
{% autocrossref %} {% autocrossref %}
* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}}
* [EstimateSmartPriority][rpc estimatesmartpriority]: {{summary_estimateSmartPriority}}
* [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}} * [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}}
* [GetWork][rpc getwork]: {{summary_getWork}} * [GetWork][rpc getwork]: {{summary_getWork}}
* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}} * [GetGenerate][rpc getgenerate]: {{summary_getGenerate}}
* [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}}
* [SentinelPing][rpc sentinelping]: {{summary_sentinelPing}}
* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} * [SetGenerate][rpc setgenerate]: {{summary_setGenerate}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -0,0 +1,45 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/abortrescan.md" %}
<!--__-->
##### AbortRescan
{% include helpers/subhead-links.md %}
{% assign summary_abortRescan="Stops current wallet rescan" %}
{% autocrossref %}
The `abortrescan` RPC {{summary_abortRescan}}
Stops current wallet rescan triggered e.g. by an `importprivkey` RPC call.
*Parameters: none*
*Result---`true` on success*
{% itemplate ntpd1 %}
- n: "`result`"
t: "null"
p: "Required<br>(exactly 1)"
d: "`true` when the command was successful or `false` if not successful."
{% enditemplate %}
*Example from Dash Core 0.14.1*
Abort the running wallet rescan
{% highlight bash %}
dash-cli -testnet abortrescan
{% endhighlight %}
Result:
{% highlight text %}
true
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -1,67 +0,0 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/addwitnessaddress.md" %}
##### AddWitnessAddress
{% include helpers/subhead-links.md %}
{% assign summary_addWitnessAddress="adds a witness address for a script (with pubkey or redeem script known)." %}
<!-- __ -->
{% autocrossref %}
*Added in Bitcoin Core 0.13.0*
{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_**
{% comment %}
*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<br>(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<br>(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 mainnet as long as Segregated Witness has not been activated.
`-walletprematurewitness` enables the RPC.
{% highlight text %}
3LfAujMsBHgQKoxLn59dVbeYPmfUrHSAQb
{% endhighlight %}
*See also*
* [BIP-141 - Segregated Witness](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki)
* [BIP-142 - Address Format for Segregated Witness](https://github.com/bitcoin/bips/blob/master/bip-0142.mediawiki)
{% endcomment %}
{% endautocrossref %}

View file

@ -0,0 +1,117 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/bls.md" %}
<!-- __ -->
##### BLS
{% include helpers/subhead-links.md %}
{% assign summary_bls="provides a set of commands to execute BLS-related actions." %}
{% autocrossref %}
*Added in Dash Core 0.13.0*
The `bls` RPC {{summary_bls}}
{% endautocrossref %}
###### BLS<!--noref--> Generate
<!-- no subhead-links here -->
{% autocrossref %}
The `bls<!--noref--> generate` RPC creates a new BLS secret/public key pair.
*Parameters: none*
*Result---a secret/public key pair*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object"
p: "Required<br>(exactly 1)"
d: "BLS key pair"
- n: "→<br>`secret`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "A BLS secret key"
- n: "→<br>`public`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "A BLS public key"
{% enditemplate %}
*Example from Dash Core 0.13.0*
{% highlight bash %}
dash-cli -testnet bls generate
{% endhighlight %}
Result:
{% highlight json %}
{
"secret": "52f35cd3d977a505485f2474e7e71ef3f60f859603d72ad6b0fa7f7bd163e144",
"public": "885d01d746c3e4d2093b0975de2d8c1f3e5a2c3e8fdaaed929f86fc9fbb278a095248163c101a2456650b415776b7990"
}
{% endhighlight %}
{% endautocrossref %}
###### BLS<!--noref--> FromSecret
<!-- no subhead-links here -->
{% autocrossref %}
The `bls<!--noref--> fromsecret` RPC parses a BLS secret key and returns the secret/public key pair.
*Parameter #1---secret key*
{% itemplate ntpd1 %}
- n: "`secret`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The BLS secret key"
{% enditemplate %}
*Result---the secret/public key pair*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object"
p: "Required<br>(exactly 1)"
d: "BLS key pair"
- n: "→<br>`secret`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "A BLS secret key"
- n: "→<br>`public`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "A BLS public key"
{% enditemplate %}
*Example from Dash Core 0.14.0*
{% highlight bash %}
dash-cli -testnet bls fromsecret 52f35cd3d977a505485f2474e7e71ef3f60f859603d72ad6b0fa7f7bd163e144
{% endhighlight %}
Result:
{% highlight json %}
{
"secret": "52f35cd3d977a505485f2474e7e71ef3f60f859603d72ad6b0fa7f7bd163e144",
"public": "885d01d746c3e4d2093b0975de2d8c1f3e5a2c3e8fdaaed929f86fc9fbb278a095248163c101a2456650b415776b7990"
}
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -1,123 +0,0 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/bumpfee.md" %}
##### BumpFee
{% include helpers/subhead-links.md %}
{% assign summary_bumpFee="replaces an unconfirmed wallet transaction that signaled RBF with a new transaction that pays a higher fee." %}
<!-- __ -->
{% autocrossref %}
*Added in Bitcoin Core 0.14.0*
{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_**
{% comment %}
*Requires wallet support. Wallet must be unlocked.*
The `bumpfee` RPC {{summary_bumpFee}} The increased fee is deducted from the change output. The command fails if the change output is too small to increase the fee or
if the wallet or mempool contains a transaction that spends one of the transaction's outputs. The `-walletrbf` option needs to be enabled (default is `false`).
*Parameter #1---The TXID of the transaction*
{% itemplate ntpd1 %}
- n: "TXID"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The id of the transaction"
{% enditemplate %}
*Parameter #2---Additional options*
{% itemplate ntpd1 %}
- n: "Options"
t: "Object"
p: "Optional<br>(0 or 1)"
d: "Additional options"
- n: "→ <br>`confTarget`"
t: "numeric (int)"
p: "Optional<br>(0 or 1)"
d: "The confirmation target in blocks. Based on this value the new fee will be calculated using the same code as the `estimatefee` RPC. If not set, the default target of ´6´ blocks will be used"
- n: "→ <br>`totalFee`"
t: "numeric (satoshis)"
p: "Optional<br>(0 or 1)"
d: "The total fee to pay in satoshis (not the feerate). The actual fee can be higher in rare cases if the change output is close to the dust limit"
- n: "→ <br>`replaceable`"
t: "bool"
p: "Optional<br>(0 or 1)"
d: "Whether the new transaction should still be BIP 125 replaceable. Even if set to `false` the transaction may still be replacable, for example if it has unconfirmed ancestors which are replaceable. The default is `true`"
{% enditemplate %}
*Result---information about the new transaction*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object"
p: "Required<br>(exactly 1)"
d: "An object including information about the new transaction"
- n: "→ <br>`txid`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The id of the new transaction"
- n: "→ <br>`origfee`"
t: "numeric (bitcoins)"
p: "Required<br>(exactly 1)"
d: "The fee of the replaced transaction"
- n: "→ <br>`fee`"
t: "numeric (bitcoins)"
p: "Required<br>(exactly 1)"
d: "The fee of the new transaction"
- n: "→ <br>`errors`"
t: "array"
p: "Required<br>(exactly 1)"
d: "Errors encountered during processing (may be empty)"
{% enditemplate %}
*Example from Bitcoin Core 0.14.1*
{% highlight bash %}
bitcoin-cli -testnet bumpfee d4a33e0cabaz723149e1fcab4e033a40173\
88a644c65370e3cb06ba2f0e13975\
'{
"totalFee": 4000,
"replaceable": false
}'
{% endhighlight %}
Result:
{% highlight json %}
{
"txid": "37a55ce49636977k79bcb04ee1143573b570b1743e09660e79e7ec3320968ca54",
"origfee": 0.00002450,
"fee": 0.00004000,
"errors": ""
}
{% endhighlight %}
*See also*
* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}}
* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}}
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}}
* [Serialized Transaction Format][raw transaction format]
{% endcomment %}
{% endautocrossref %}

View file

@ -0,0 +1,78 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/combinerawtransaction.md" %}
<!--__-->
##### CombineRawTransaction
{% include helpers/subhead-links.md %}
{% assign summary_combineRawTransaction="combine multiple partially signed transactions into one transaction." %}
{% autocrossref %}
The `combinerawtransaction` RPC {{summary_combineRawTransaction}}
The combined transaction may be another partially signed transaction or a
fully signed transaction.
*Parameter #1---txs*
{% itemplate ntpd1 %}
- n: "txs"
t: "string"
p: "Required"
d: "A json array of hex strings of partially signed transactions"
{% enditemplate %}
*Result---hex-encoded raw transaction with signature(s)*
{% itemplate ntpd1 %}
- n: "`result`"
t: "string"
p: "Required<br>(Exactly 1)"
d: "The resulting raw transaction in serialized transaction format encoded as hex."
{% enditemplate %}
*Example from Dash Core 0.14.1*
The following example shows a fully signed two input transaction being assembled
by combining two partially signed transactions. The first hex-encoded string is
the transaction with only the first input signed. The second hex-encoded string is
the transaction with only the second input signed.
{% highlight bash %}
dash-cli combinerawtransaction '[
"0200000002fdb27b4f2b80a5fd3b96602618a6ccf7bdde504bf90989610b19ed6ecd769520010000006b483045022100f8770316327966fb1972338d14db8d38048455da8b62f6350b117c797cea459e02206c63c103cf53ce1d24a313b3e6853913fa14febafd733e683b6eb46a7beec0fa012103c67d86944315838aea7ec80d390b5d09b91b62483370d4979da5ccf7a7df77a9ffffffff0d052e9b13c53bb342d772767732ffe4fa9f1c150629d3fa79655267baa7c86a0100000000ffffffff0200ca9a3b000000001976a9144139b147b5cef5fef5bcdb02fcdf55e426f74dbb88ac00daf89a000000001976a91465f53f2095c99ce152ff3bc8a8f027d8a77cbdcb88ac00000000",
"0200000002fdb27b4f2b80a5fd3b96602618a6ccf7bdde504bf90989610b19ed6ecd7695200100000000ffffffff0d052e9b13c53bb342d772767732ffe4fa9f1c150629d3fa79655267baa7c86a010000006b4830450221008c3abc11ea84cc98cf674afc5b6d3d078d672768d289f2ab976ea4b2a49129fc022008470458b1b179800e7f5348196d510d2f147e69fe836c94135fc5c620312acd012102912ba98d6641f79864d04d41523167f5db267e45d1633e9243a0be7efb675719ffffffff0200ca9a3b000000001976a9144139b147b5cef5fef5bcdb02fcdf55e426f74dbb88ac00daf89a000000001976a91465f53f2095c99ce152ff3bc8a8f027d8a77cbdcb88ac00000000"
]'
{% endhighlight %}
Result:
{% highlight bash %}
0200000002fdb27b4f2b80a5fd3b96602618a6ccf7bdde504bf90989610b19ed6ecd7695\
20010000006b483045022100f8770316327966fb1972338d14db8d38048455da8b62f635\
0b117c797cea459e02206c63c103cf53ce1d24a313b3e6853913fa14febafd733e683b6e\
b46a7beec0fa012103c67d86944315838aea7ec80d390b5d09b91b62483370d4979da5cc\
f7a7df77a9ffffffff0d052e9b13c53bb342d772767732ffe4fa9f1c150629d3fa796552\
67baa7c86a010000006b4830450221008c3abc11ea84cc98cf674afc5b6d3d078d672768\
d289f2ab976ea4b2a49129fc022008470458b1b179800e7f5348196d510d2f147e69fe83\
6c94135fc5c620312acd012102912ba98d6641f79864d04d41523167f5db267e45d1633e\
9243a0be7efb675719ffffffff0200ca9a3b000000001976a9144139b147b5cef5fef5bc\
db02fcdf55e426f74dbb88ac00daf89a000000001976a91465f53f2095c99ce152ff3bc8\
a8f027d8a77cbdcb88ac00000000
{% 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 %}

View file

@ -110,6 +110,7 @@ cfc9f32ef388acc0a8f9be010000001976a914811eacc14db8ebb5b64486dc43400c0226b4\
*See also* *See also*
* [CombineRawTransaction][rpc combinerawtransaction]: {{summary_combineRawTransaction}}
* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}}
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/debug.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/debug.md" %}
<!-- __ -->
##### Debug ##### Debug
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -19,11 +20,10 @@ The `debug` RPC {{summary_debug}}
- n: "Debug category" - n: "Debug category"
t: "string" t: "string"
p: "Required<br>(1 or more)" p: "Required<br>(1 or more)"
d: "The debug category to activate. Use a `+` to specify multiple categories. Categories will be one of the following:<br>`0` - Disables all categories <br>`1` - Enables all categories <br>`addrman` <br>`alert` <br>`bench` <br>`coindb` <br>`db` <br>`lock` <br>`rand` <br>`rpc` <br>`selectcoins` <br>`mempool` <br>`mempoolrej` <br>`net` <br>`proxy` <br>`prune` <br>`http` <br>`libevent` <br>`tor` <br>`zmq` <br>`dash` <br>`privatesend` <br>`instantsend` <br>`masternode` <br>`spork` <br>`keepass` <br>`mnpayments` <br>`gobject` <br>" d: "The debug category to activate. Use a `+` to specify multiple categories. Categories will be one of the following:<br>`0` - Disables all categories <br>`1` or `all` - Enables all categories <br>`addrman` <br>`bench` <br>`cmpctblock` <br>`coindb` <br>`db` <br>`estimatefee` <br>`http` <br>`leveldb` <br>`libevent` <br>`mempool` <br>`mempoolrej` <br>`net` <br>`proxy` <br>`prune` <br>`qt` <br>`rand` <br>`reindex` <br>`rpc` <br>`selectcoins` <br>`tor` <br>`zmq` <br>`dash` (all subcategories)<br><br>The `dash` sub-categories can be enabled individually:<br>`chainlocks` <br>`gobject` <br>`instantsend` <br>`keepass` <br>`llmq<!--noref-->` <br>`llmq<!--noref-->-dkg` <br>`llmq<!--noref-->-sigs` <br>`mnpayments` <br>`mnsync` <br>`privatesend` <br>`spork` <br><br><br>Note: No error will be thrown even if the specified category doesn't match any of the above"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet debug "net+mempool" dash-cli -testnet debug "net+mempool"
@ -35,6 +35,8 @@ Result:
Debug mode: net+mempool Debug mode: net+mempool
{% endhighlight %} {% endhighlight %}
*See also: none* *See also*
* [Logging][rpc logging]: {{summary_logging}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md" %}
<!--__-->
##### DecodeRawTransaction ##### DecodeRawTransaction
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -34,74 +35,148 @@ The `decoderawtransaction` RPC {{summary_decodeRawTransaction}}
{{INCLUDE_DECODE_RAW_TRANSACTION}} {{INCLUDE_DECODE_RAW_TRANSACTION}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
Decode a signed one-input, two-output transaction: Decode a signed one-input, two-output transaction:
{% highlight bash %} {% highlight bash %}
dash-cli decoderawtransaction 01000000016b490886c0198b028c6c5cb145c4eb3b10\ dash-cli decoderawtransaction 02000000015d0b26079696875e9fc3cb480420aae3c8\
55a224a7a105aadeff41b69ec91e060100000069463043022033a61c56fa0867ed67b76b02\ b1da628fbb14cc718066df7fe7c5fd010000006a47304402202cfa683981898ad9adb89534\
3204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4\ 23a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee\
182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb32749d79f53f6e\ 27f706baaed86dabb105979c3e6f6e1cb9012103d14eb001cf0908f3a2333d171f6236497a\
8d7947ac40a71bd4b26c13b6ec29ffffffff0200205fa0120000001976a914485485425fa9\ 82318a6a6f649b4d7fd8e5c8922e08feffffff021e3f4b4c000000001976a914b02ae52066\
9504ec1638ac4213f3cfc9f32ef388acc0a8f9be010000001976a914811eacc14db8ebb5b6\ 542b4aec5cf45c7cae3183d7bd322788ac00f90295000000001976a914252c9de3a0ebd5c9\
4486dc43400c0226b428a488ac00000000 5886187b24969d4ccdb5576e88ac943d0000
{% endhighlight %} {% endhighlight %}
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"txid": "2f124cb550d9967b81914b544dea3783de23e85d67a9816f9bada665ecfe1cd5", "txid": "f4de3be04efa18e203c9d0b7ad11bb2517f5889338918ed300a374f5bd736ed7",
"size": 224, "size": 225,
"version": 1, "version": 2,
"type": 0,
"locktime": 15764,
"vin": [
{
"txid": "fdc5e77fdf668071cc14bb8f62dab1c8e3aa200448cbc39f5e87969607260b5d",
"vout": 1,
"scriptSig": {
"asm": "304402202cfa683981898ad9adb8953423a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee27f706baaed86dabb105979c3e6f6e1cb9[ALL] 03d14eb001cf0908f3a2333d171f6236497a82318a6a6f649b4d7fd8e5c8922e08",
"hex": "47304402202cfa683981898ad9adb8953423a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee27f706baaed86dabb105979c3e6f6e1cb9012103d14eb001cf0908f3a2333d171f6236497a82318a6a6f649b4d7fd8e5c8922e08"
},
"sequence": 4294967294
}
],
"vout": [
{
"value": 12.79999774,
"valueSat": 1279999774,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 b02ae52066542b4aec5cf45c7cae3183d7bd3227 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914b02ae52066542b4aec5cf45c7cae3183d7bd322788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"ycNwAN4DQ7Xnw5XLKg84SR4U1GE22FfLNQ"
]
}
},
{
"value": 25.00000000,
"valueSat": 2500000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 252c9de3a0ebd5c95886187b24969d4ccdb5576e OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914252c9de3a0ebd5c95886187b24969d4ccdb5576e88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yPi1JKw5fn8bMFsCCtnkGagogW6GXwGktZ"
]
}
}
],
"instantlock": true
}
{% endhighlight %}
Decode a coinbase special transaction (CbTx):
{% highlight bash %}
dash-cli decoderawtransaction 03000500010000000000000000000000000000000000\
000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74\
506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976\
a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488\
a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39\
960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
45e20cfd5d830382ac634d434725ca6349ab5db920a3
{% endhighlight %}
Result:
{% highlight json %}
{
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {
"txid": "061ec99eb641ffdeaa05a1a724a255103bebc445b15c6c8c028b19c08608496b", "coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"vout": 1,
"scriptSig": {
"asm": "3043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e[ALL] 02eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29",
"hex": "463043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29"
},
"sequence": 4294967295 "sequence": 4294967295
} }
], ],
"vout": [ "vout": [
{ {
"value": 800.00000000, "value": 8.10000000,
"valueSat": 80000000000, "valueSat": 810000000,
"n": 0, "n": 0,
"scriptPubKey": { "scriptPubKey": {
"asm": "OP_DUP OP_HASH160 485485425fa99504ec1638ac4213f3cfc9f32ef3 OP_EQUALVERIFY OP_CHECKSIG", "asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914485485425fa99504ec1638ac4213f3cfc9f32ef388ac", "hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1, "reqSigs": 1,
"type": "pubkeyhash", "type": "pubkeyhash",
"addresses": [ "addresses": [
"ySutkc49Khpz1HQN8AfWNitVBLwqtyaxvv" "yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
] ]
} }
}, },
{ {
"value": 74.99000000, "value": 8.10000000,
"valueSat": 7499000000, "valueSat": 810000000,
"n": 1, "n": 1,
"scriptPubKey": { "scriptPubKey": {
"asm": "OP_DUP OP_HASH160 811eacc14db8ebb5b64486dc43400c0226b428a4 OP_EQUALVERIFY OP_CHECKSIG", "asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914811eacc14db8ebb5b64486dc43400c0226b428a488ac", "hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1, "reqSigs": 1,
"type": "pubkeyhash", "type": "pubkeyhash",
"addresses": [ "addresses": [
"yY6AmGopsZS31wy1JLHR9P6AC6owFaXwuh" "yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
] ]
} }
} }
] ],
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false,
"instantlock_internal": false,
"chainlock": false
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*
* [CombineRawTransaction][rpc combinerawtransaction]: {{summary_combineRawTransaction}}
* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}}
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}}

View file

@ -22,7 +22,15 @@ The `disconnectnode` RPC {{summary_disconnectNode}}
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The node you want to disconnect from as a string in the form of `<IP address>:<port>`.<br><br>*Updated in Bitcoin Core 0.14.1*" d: "The node you want to disconnect from as a string in the form of `<IP address>:<port>`.<br><br>*Updated in Bitcoin Core 0.14.1*"
{% enditemplate %}
*Parameter #2---nodeid*
{% itemplate ntpd1 %}
- n: "nodeid"
t: "number"
p: "Optional"
d: "The node ID (see `getpeerinfo` for node IDs)"
{% enditemplate %} {% enditemplate %}
*Result---`null` on success or error on failed disconnect* *Result---`null` on success or error on failed disconnect*
@ -35,9 +43,9 @@ The `disconnectnode` RPC {{summary_disconnectNode}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
Disconnects following node from your node. Disconnects following node by address.
{% highlight bash %} {% highlight bash %}
dash-cli -testnet disconnectnode 192.0.2.113:19999 dash-cli -testnet disconnectnode 192.0.2.113:19999
@ -45,6 +53,14 @@ dash-cli -testnet disconnectnode 192.0.2.113:19999
Result (no output from `dash-cli` because result is set to `null`). Result (no output from `dash-cli` because result is set to `null`).
Disconnects following node by id.
{% highlight bash %}
dash-cli -testnet disconnectnode "" 3
{% endhighlight %}
Result (no output from `dash-cli` because result is set to `null`).
*See also* *See also*
* [AddNode][rpc addnode]: {{summary_addNode}} * [AddNode][rpc addnode]: {{summary_addNode}}

View file

@ -28,17 +28,51 @@ The `dumpwallet` RPC {{summary_dumpWallet}}
{% enditemplate %} {% enditemplate %}
*Result---`null` or error* *Result---information about exported wallet*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`result`" - n: "`result`"
t: "null" t: "object"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Always `null` whether success or failure. The JSON-RPC error and message fields will be set if a failure occurred" d: "An object describing dumped wallet file"
- n: "→<br>`dashcoreversion`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Dash Core build details"
- n: "→<br>`lastblockheight`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Height of the most recent block received"
- n: "→<br>`lastblockhash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "Hash of the most recent block received"
- n: "→<br>`lastblocktime`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Timestamp of the most recent block received"
- n: "→<br>`keys`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Number of keys dumped"
- n: "→<br>`file`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Name of the file the wallet was dumped to"
- n: "→<br>`warning`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Warning to not share the file due to it containing the private keys"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
Create a wallet dump and then print its first 10 lines. Create a wallet dump and then print its first 10 lines.
@ -47,13 +81,27 @@ dash-cli -testnet dumpwallet /tmp/dump.txt
head /tmp/dump.txt head /tmp/dump.txt
{% endhighlight %} {% endhighlight %}
Results (only showing the first 10 lines): Results:
{% highlight json %}
{
"dashcoreversion": "v0.13.0.0",
"lastblockheight": 250186,
"lastblockhash": "0000000000a82fb1890de5da4740d0671910a436fe6fc4503a3e553adef073b4",
"lastblocktime": "2018-10-23T12:50:44Z",
"keys": 8135,
"file": "/tmp/dump.txt",
"warning": "/tmp/dump.txt file contains all private keys from this wallet. Do not share it with anyone!"
}
{% endhighlight %}
Results (the first 10 lines of the file):
{% highlight bash %} {% highlight bash %}
# Wallet dump created by Dash Core v0.12.2.1 (2017-11-11 10:02:45 +0300) # Wallet dump created by Dash Core v0.13.0.0
# * Created on 2017-11-28T19:52:46Z # * Created on 2018-10-23T12:55:38Z
# * Best block at time of backup was 33750 (0000000005d5d1651f3b52d7a7158e350261519c52a28527c6053a8f5989a5a4), # * Best block at time of backup was 250186 (0000000000a82fb1890de5da4740d0671910a436fe6fc4503a3e553adef073b4),
# mined on 2017-11-28T19:48:05Z # mined on 2018-10-23T12:50:44Z
cQZZ4awQvcXXyES3CmUJqSgeTobQm9t9nyUr337kvUtsWsnvvMyw 2017-11-28T18:21:36Z label=test%20label # addr=ycBuREgSskHHkWLxDa9A5WppCki6PfFycL cQZZ4awQvcXXyES3CmUJqSgeTobQm9t9nyUr337kvUtsWsnvvMyw 2017-11-28T18:21:36Z label=test%20label # addr=ycBuREgSskHHkWLxDa9A5WppCki6PfFycL
cTBRPnJoPjEMh67v1zes437v8Po5bFLDWKgEudTJMhVaLs1ZVGJe 2017-11-28T18:21:37Z reserve=1 # addr=yNsWkgPLN1u7p5dfWYnasYdgirU2J3tjUj cTBRPnJoPjEMh67v1zes437v8Po5bFLDWKgEudTJMhVaLs1ZVGJe 2017-11-28T18:21:37Z reserve=1 # addr=yNsWkgPLN1u7p5dfWYnasYdgirU2J3tjUj

View file

@ -11,16 +11,12 @@ http://opensource.org/licenses/MIT.
{% autocrossref %} {% autocrossref %}
{% 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_estimatePriority="was removed in Dash Core 0.14.0." %}
*Added in Bitcoin Core 0.10.0.* {{WARNING}} **_Removed in Dash Core 0.14.0._**
The `estimatepriority` RPC {{summary_estimatePriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions. The `estimatepriority` RPC {{summary_estimatePriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions.
{{WARNING}} `estimatepriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b). While still present in Dash Core, it is deprecated as of 0.12.3 (should be considered unstable and will disappear in the future). Use the RPC 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* *Parameter #1---how many blocks the transaction may wait before being included as a free high-priority transaction*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}

View file

@ -4,6 +4,8 @@ http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartfee.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartfee.md" %}
<!--__-->
##### EstimateSmartFee ##### EstimateSmartFee
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -13,13 +15,23 @@ http://opensource.org/licenses/MIT.
The `estimatesmartfee` RPC {{summary_estimateSmartFee}} The `estimatesmartfee` RPC {{summary_estimateSmartFee}}
*Parameter #1---how many blocks the transaction may wait before being included* *Parameter #1---how many confirmations the transaction may wait before being included*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Blocks" - n: "conf_target"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The maximum number of blocks a transaction should have to wait before it is predicted to be included in a block. Has to be between 1 and 25 blocks" d: "Confirmation target in blocks (1 - 1008)"
{% enditemplate %}
*Parameter #2---estimate mode*
{% itemplate ntpd1 %}
- n: "estimate_mode"
t: "string"
p: "Optional<br>Default=<br>`CONSERVATIVE`"
d: "The fee estimate mode. Whether to return a more conservative estimate which also satisfies a longer history. A conservative estimate potentially returns a higher feerate and is more likely to be sufficient for the desired target, but is not as responsive to short term drops in the prevailing fee market. Must be one of:<br>`UNSET` (defaults to `CONSERVATIVE`)<br>`ECONOMICAL`<br>`CONSERVATIVE`"
{% enditemplate %} {% enditemplate %}
@ -33,8 +45,13 @@ The `estimatesmartfee` RPC {{summary_estimateSmartFee}}
- n: "→<br>`feerate`" - n: "→<br>`feerate`"
t: "number (Dash)" t: "number (Dash)"
p: "Required<br>(exactly 1)" p: "Optional<br>(0 or 1)"
d: "The estimated fee the transaction should pay in order to be included within the specified number of blocks. If the node doesn't have enough information to make an estimate, the value `-1` will be returned" d: "The estimated fee the transaction should pay in order to be included within the specified number of blocks. If the node doesn't have enough information to make an estimate, this field will not be returned"
- n: "→<br>`error`"
t: "JSON array (strings)"
p: "Optional<br>(0 or 1)"
d: "Errors encountered during processing"
- n: "→<br>`blocks`" - n: "→<br>`blocks`"
t: "number" t: "number"
@ -42,7 +59,7 @@ The `estimatesmartfee` RPC {{summary_estimateSmartFee}}
d: "Block number where the estimate was found" d: "Block number where the estimate was found"
{% enditemplate %} {% enditemplate %}
*Examples from Dash Core 0.12.2* *Examples from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli estimatesmartfee 6 dash-cli estimatesmartfee 6
@ -60,15 +77,17 @@ Result:
Requesting data the node can't calculate (out of range): Requesting data the node can't calculate (out of range):
{% highlight bash %} {% highlight bash %}
dash-cli estimatesmartfee 100 dash-cli estimatesmartfee 2
{% endhighlight %} {% endhighlight %}
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"feerate": -1, "errors": [
"blocks": 100 "Insufficient data or no feerate found"
],
"blocks": 2
} }
{% endhighlight %} {% endhighlight %}

View file

@ -11,14 +11,12 @@ http://opensource.org/licenses/MIT.
{% autocrossref %} {% autocrossref %}
{% assign summary_estimateSmartPriority="estimates the priority that a transaction needs in order to be included within a certain number of blocks as a free high-priority transaction and returns the number of blocks for which the estimate is valid." %} {% assign summary_estimateSmartPriority="was removed in Dash Core 0.14.0." %}
{{WARNING}} **_Removed in Dash Core 0.14.0._**
The `estimatesmartpriority` RPC {{summary_estimateSmartPriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions. The `estimatesmartpriority` RPC {{summary_estimateSmartPriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions.
{{WARNING}} `estimatesmartpriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b). While still present in Dash Core, it is deprecated as of 0.12.3 (should be considered unstable and will disappear in the future). Use the RPC 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* *Parameter #1---how many blocks the transaction may wait before being included as a free high-priority transaction*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}

View file

@ -62,7 +62,7 @@ Note: For backwards compatibility, passing in a `true` instead of an object will
- n: "→ <br>`reserveChangeKey`" - n: "→ <br>`reserveChangeKey`"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "*Added in Bitcoin Core 0.14.0*<br><br>Reserves the change output key from the keypool. The default is `true`. Before 0.14.0, the used keypool key was never marked as change-address key and directly returned to the keypool (leading to address reuse)." d: "*Deprecated and ignored in Dash Core 0.14.1*<br><br>Reserves the change output key from the keypool. The default is `true`. Before Bitcoin Core 0.14.0, the used keypool key was never marked as change-address key and directly returned to the keypool (leading to address reuse)."
- n: "→ <br>`feeRate`" - n: "→ <br>`feeRate`"
t: "numeric (bitcoins)" t: "numeric (bitcoins)"

View file

@ -13,7 +13,7 @@ http://opensource.org/licenses/MIT.
{% autocrossref %} {% autocrossref %}
*Requires wallet support. Can only be used on the regtest network.* *Requires wallet support.*
The `generate` RPC {{summary_generate}} The `generate` RPC {{summary_generate}}
@ -30,7 +30,7 @@ The `generate` RPC {{summary_generate}}
*Parameter #2---the number of iterations* *Parameter #2---the number of iterations*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`numblocks`" - n: "`maxtries`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The number of iterations to try (default = 1000000)." d: "The number of iterations to try (default = 1000000)."

View file

@ -31,13 +31,13 @@ The `getbalance` RPC {{summary_getBalance}}
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #3---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #3---whether to add the balance from transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions" d: "Add the balance from InstantSend locked transactions"
{% enditemplate %} {% enditemplate %}
@ -55,11 +55,11 @@ The `getbalance` RPC {{summary_getBalance}}
{% enditemplate %} {% enditemplate %}
*Examples from Dash Core 0.12.2* *Examples from Dash Core 0.13.0*
Get the balance for the main ("") account, including transactions with Get the balance for the main ("") account, including transactions with
at least five confirmations and those spent to watch-only addresses in at least five confirmations and those spent to watch-only addresses in
that account. Do not add the InstantSend confirmations (5) for locked transactions. that account. Do not include InstantSend locked transactions.
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getbalance "" 3 false true dash-cli -testnet getbalance "" 3 false true
@ -73,7 +73,7 @@ Result:
Get the balance for the main ("") account, including transactions with Get the balance for the main ("") account, including transactions with
at least one confirmation and those spent to watch-only addresses in at least one confirmation and those spent to watch-only addresses in
that account. Add the InstantSend confirmations (5) for locked transactions. that account. Include the balance from InstantSend locked transactions.
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getbalance "" 3 true true dash-cli -testnet getbalance "" 3 true true

View file

@ -0,0 +1,64 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getbestchainlock.md" %}
<!--__-->
##### GetBestChainLock
{% include helpers/subhead-links.md %}
{% assign summary_getBestChainLock="returns the block hash of the best chainlock." %}
{% autocrossref %}
The `getbestchainlock` RPC {{summary_getBestChainLock}}
Throws an error if there is no known chainlock yet.
*Parameters: none*
*Result*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object/null"
p: "Required<br>(exactly 1)"
d: "An object containing the requested block, or JSON `null` if an error occurred"
- n: "→<br>`blockhash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The hash of the block encoded as hex in RPC byte order."
- n: "→<br>`height`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The height of this block on its block chain"
- n: "→<br>`known_block`"
t: "boolean"
p: "Required<br>(exactly 1)"
d: "True if the block is known by this node"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli -testnet getbestchainlock
{% endhighlight %}
Result:
{% highlight json %}
{
"blockhash": "000000000036ab34d3005941d4224fc5887526355c98b769e27e5ece05f48860",
"height": 182106,
"known_block": true
}
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getblock.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getblock.md" %}
<!--__-->
##### GetBlock ##### GetBlock
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -13,10 +14,10 @@ http://opensource.org/licenses/MIT.
The `getblock` RPC {{summary_getBlock}} The `getblock` RPC {{summary_getBlock}}
*Parameter #1---header hash* *Parameter #1---block hash*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Header Hash" - n: "Block Hash"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The hash of the header of the block to get, encoded as hex in RPC byte order" d: "The hash of the header of the block to get, encoded as hex in RPC byte order"
@ -26,14 +27,14 @@ The `getblock` RPC {{summary_getBlock}}
*Parameter #2---whether to get JSON or hex output* *Parameter #2---whether to get JSON or hex output*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Format" - n: "Verbosity"
t: "boolean" t: "number (int)"
p: "Optional<br>(true or false)" p: "Optional<br>(0 or 1)"
d: "Set to `false` to get the block in serialized block format; set to `true` (the default) to get the decoded block as a JSON object" d: "Set to one of the following verbosity levels:<br>`0` - Get the block in serialized block format;<br>`1` - Get the decoded block as a JSON object (default)<br>`2` - Get the decoded block as a JSON object with transaction details"
{% enditemplate %} {% enditemplate %}
*Result (if format was `false`)---a serialized block* *Result (if verbosity was `0`)---a serialized block*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`result`" - n: "`result`"
@ -43,7 +44,7 @@ The `getblock` RPC {{summary_getBlock}}
{% enditemplate %} {% enditemplate %}
*Result (if format was `true` or omitted)---a JSON block* *Result (if verbosity was `1` or omitted)---a JSON block with transaction hashes*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`result`" - n: "`result`"
@ -76,6 +77,11 @@ The `getblock` RPC {{summary_getBlock}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "This block's version number. See [block version numbers][section block versions]" d: "This block's version number. See [block version numbers][section block versions]"
- n: "→<br>`versionHex`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "_Added in Bitcoin Core 0.13.0_<br><br>The block version formatted in hexadecimal"
- n: "→<br>`merkleroot`" - n: "→<br>`merkleroot`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -91,6 +97,31 @@ The `getblock` RPC {{summary_getBlock}}
p: "Required<br>(1 or more)" p: "Required<br>(1 or more)"
d: "The TXID of a transaction in this block, encoded as hex in RPC byte order" d: "The TXID of a transaction in this block, encoded as hex in RPC byte order"
- n: "→<br>`cbTx`"
t: "object"
p: "Required<br>(exactly 1)"
d: "Coinbase special transaction details"
- n: "→ →<br>`version`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The version of the Coinbase special transaction (CbTx)"
- n: "→ →<br>`height`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The height of this block on its block chain"
- n: "→ →<br>`merkleRootMNList`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The merkle root for the masternode list"
- n: "→ →<br>`merkleRootQuorums`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The merkle root for the quorum list"
- n: "→<br>`time`" - n: "→<br>`time`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -133,63 +164,295 @@ The `getblock` RPC {{summary_getBlock}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Result (if verbosity was `2`---a JSON block with full transaction details*
{% assign DEPTH="→" %}
{% include helpers/vars.md %}
{% itemplate ntpd1 %}
- n: "`result`"
t: "object/null"
p: "Required<br>(exactly 1)"
d: "An object containing the requested block, or JSON `null` if an error occurred"
- n: "→<br>`hash`"
t: "string (hex)"
p: "Required<br>(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 #1"
- n: "→<br>`confirmations`"
t: "number (int)"
p: "Required<br>(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: "→<br>`size`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The size of this block in serialized block format, counted in bytes"
- n: "→<br>`height`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The height of this block on its block chain"
- n: "→<br>`version`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "This block's version number. See [block version numbers][section block versions]"
- n: "→<br>`versionHex`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "_Added in Bitcoin Core 0.13.0_<br><br>The block version formatted in hexadecimal"
- n: "→<br>`merkleroot`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The merkle root for this block, encoded as hex in RPC byte order"
- n: "→<br>`tx`"
t: "array"
p: "Required<br>(exactly 1)"
d: "An array containing the TXIDs of all transactions in this block. The transactions appear in the array in the same order they appear in the serialized block"
{{INCLUDE_DECODE_RAW_TRANSACTION}}
- n: "→ →<br>`instantlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "If set to `true`, this transaction is locked (by InstantSend or a ChainLock)"
- n: "→ →<br>`instantlock_internal`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "If set to `true`, this transaction has an InstantSend lock"
- n: "→<br>`cbTx`"
t: "object"
p: "Required<br>(exactly 1)"
d: "Coinbase special transaction details"
- n: "→ →<br>`version`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The version of the Coinbase special transaction (CbTx)"
- n: "→ →<br>`height`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The height of this block on its block chain"
- n: "→ →<br>`merkleRootMNList`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The merkle root for the masternode list"
- n: "→ →<br>`merkleRootQuorums`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The merkle root for the quorum list"
- n: "→<br>`time`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The value of the *time* field in the block header, indicating approximately when the block was created"
- n: "→<br>`mediantime`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.12.0*<br><br>The median block time in Unix epoch time"
- n: "→<br>`nonce`"
t: "number (int)"
p: "Required<br>(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: "→<br>`bits`"
t: "string (hex)"
p: "Required<br>(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: "→<br>`difficulty`"
t: "number (real)"
p: "Required<br>(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: "→<br>`chainwork`"
t: "string (hex)"
p: "Required<br>(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: "→<br>`previousblockhash`"
t: "string (hex)"
p: "Optional<br>(0 or 1)"
d: "The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block"
- n: "→<br>`nextblockhash`"
t: "string (hex)"
p: "Optional<br>(0 or 1)"
d: "The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order"
- n: "<br>`chainlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.14.0*<br><br>If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org)"
{% enditemplate %}
*Example from Dash Core 0.14.1*
Get a block in raw hex: Get a block in raw hex:
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getblock \ dash-cli -testnet getblock \
0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84 \ 00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
false 0
{% endhighlight %} {% endhighlight %}
Result (wrapped): Result (wrapped):
{% highlight text %} {% highlight text %}
0100002011f5719a0a0c4881ff98b4a68c1c828dc3b10f5b51033f5f93d48dbf\ 00000020272e374a06c87a0ce0e6ee1a0754c98b9ec2493e7c0ac7ba41a07300\
000000004b8e38f197d6ee878e160d2bae3ce05ab898a6252458ec67ce770140\ 00000000568b3c4156090db4d8db5447762e95dd1d4c921c96801a9086720ded\
260397c4dd2ed659a1dd001d00636b5601010000000100000000000000000000\ 85266325916cc05caa94001c5caf359501030005000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff4b02041204dd\ 00000000000000000000000000000000000000000000ffffffff2703ae50011a\
2ed65908fabe6d6d7445746d63506b62572d2d35584853467a765a6748696972\ 4d696e656420627920416e74506f6f6c2021000b01201da9196f000000000700\
30657a3a6f6d656e010000000000000017fffff9020000000d2f6e6f64655374\ 0000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698\
726174756d2f00000000058028bb13010000001976a914bad55652dffb1af943\ cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dc\
41015c94feea79793442fd88ac40e553b1020000001976a9142b7856de53d4c1\ b6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95\
823090c98f8ad79862842c09b588ac4094dd89000000001976a914c2c29ebc78\ 185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
7954ef99d01c5f79115abf7012fb8e88ac4094dd89000000001976a914d7b47d\ 45e20cfd5d830382ac634d434725ca6349ab5db920a3
4b40a23c389f5a17754d7f60f511c7d0ec88ac4094dd89000000001976a914dc\
3e0793134b081145ec0c67a9c72a7b297df27c88ac00000000
{% endhighlight %} {% endhighlight %}
Get the same block in JSON: Get the same block in JSON:
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getblock \ dash-cli -testnet getblock \
0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84 00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b
{% endhighlight %} {% endhighlight %}
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"hash": "0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84", "hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"confirmations": 3, "confirmations": 73083,
"size": 377, "size": 310,
"height": 4612, "height": 86190,
"version": 536870913, "version": 536870912,
"merkleroot": "c4970326400177ce67ec582425a698b85ae03cae2b0d168e87eed697f1388e4b", "versionHex": "20000000",
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"tx": [ "tx": [
"c4970326400177ce67ec582425a698b85ae03cae2b0d168e87eed697f1388e4b" "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56"
], ],
"time": 1507208925, "cbTx": {
"mediantime": 1507208645, "version": 2,
"nonce": 1449878272, "height": 86190,
"bits": "1d00dda1", "merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"difficulty": 1.155066358813473, "merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
"chainwork": "000000000000000000000000000000000000000000000000000001c3e86f0f04", },
"previousblockhash": "00000000bf8dd4935f3f03515b0fb1c38d821c8ca6b498ff81480c0a9a71f511", "time": 1556114577,
"nextblockhash": "0000000028817c7fce55d802f3647640600535a983d00e16076f284ec6cb001b" "mediantime": 1556113720,
"nonce": 2503323484,
"bits": "1c0094aa",
"difficulty": 440.8261075201009,
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
"nextblockhash": "00000000001c6c962639a1aad4cd069f315560a824d489418dc1f26b50a58aed",
"chainlock": true
} }
{% endhighlight %}
Get the same block in JSON with transaction details:
{% highlight bash %}
dash-cli -testnet getblock \
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 2
{% endhighlight %}
Result:
{% highlight json %}
{
"hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"confirmations": 73084,
"size": 310,
"height": 86190,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"tx": [
{
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"version": 3,
"type": 5,
"size": 229,
"locktime": 0,
"vin": [
{
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
]
}
}
],
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false,
"chainlock": false
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3"
}
],
"cbTx": {
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"time": 1556114577,
"mediantime": 1556113720,
"nonce": 2503323484,
"bits": "1c0094aa",
"difficulty": 440.8261075201009,
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
"nextblockhash": "00000000001c6c962639a1aad4cd069f315560a824d489418dc1f26b50a58aed",
"chainlock": true
}
{% endhighlight %} {% endhighlight %}
*See also* *See also*

View file

@ -82,7 +82,7 @@ The `getblockchaininfo` RPC {{summary_getBlockChainInfo}}
- n: "→ →<br>Softfork" - n: "→ →<br>Softfork"
t: "object" t: "object"
p: "Required<br>(3 or more)" p: "Required<br>(0 or more)"
d: "A specific softfork" d: "A specific softfork"
- n: "→ → →<br>`id`" - n: "→ → →<br>`id`"
@ -152,7 +152,7 @@ The `getblockchaininfo` RPC {{summary_getBlockChainInfo}}
- n: "→ →<br>Name" - n: "→ →<br>Name"
t: "string : object" t: "string : object"
p: "Required<br>(2 or more)" p: "Required<br>(0 or more)"
d: "A specific BIP9 softfork" d: "A specific BIP9 softfork"
- n: "→ → →<br>`status`" - n: "→ → →<br>`status`"
@ -179,9 +179,40 @@ The `getblockchaininfo` RPC {{summary_getBlockChainInfo}}
t: "numeric<br>(int)" t: "numeric<br>(int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.14.0*<br><br>The height of the first block to which the status applies" d: "*Added in Bitcoin Core 0.14.0*<br><br>The height of the first block to which the status applies"
- n: "→ → →<br>`statistics`"
t: "string : object"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.14.1*<br><br>Numeric statistics about BIP9 signaling for a softfork (only for \"started\" status)"
- n: "→ → → →<br>`period`"
t: "numeric<br>(int)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.14.1*<br><br>The length in blocks of the BIP9 signaling period. Field is only shown when status is `started`"
- n: "→ → → →<br>`threshold`"
t: "numeric<br>(int)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.14.1*<br><br>The number of blocks with the version bit set required to activate the feature. Field is only shown when status is `started`"
- n: "→ → → →<br>`elapsed`"
t: "numeric<br>(int)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.14.1*<br><br>The number of blocks elapsed since the beginning of the current period. Field is only shown when status is `started`"
- n: "→ → → →<br>`count`"
t: "numeric<br>(int)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.14.1*<br><br>The number of blocks with the version bit set in the current period. Field is only shown when status is `started`"
- n: "→<br>`possible`"
t: "bool"
p: "Optional<br>(0 or 1)"
d: "*Added in Bitcoin Core 0.11.0*<br><br>Returns false if there are not enough blocks left in this period to pass activation threshold. Field is only shown when status is `started`"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getblockchaininfo dash-cli -testnet getblockchaininfo
@ -192,13 +223,13 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"chain": "test", "chain": "test",
"blocks": 82244, "blocks": 160508,
"headers": 82244, "headers": 160508,
"bestblockhash": "0000000004efcadbdb9d8b524e5ab982af3db039fdb585c2f1c1df56d42d4492", "bestblockhash": "0000000008ae87c2999faa79c74727ab2a15783fcab515cc940a6c14dfa921a8",
"difficulty": 47.4955836390814, "difficulty": 24.71182965485547,
"mediantime": 1519662782, "mediantime": 1566479773,
"verificationprogress": 0.9999999483744162, "verificationprogress": 0.9999986039171913,
"chainwork": "0000000000000000000000000000000000000000000000000021adf3af961831", "chainwork": "0000000000000000000000000000000000000000000000000077db2024e1810b",
"pruned": false, "pruned": false,
"softforks": [ "softforks": [
{ {
@ -226,25 +257,36 @@ Result:
"bip9_softforks": { "bip9_softforks": {
"csv": { "csv": {
"status": "active", "status": "active",
"startTime": 1506556800, "startTime": 1544655600,
"timeout": 1538092800, "timeout": 1576191600,
"since": 8064 "since": 8064
}, },
"dip0001": { "dip0001": {
"status": "active", "status": "active",
"startTime": 1505692800, "startTime": 1544655600,
"timeout": 1537228800, "timeout": 1576191600,
"since": 5600 "since": 4400
},
"dip0003": {
"status": "active",
"startTime": 1544655600,
"timeout": 1576191600,
"since": 7000
},
"dip0008": {
"status": "active",
"startTime": 1553126400,
"timeout": 1584748800,
"since": 78800
}, },
"bip147": { "bip147": {
"status": "active", "status": "active",
"startTime": 1517792400, "startTime": 1544655600,
"timeout": 1549328400, "timeout": 1576191600,
"since": 78800 "since": 4300
} }
} }
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*

View file

@ -0,0 +1,192 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getblockstats.md" %}
<!--__-->
##### GetBlockStats
{% include helpers/subhead-links.md %}
{% assign summary_getBlockStats="computes per block statistics for a given window." %}
{% autocrossref %}
The `getblockstats` RPC {{summary_getBlockStats}}
All amounts are in duffs.
It won't work for some heights with pruning. It won't work without `-txindex` for
`utxo_size_inc`, `*fee` or `*feerate` stats.
*Parameter #1---hash_or_height*
{% itemplate ntpd1 %}
- n: "hash_or_height"
t: "string or numeric"
p: "Required<br>(exactly 1)"
d: "The block hash or height of the target block"
{% enditemplate %}
*Parameter #2---stats*
{% itemplate ntpd1 %}
- n: "stats"
t: "array"
p: "optional"
d: "Values to plot, by default all values (see result below)"
{% enditemplate %}
*Result---a JSON object containing the requested statistics*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object/null"
p: "Required<br>(exactly 1)"
d: "An object containing stats for the requested block, or JSON `null` if an error occurred"
- n: "→<br>`avgfee`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Average fee in the block"
- n: "→<br>`avgfeerate`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Average feerate (in duffs per byte)"
- n: "→<br>`avgtxsize`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Average transaction size"
- n: "→<br>`blockhash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The block hash (to check for potential reorgs)"
- n: "→<br>`height`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The height of the block"
- n: "→<br>`ins`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The number of inputs (excluding coinbase)"
- n: "→<br>`maxfee`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Maximum fee in the block"
- n: "→<br>`maxfeerate`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Maximum feerate (in duffs per byte)"
- n: "→<br>`maxtxsize`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Maximum transaction size"
- n: "→<br>`medianfee`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Truncated median fee in the block"
- n: "→<br>`medianfeerate`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Truncated median feerate (in duffs per byte)"
- n: "→<br>`mediantime`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The block median time past"
- n: "→<br>`mediantxsize`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Truncated median transaction size"
- n: "→<br>`minfee`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Minimum fee in the block"
- n: "→<br>`minfeerate`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Minimum feerate (in duffs per byte)"
- n: "→<br>`mintxsize`"
t: "numeric"
p: "Required<br>(exactly 1)"
- n: "→<br>`outs`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The number of outputs"
- n: "→<br>`subsidy`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The block subsidy"
- n: "→<br>`time`"
t: "number (real)"
p: "Required<br>(exactly 1)"
d: "The block time"
- n: "→<br>`total_out`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Total amount in all outputs (excluding coinbase and thus reward [i.e. subsidy + totalfee])"
- n: "→<br>`total_size`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "Total size of all non-coinbase transactions"
- n: "→<br>`totalfee`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The fee total"
- n: "→<br>`txs`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The number of transactions (excluding coinbase)"
- n: "→<br>`utxo_increase`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The increase/decrease in the number of unspent outputs"
- n: "→<br>`utxo_size_inc`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The increase/decrease in size for the utxo index (not discounting op_return and similar)"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli getblockstats 1000 '["blockhash","subsidy", "txs"]'
{% endhighlight %}
Result:
{% highlight json %}
{
"blockhash": "000004e906762c8c70583418d46915b4271fa83c29d5b88544d05e09e3f3621d",
"subsidy": 50000000000,
"txs": 1
}
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -115,17 +115,17 @@ information, please see the following resources:
- n: "→ →<br>Transaction" - n: "→ →<br>Transaction"
t: "object" t: "object"
p: "Optional (0 or more)" p: "Optional<br>(0 or more)"
d: "Non-coinbase transaction" d: "Non-coinbase transaction"
- n: "→ → →<br>`data`" - n: "→ → →<br>`data`"
t: "string (hex)" t: "string (hex)"
p: "Optional (0 or more)" p: "Optional<br>(0 or more)"
d: "Transaction data encoded in hex (byte-for-byte)" d: "Transaction data encoded in hex (byte-for-byte)"
- n: "→ → →<br>`hash`" - n: "→ → →<br>`hash`"
t: "string (hex)" t: "string (hex)"
p: "Optional (0 or more)" p: "Optional<br>(0 or more)"
d: "The hash/id encoded in little-endian hex" d: "The hash/id encoded in little-endian hex"
- n: "→ → →<br>`depends`" - n: "→ → →<br>`depends`"
@ -218,27 +218,37 @@ information, please see the following resources:
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The compressed target of next block" d: "The compressed target of next block"
- n: "→<br>`previousbits`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The compressed target of the current highest block"
- n: "→<br>`height`" - n: "→<br>`height`"
t: "number" t: "number"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The height of the next block" d: "The height of the next block"
- n: "→<br>`masternode`" - n: "→<br>`masternode`"
t: "object" t: "array (objects)"
p: "Required<br>(exactly 1)" p: "Required<br>(0 or more)"
d: "The masternode payee that must be included in the next block" d: "Required masternode payments that must be included in the next block"
- n: "→ →<br>`payee`" - n: "→ →<br>Masternode Payee"
t: "object"
p: "Optional<br>(0 or more)"
d: "Object containing a masternode payee's information"
- n: "→ → →<br>`payee`"
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Payee address" d: "Payee address"
- n: "→ →<br>`script`" - n: "→ →<br>`script`"
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Payee scriptPubKey" d: "Payee scriptPubKey"
- n: "→ →<br>`amount`" - n: "→ →<br>`amount`"
t: "number" t: "number"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Required amount to pay" d: "Required amount to pay"
@ -260,7 +270,7 @@ information, please see the following resources:
- n: "→ →<br>Superblock Payee" - n: "→ →<br>Superblock Payee"
t: "object" t: "object"
p: "Optional (0 or more)" p: "Optional<br>(0 or more)"
d: "Object containing a superblock payee's information" d: "Object containing a superblock payee's information"
- n: "→ → →<br>`payee`" - n: "→ → →<br>`payee`"
@ -288,9 +298,13 @@ information, please see the following resources:
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "True if superblock payments enabled" d: "True if superblock payments enabled"
- n: "→<br>`coinbase_payload`"
t: "string"
p: "Required<br>(exactly 1)"
d: "_Added in Dash Core 0.13.0_<br><br>Coinbase transaction payload data encoded in hexadecimal"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getblocktemplate dash-cli -testnet getblocktemplate
@ -303,41 +317,26 @@ Result:
"capabilities": [ "capabilities": [
"proposal" "proposal"
], ],
"version": 536870913, "version": 536870920,
"rules": [ "rules": [
"dip0001" "csv",
"dip0001",
"bip147"
], ],
"vbavailable": { "vbavailable": {
"csv": 0 "dip0003": 3
}, },
"vbrequired": 0, "vbrequired": 0,
"previousblockhash": "000000003d5c325259275fbf51a5dd623a13aade887cf83e5fdc3b\ "previousblockhash": "0000000004dd4bf3ed4f4bac4a8f8c781a73bff32886390ec15fa0c5686476ac",
11898a71ce",
"transactions": [ "transactions": [
{
"data": "01000000013e9e7e2116d8546a54d8531092d50e2da705a6f229f91a6d129f\
3f3e529d2bdb010000006a473044022044569ec727012e06bd4fa853fdcb2d\
c268f193ca00b68649f3dee0c0ca3207ff02206dc8656025c2f503e58779e6\
8a14ed18a7134f2c7d2c4235269bd70a3d6d5bd301210226d4ce54b37c1886\
92844201edbfb19e37cdbe7138a133b92b7d3d43ec157da6feffffff02a00b\
d100000000001976a914d7b47d4b40a23c389f5a17754d7f60f511c7d0ec88\
ac43321005140000001976a914616fdfd6eae0548f0b0f51bef165974abc10\
511688ac1e1f0000",
"hash": "9fd01aafcb4c59741ddfef41da2ec0eb3e1cc5b740150320b29534abdcd67e77",
"depends": [
],
"fee": 226,
"sigops": 2
}
], ],
"coinbaseaux": { "coinbaseaux": {
"flags": "" "flags": ""
}, },
"coinbasevalue": 13230000226, "coinbasevalue": 2089285715,
"longpollid": "000000003d5c325259275fbf51a5dd623a13aade887cf83e5fdc3b11898a\ "longpollid": "0000000004dd4bf3ed4f4bac4a8f8c781a73bff32886390ec15fa0c5686476ac4",
71ce316", "target": "000000000eeb4b00000000000000000000000000000000000000000000000000",
"target": "00000001231e0000000000000000000000000000000000000000000000000000", "mintime": 1542118149,
"mintime": 1507737402,
"mutable": [ "mutable": [
"time", "time",
"transactions", "transactions",
@ -346,20 +345,24 @@ Result:
"noncerange": "00000000ffffffff", "noncerange": "00000000ffffffff",
"sigoplimit": 40000, "sigoplimit": 40000,
"sizelimit": 2000000, "sizelimit": 2000000,
"curtime": 1507738818, "curtime": 1542119335,
"bits": "1d01231e", "bits": "1c0eeb4b",
"height": 7967, "previousbits": "1c0e639b",
"masternode": { "height": 263905,
"payee": "yaJc6tADbEjxQBAC69ugWNoTFpzxqkcgWd", "masternode": [
"script": "76a914996911b133d83de25d1f169c7046d74b728a757b88ac", {
"amount": 6615000108 "payee": "yedxgyCLu7BpxBbpeLUw4vAkxNrcEgHt57",
}, "script": "76a914c8f2a948efe84e9d9795aa473c5afb6023d6c07488ac",
"amount": 1044642850
}
],
"masternode_payments_started": true, "masternode_payments_started": true,
"masternode_payments_enforced": true, "masternode_payments_enforced": true,
"superblock": [ "superblock": [
], ],
"superblocks_started": true, "superblocks_started": true,
"superblocks_enabled": true "superblocks_enabled": true,
"coinbase_payload": ""
} }
{% endhighlight %} {% endhighlight %}

View file

@ -0,0 +1,79 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getchaintxstats.md" %}
<!--__-->
##### GetChainTxStats
{% include helpers/subhead-links.md %}
{% assign summary_getChainTxStats="compute statistics about the total number and rate of transactions in the chain." %}
{% autocrossref %}
The `getchaintxstats` RPC {{summary_getChainTxStats}}
*Parameter #1---nblocks*
{% itemplate ntpd1 %}
- n: "nblocks"
t: "number (int)"
p: "Optional"
d: "Size of the window in number of blocks (default: one month)."
{% enditemplate %}
*Parameter #2---blockhash*
{% itemplate ntpd1 %}
- n: "blockhash"
t: "string"
p: "Optional"
d: "The hash of the block that ends the window."
{% enditemplate %}
*Result--statistics about transactions*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object"
p: "Required<br>(exactly 1)"
d: "Object containing transaction statistics"
- n: "→<br>`time`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The timestamp for the statistics in UNIX format"
- n: "→<br>`txcount`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The total number of transactions in the chain up to that point"
- n: "→<br>`txrate`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The average rate of transactions per second in the window"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli -testnet getchaintxstats
{% endhighlight %}
Result:
{% highlight json %}
{
"time": 1566416832,
"txcount": 1353139,
"txrate": 0.04107376448354556
}
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -30,16 +30,6 @@ The `getgovernanceinfo` RPC {{summary_getGovernanceInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The absolute minimum number of votes needed to trigger a governance action" d: "The absolute minimum number of votes needed to trigger a governance action"
- n: "→<br>`masternodewatchdogmaxseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*DEPRECATED in Dash Core 0.12.3*<br><br>Sentinel watchdog expiration time in seconds"
- n: "→<br>`sentinelpingmaxseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3.0*<br><br>Sentinel ping expiration time in seconds"
- n: "→<br>`proposalfee`" - n: "→<br>`proposalfee`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -60,14 +50,9 @@ The `getgovernanceinfo` RPC {{summary_getGovernanceInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The block number of the next superblock" d: "The block number of the next superblock"
- n: "→<br>`maxgovobjdatasize`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.2.2*<br><br>The maximum governance object data size in bytes"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3.0* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getgovernanceinfo dash-cli -testnet getgovernanceinfo
@ -77,13 +62,10 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"governanceminquorum": 1, "governanceminquorum": 1,
"masternodewatchdogmaxseconds": 7200,
"sentinelpingmaxseconds": 7200,
"proposalfee": 5.00000000, "proposalfee": 5.00000000,
"superblockcycle": 24, "superblockcycle": 24,
"lastsuperblock": 82704, "lastsuperblock": 250824,
"nextsuperblock": 82728, "nextsuperblock": 250848
"maxgovobjdatasize": 16384
} }
{% endhighlight %} {% endhighlight %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getinfo.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getinfo.md" %}
<!--__ -->
##### GetInfo ##### GetInfo
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -26,6 +27,11 @@ Core. Use the RPCs listed in the See Also subsection below instead.
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Information about this node and the network" d: "Information about this node and the network"
- n: "→<br>`deprecation-warning`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Warning that the getinfo command is deprecated and will be removed in a future version"
- n: "→<br>`version`" - n: "→<br>`version`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -104,7 +110,7 @@ Core. Use the RPCs listed in the See Also subsection below instead.
- n: "→<br>`relayfee`" - n: "→<br>`relayfee`"
t: "number (duffs)" t: "number (duffs)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The minimum fee a low-priority transaction must pay in order for this node to accept it into its memory pool" d: "The minimum fee per kilobyte a transaction must pay in order for this node to accept it into its memory pool"
- n: "→<br>`errors`" - n: "→<br>`errors`"
t: "string" t: "string"
@ -113,7 +119,7 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2 with wallet support enabled* *Example from Dash Core 0.14.1 with wallet support enabled*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getinfo dash-cli -testnet getinfo
@ -123,8 +129,9 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"version": 120200, "deprecation-warning": "WARNING: getinfo is deprecated and will be fully removed in a future version. Projects should transition to using getblockchaininfo, getnetworkinfo, and getwalletinfo.",
"protocolversion": 70208, "version": 140100,
"protocolversion": 70215,
"walletversion": 61000, "walletversion": 61000,
"balance": 0.00000000, "balance": 0.00000000,
"privatesend_balance": 0.00000000, "privatesend_balance": 0.00000000,

View file

@ -17,7 +17,16 @@ http://opensource.org/licenses/MIT.
The `getmemoryinfo` RPC {{summary_getMemoryInfo}} The `getmemoryinfo` RPC {{summary_getMemoryInfo}}
*Parameters: none* *Parameter #1---mode*
{% itemplate ntpd1 %}
- n: "mode"
t: "string"
p: "Optional<br>Default: `stats`"
d: "*Added in Dash Core 0.14.1*<br><br>Determines what kind of information is returned.<br>
- `stats` returns general statistics about memory usage in the daemon.<br>
- `mallocinfo` returns an XML string describing low-level heap state (only available if compiled with glibc 2.10+)."
{% enditemplate %}
*Result---information about memory usage* *Result---information about memory usage*
@ -75,15 +84,14 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"locked": { "locked": {
"used": 32, "used": 1146240,
"free": 65504, "free": 426624,
"total": 65536, "total": 1572864,
"locked": 65536, "locked": 1572864,
"chunks_used": 1, "chunks_used": 16368,
"chunks_free": 1 "chunks_free": 7
} }
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*

View file

@ -90,16 +90,6 @@ The `getmempoolancestors` RPC {{summary_getMemPoolAncestors}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The block height when the transaction entered the memory pool" d: "The block height when the transaction entered the memory pool"
- n: "→ →<br>`startingpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The priority of the transaction when it first entered the memory pool"
- n: "→ →<br>`currentpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The current priority of the transaction"
- n: "→ →<br>`descendantcount`" - n: "→ →<br>`descendantcount`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -176,8 +166,6 @@ Result:
"modifiedfee": 0.00000966, "modifiedfee": 0.00000966,
"time": 1519160516, "time": 1519160516,
"height": 79045, "height": 79045,
"startingpriority": 4514051697.115385,
"currentpriority": 4520474899.74359,
"descendantcount": 2, "descendantcount": 2,
"descendantsize": 1189, "descendantsize": 1189,
"descendantfees": 1192, "descendantfees": 1192,

View file

@ -90,16 +90,6 @@ The `getmempooldescendants` RPC {{summary_getMemPoolDescendants}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The block height when the transaction entered the memory pool" d: "The block height when the transaction entered the memory pool"
- n: "→ →<br>`startingpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The priority of the transaction when it first entered the memory pool"
- n: "→ →<br>`currentpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The current priority of the transaction"
- n: "→ →<br>`descendantcount`" - n: "→ →<br>`descendantcount`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -142,7 +132,7 @@ The `getmempooldescendants` RPC {{summary_getMemPoolDescendants}}
{% enditemplate %} {% enditemplate %}
*Examples from Dash Core 0.12.3* *Examples from Dash Core 0.14.0*
The default (`false`): The default (`false`):
@ -176,8 +166,6 @@ Result:
"modifiedfee": 0.00000226, "modifiedfee": 0.00000226,
"time": 1519160551, "time": 1519160551,
"height": 79046, "height": 79046,
"startingpriority": 0,
"currentpriority": 0,
"descendantcount": 1, "descendantcount": 1,
"descendantsize": 226, "descendantsize": 226,
"descendantfees": 226, "descendantfees": 226,

View file

@ -13,7 +13,7 @@ http://opensource.org/licenses/MIT.
{% autocrossref %} {% autocrossref %}
*Added in Dash Core 0.12.3* *Added in Dash Core 0.14.0*
The `getmempoolentry` RPC {{summary_getMemPoolEntry}} The `getmempoolentry` RPC {{summary_getMemPoolEntry}}
@ -60,16 +60,6 @@ The `getmempoolentry` RPC {{summary_getMemPoolEntry}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The block height when the transaction entered the memory pool" d: "The block height when the transaction entered the memory pool"
- n: "→<br>`startingpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The priority of the transaction when it first entered the memory pool"
- n: "→<br>`currentpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The current priority of the transaction"
- n: "→<br>`descendantcount`" - n: "→<br>`descendantcount`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -110,11 +100,6 @@ The `getmempoolentry` RPC {{summary_getMemPoolEntry}}
p: "Optional (0 or more)" p: "Optional (0 or more)"
d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order"
- n: "→<br>`instantsend`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "True if this transaction was sent as an InstantSend one"
- n: "→<br>`instantlock`" - n: "→<br>`instantlock`"
t: "bool" t: "bool"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -133,23 +118,20 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"size": 226, "size": 372,
"fee": 0.00000226, "fee": 0.00000375,
"modifiedfee": 0.00000226, "modifiedfee": 0.00000375,
"time": 1519159538, "time": 1566315602,
"height": 79036, "height": 159320,
"startingpriority": 0, "descendantcount": 1,
"currentpriority": 0, "descendantsize": 372,
"descendantcount": 2, "descendantfees": 375,
"descendantsize": 452,
"descendantfees": 452,
"ancestorcount": 1, "ancestorcount": 1,
"ancestorsize": 226, "ancestorsize": 372,
"ancestorfees": 226, "ancestorfees": 375,
"depends": [ "depends": [
], ],
"instantsend": false, "instantlock": true
"instantlock": false
} }
{% endhighlight %} {% endhighlight %}

View file

@ -48,9 +48,14 @@ The `getmempoolinfo` RPC {{summary_getMemPoolInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.12.0*<br><br>The lowest fee per kilobyte paid by any transaction in the memory pool" d: "*Added in Bitcoin Core 0.12.0*<br><br>The lowest fee per kilobyte paid by any transaction in the memory pool"
- n: "→<br>`instantsendlocks`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.14.1*<br><br>Number of unconfirmed InstantSend locks"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getmempoolinfo dash-cli -testnet getmempoolinfo
@ -61,10 +66,11 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"size": 1, "size": 1,
"bytes": 3471, "bytes": 666,
"usage": 8544, "usage": 1936,
"maxmempool": 300000000, "maxmempool": 300000000,
"mempoolminfee": 0.00000000 "mempoolminfee": 0.00000000,
"instantsendlocks": 1
} }
{% endhighlight %} {% endhighlight %}

View file

@ -0,0 +1,82 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getmerkleblocks.md" %}
<!--__-->
##### GetMerkleBlocks
{% include helpers/subhead-links.md %}
{% assign summary_getMerkleBlocks="returns an array of hex-encoded merkleblocks for <count> blocks<!--noref--> starting from <hash> which match <filter>." %}
{% autocrossref %}
*Added in Dash Core 0.14.1*
The `getmerkleblocks` RPC {{summary_getMerkleBlocks}}
*Parameter #1---filter*
{% itemplate ntpd1 %}
- n: "filter"
t: "string"
p: "Required<br>(exactly 1)"
d: "The hex encoded bloom filter"
{% enditemplate %}
*Parameter #2---hash*
{% itemplate ntpd1 %}
- n: "hash"
t: "string"
p: "Required<br>(exactly 1)"
d: "The block hash"
{% enditemplate %}
*Parameter #3---count*
{% itemplate ntpd1 %}
- n: "count"
t: "number (int)"
p: "Optional<br>Default/max=2000"
d: ""
{% enditemplate %}
*Result---the list of merkleblocks*
{% itemplate ntpd1 %}
- n: "`result`"
t: "array"
p: "Required<br>(exactly 1)"
d: "An array of merkleblocks"
- n: "→<br>Merkle Block"
t: "string (hex)"
p: "Optional<br>(1 or more)"
d: "A serialized, hex-encoded merkleblock"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli getmerkleblocks \
"2303028005802040100040000008008400048141010000f8400420800080025004000004130000000000000001" \
"00000000007e1432d2af52e8463278bf556b55cf5049262f25634557e2e91202"
2000
{% endhighlight %}
Result (truncated):
{% highlight json %}
[
"000000202c...aefc440107",
"0000002058...9a17830103"
]
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -55,6 +55,11 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The offset of the node's clock from the computer's clock (both in UTC) in seconds. The offset may be up to 4200 seconds (70 minutes)" d: "The offset of the node's clock from the computer's clock (both in UTC) in seconds. The offset may be up to 4200 seconds (70 minutes)"
- n: "→<br>`networkactive`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "Set to `true` if P2P networking is enabled. Set to `false` if P2P networking is disabled. Enabling/disabling done via [SetNetworkActive][rpc setnetworkactive]"
- n: "→<br>`connections`" - n: "→<br>`connections`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -98,7 +103,7 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}}
- n: "→<br>`relayfee`" - n: "→<br>`relayfee`"
t: "number (DASH)" t: "number (DASH)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The minimum relay fee for non-free transactions in order for this node to accept it into its memory pool" d: "The minimum relay fee per kilobyte for transactions in order for this node to accept it into its memory pool"
- n: "→<br>`incrementalfee`" - n: "→<br>`incrementalfee`"
t: "number (DASH)" t: "number (DASH)"
@ -196,5 +201,6 @@ Result (actual addresses<!--noref--> have been replaced with [RFC5737][] reserve
* [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} * [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}}
* [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} * [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}}
* [SetNetworkActive][rpc setnetworkactive]: {{summary_setNetworkActive}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getpeerinfo.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getpeerinfo.md" %}
<!--__-->
##### GetPeerInfo ##### GetPeerInfo
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -43,6 +44,11 @@ The `getpeerinfo` RPC {{summary_getPeerInfo}}
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
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:9999`" 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:9999`"
- n: "→ →<br>`addrbind`"
t: "string"
p: "Optional<br>(0 or 1)"
d: "Bind address of the connection to the peer"
- n: "→ →<br>`services`" - n: "→ →<br>`services`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -108,6 +114,11 @@ The `getpeerinfo` RPC {{summary_getPeerInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Set to `true` if this node connected to us (inbound); set to `false` if we connected to this node (outbound)" d: "Set to `true` if this node connected to us (inbound); set to `false` if we connected to this node (outbound)"
- n: "→ →<br>`addnode`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "Set to `true` if this node was added via the `addnode` RPC."
- n: "→ →<br>`startingheight`" - n: "→ →<br>`startingheight`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -180,6 +191,7 @@ Result (edited to show only a single entry, with IP addresses changed to
"id": 3, "id": 3,
"addr": "192.0.2.113:19999", "addr": "192.0.2.113:19999",
"addrlocal": "127.0.0.1:56332", "addrlocal": "127.0.0.1:56332",
"addrbind": "192.168.10.111:56332",
"services": "0000000000000005", "services": "0000000000000005",
"relaytxes": true, "relaytxes": true,
"lastsend": 1507818327, "lastsend": 1507818327,
@ -188,62 +200,62 @@ Result (edited to show only a single entry, with IP addresses changed to
"bytesrecv": 887651, "bytesrecv": 887651,
"conntime": 1507808575, "conntime": 1507808575,
"timeoffset": 0, "timeoffset": 0,
"pingtime": 0.189852, "pingtime": 0.113646,
"minping": 0.187152, "minping": 0.106826,
"version": 70208, "version": 70215,
"subver": "/Dash Core:0.12.2/", "subver": "/Dash Core:0.14.0.3/",
"inbound": false, "inbound": false,
"startingheight": 8416, "addnode": false,
"startingheight": 159292,
"banscore": 0, "banscore": 0,
"synced_headers": 8474, "synced_headers": 159350,
"synced_blocks": 8474, "synced_blocks": 159350,
"inflight": [ "inflight": [
], ],
"whitelisted": false, "whitelisted": false,
"bytessent_per_msg": { "bytessent_per_msg": {
"addr": 165, "addr": 55,
"dseg": 65, "dsq": 69530,
"dsq": 33984,
"getaddr": 24, "getaddr": 24,
"getdata": 73261, "getdata": 9224,
"getheaders": 861, "getheaders": 989,
"getsporks": 48, "getsporks": 24,
"govobj": 20244, "govsync": 66,
"govobjvote": 22196, "headers": 6148,
"govsync": 545682, "inv": 837,
"headers": 106, "ping": 1856,
"inv": 139035, "pong": 1856,
"mnget": 28, "qsendrecsigs": 25,
"notfound": 1220, "sendcmpct": 33,
"ping": 2624, "senddsq": 25,
"pong": 2624,
"sendheaders": 24, "sendheaders": 24,
"ssc": 1792, "tx": 5808,
"verack": 24, "verack": 24,
"version": 128 "version": 160
}, },
"bytesrecv_per_msg": { "bytesrecv_per_msg": {
"addr": 4365, "*other*": 25,
"block": 22307, "addr": 17362,
"dsq": 33984, "clsig": 3276,
"getdata": 10417, "getdata": 122,
"getheaders": 861, "getheaders": 989,
"govobjvote": 179, "headers": 5300,
"govsync": 4620, "inv": 24611,
"headers": 6254, "islock": 3249,
"inv": 130964, "mnauth": 152,
"mnp": 352, "ping": 1856,
"mnw": 600208, "pong": 1856,
"notfound": 31192, "qsigrec": 16492,
"ping": 2624, "sendcmpct": 33,
"pong": 2624, "senddsq": 25,
"sendheaders": 24, "sendheaders": 24,
"spork": 2860, "spork": 2090,
"ssc": 33664, "ssc": 32,
"tx": 11523,
"verack": 24, "verack": 24,
"version": 128 "version": 162
}
} }
},
] ]
{% endhighlight %} {% endhighlight %}

View file

@ -78,16 +78,6 @@ The `getrawmempool` RPC {{summary_getRawMemPool}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The block height when the transaction entered the memory pool" d: "The block height when the transaction entered the memory pool"
- n: "→ →<br>`startingpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The priority of the transaction when it first entered the memory pool"
- n: "→ →<br>`currentpriority`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The current priority of the transaction"
- n: "→ →<br>`descendantcount`" - n: "→ →<br>`descendantcount`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -128,11 +118,6 @@ The `getrawmempool` RPC {{summary_getRawMemPool}}
p: "Optional (0 or more)" p: "Optional (0 or more)"
d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order"
- n: "→ →<br>`instantsend`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>Set to `true` for transactions broadcast via the `ix` message (InstantSend lock requested). Set to `false` for standard (non-InstantSend) transactions"
- n: "→ →<br>`instantlock`" - n: "→ →<br>`instantlock`"
t: "bool" t: "bool"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -166,44 +151,38 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"8fd1440ed74d3739aa4e1700e9b2fdb32bc5c138fe79dd319f965f67339eb1ce": { "3bf4985183ddebcb6b1d58fa04dae9728a8f2bf20be298d81e38a8bd2f50ea47": {
"size": 372, "size": 225,
"fee": 0.00020000,
"modifiedfee": 0.00020000,
"time": 1519928121,
"height": 83907,
"startingpriority": 2224190635.564103,
"currentpriority": 2224190635.564103,
"descendantcount": 2,
"descendantsize": 598,
"descendantfees": 20226,
"ancestorcount": 1,
"ancestorsize": 372,
"ancestorfees": 20000,
"depends": [
],
"instantsend": true,
"instantlock": true
},
"2d914d77305dd968bbd67aeb8604cf7e9d66a7df58bf5216724db69a54000f40": {
"size": 226,
"fee": 0.00000226, "fee": 0.00000226,
"modifiedfee": 0.00000226, "modifiedfee": 0.00000226,
"time": 1519928256, "time": 1566315512,
"height": 83907, "height": 159318,
"startingpriority": 0,
"currentpriority": 0,
"descendantcount": 1, "descendantcount": 1,
"descendantsize": 226, "descendantsize": 225,
"descendantfees": 226, "descendantfees": 226,
"ancestorcount": 2, "ancestorcount": 2,
"ancestorsize": 598, "ancestorsize": 5760,
"ancestorfees": 20226, "ancestorfees": 5780,
"depends": [ "depends": [
"8fd1440ed74d3739aa4e1700e9b2fdb32bc5c138fe79dd319f965f67339eb1ce" "1b8fdb3ce371c1274ee60df807d631320e7efaf30e7867584eb44b8ec4c19d12"
], ],
"instantsend": false, "instantlock": true
"instantlock": false },
"1b8fdb3ce371c1274ee60df807d631320e7efaf30e7867584eb44b8ec4c19d12": {
"size": 5535,
"fee": 0.00005554,
"modifiedfee": 0.00005554,
"time": 1566315441,
"height": 159318,
"descendantcount": 2,
"descendantsize": 5760,
"descendantfees": 5780,
"ancestorcount": 1,
"ancestorsize": 5535,
"ancestorfees": 5554,
"depends": [
],
"instantlock": true
} }
} }
{% endhighlight %} {% endhighlight %}

View file

@ -70,16 +70,22 @@ deprecated.
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "If the transaction was found, this will be an object describing it" d: "If the transaction was found, this will be an object describing it"
- n: "{{DEPTH}} →<br>`hex`" {{INCLUDE_DECODE_RAW_TRANSACTION}}
- n: "→<br>`hex`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The serialized, hex-encoded data for the provided `txid`" d: "The serialized, hex-encoded data for the provided `txid`"
{{INCLUDE_DECODE_RAW_TRANSACTION}}
- n: "→<br>`blockhash`" - n: "→<br>`blockhash`"
t: "string (hex)" t: "string (hex)"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "If the transaction has been included in a block on the local best block chain, this is the hash of that block encoded as hex in RPC byte order" d: "If the transaction has been included in a block on the local best block chain, this is the hash of that block encoded as hex in RPC byte order"
- n: "→<br>`height`"
t: "number (int)"
p: "Optional<br>(0 or 1)"
d: "The block height where the transaction was mined"
- n: "→<br>`confirmations`" - n: "→<br>`confirmations`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -95,34 +101,49 @@ deprecated.
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "This field is currently identical to the time field described above" d: "This field is currently identical to the time field described above"
- n: "→<br>`instantlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "If set to `true`, this transaction is locked (by InstantSend or a ChainLock)"
- n: "→<br>`instantlock_internal`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "If set to `true`, this transaction has an InstantSend lock"
- n: "→<br>`chainlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.14.0*<br><br>If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org)"
{% enditemplate %} {% enditemplate %}
*Examples from Dash Core 0.12.2* *Examples from Dash Core 0.14.0*
A transaction in serialized transaction format: A classical transaction in serialized transaction format:
{% highlight bash %} {% highlight bash %}
dash-cli getrawtransaction \ dash-cli getrawtransaction \
2f124cb550d9967b81914b544dea3783de23e85d67a9816f9bada665ecfe1cd5 f4de3be04efa18e203c9d0b7ad11bb2517f5889338918ed300a374f5bd736ed7
{% endhighlight %} {% endhighlight %}
Result (wrapped): Result (wrapped):
{% highlight text %} {% highlight text %}
01000000016b490886c0198b028c6c5cb145c4eb3b1055a224a7a105aadeff41\ 02000000015d0b26079696875e9fc3cb480420aae3c8b1da628fbb14cc718066\
b69ec91e060100000069463043022033a61c56fa0867ed67b76b023204a9dc0e\ df7fe7c5fd010000006a47304402202cfa683981898ad9adb8953423a38f7185\
e6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4\ ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee\
182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb3274\ 27f706baaed86dabb105979c3e6f6e1cb9012103d14eb001cf0908f3a2333d17\
9d79f53f6e8d7947ac40a71bd4b26c13b6ec29ffffffff0200205fa012000000\ 1f6236497a82318a6a6f649b4d7fd8e5c8922e08feffffff021e3f4b4c000000\
1976a914485485425fa99504ec1638ac4213f3cfc9f32ef388acc0a8f9be0100\ 001976a914b02ae52066542b4aec5cf45c7cae3183d7bd322788ac00f9029500\
00001976a914811eacc14db8ebb5b64486dc43400c0226b428a488ac00000000 0000001976a914252c9de3a0ebd5c95886187b24969d4ccdb5576e88ac943d0000
{% endhighlight %} {% endhighlight %}
Get the same transaction in JSON: Get the same transaction in JSON:
{% highlight bash %} {% highlight bash %}
dash-cli getrawtransaction \ dash-cli getrawtransaction \
2f124cb550d9967b81914b544dea3783de23e85d67a9816f9bada665ecfe1cd5 \ f4de3be04efa18e203c9d0b7ad11bb2517f5889338918ed300a374f5bd736ed7 \
1 1
{% endhighlight %} {% endhighlight %}
@ -130,65 +151,172 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"hex": "01000000016b490886c0198b028c6c5cb145c4eb3b1055a224a7a105aadeff41b69ec91e060100000069463043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29ffffffff0200205fa0120000001976a914485485425fa99504ec1638ac4213f3cfc9f32ef388acc0a8f9be010000001976a914811eacc14db8ebb5b64486dc43400c0226b428a488ac00000000", "txid": "f4de3be04efa18e203c9d0b7ad11bb2517f5889338918ed300a374f5bd736ed7",
"txid": "2f124cb550d9967b81914b544dea3783de23e85d67a9816f9bada665ecfe1cd5", "version": 2,
"size": 224, "type": 0,
"version": 1, "size": 225,
"locktime": 15764,
"vin": [
{
"txid": "fdc5e77fdf668071cc14bb8f62dab1c8e3aa200448cbc39f5e87969607260b5d",
"vout": 1,
"scriptSig": {
"asm": "304402202cfa683981898ad9adb8953423a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee27f706baaed86dabb105979c3e6f6e1cb9[ALL] 03d14eb001cf0908f3a2333d171f6236497a82318a6a6f649b4d7fd8e5c8922e08",
"hex": "47304402202cfa683981898ad9adb8953423a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee27f706baaed86dabb105979c3e6f6e1cb9012103d14eb001cf0908f3a2333d171f6236497a82318a6a6f649b4d7fd8e5c8922e08"
},
"value": 37.80000000,
"valueSat": 3780000000,
"address": "yTsGq4wV8WF5GKLaYV2C43zrkr2sfTtysT",
"sequence": 4294967294
}
],
"vout": [
{
"value": 12.79999774,
"valueSat": 1279999774,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 b02ae52066542b4aec5cf45c7cae3183d7bd3227 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914b02ae52066542b4aec5cf45c7cae3183d7bd322788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"ycNwAN4DQ7Xnw5XLKg84SR4U1GE22FfLNQ"
]
},
"spentTxId": "85b40136f077cded9587022645fde82389e2f01b0bec697d8cd22ccab930f3d3",
"spentIndex": 19,
"spentHeight": 20631
},
{
"value": 25.00000000,
"valueSat": 2500000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 252c9de3a0ebd5c95886187b24969d4ccdb5576e OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914252c9de3a0ebd5c95886187b24969d4ccdb5576e88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yPi1JKw5fn8bMFsCCtnkGagogW6GXwGktZ"
]
},
"spentTxId": "90aa8902dbab71c07a5ac06dfe45c5e5fa1f032788b5f916951d0969c9feef39",
"spentIndex": 1,
"spentHeight": 24630
}
],
"hex": "02000000015d0b26079696875e9fc3cb480420aae3c8b1da628fbb14cc718066df7fe7c5fd010000006a47304402202cfa683981898ad9adb8953423a38f7185ed41e163aa195d608fbe5bc3034910022034e2376aaed1c6576c0dad79d626ee27f706baaed86dabb105979c3e6f6e1cb9012103d14eb001cf0908f3a2333d171f6236497a82318a6a6f649b4d7fd8e5c8922e08feffffff021e3f4b4c000000001976a914b02ae52066542b4aec5cf45c7cae3183d7bd322788ac00f90295000000001976a914252c9de3a0ebd5c95886187b24969d4ccdb5576e88ac943d0000",
"blockhash": "0000000005f395d62a40ef9f2a13000bd4076e2131c8671db8333a5b31e4403f",
"height": 15765,
"confirmations": 153657,
"time": 1546278750,
"blocktime": 1546278750,
"instantlock": true,
"instantlock_internal": false,
"chainlock": true
}
{% endhighlight %}
A special transaction (CbTx) in serialized transaction format:
{% highlight bash %}
dash-cli getrawtransaction \
25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56
{% endhighlight %}
Result (wrapped):
{% highlight text %}
030005000100000000000000000000000000000000000000000000000000000000000\
00000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b0120\
1da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc503\
51180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe\
05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b3996088\
7bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
45e20cfd5d830382ac634d434725ca6349ab5db920a3
{% endhighlight %}
Get the same transaction in JSON:
{% highlight bash %}
dash-cli getrawtransaction \
25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56 \
1
{% endhighlight %}
Result:
{% highlight json %}
{
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"version": 3,
"type": 5,
"size": 229,
"locktime": 0, "locktime": 0,
"vin": [ "vin": [
{ {
"txid": "061ec99eb641ffdeaa05a1a724a255103bebc445b15c6c8c028b19c08608496b", "coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"vout": 1,
"scriptSig": {
"asm": "3043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e[ALL] 02eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29",
"hex": "463043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29"
},
"value": 874.99879200,
"valueSat": 87499879200,
"address": "yNpezfFDfoikDuT1f4iK75AiLp2YLPsGAb",
"sequence": 4294967295 "sequence": 4294967295
} }
], ],
"vout": [ "vout": [
{ {
"value": 800.00000000, "value": 8.10000000,
"valueSat": 80000000000, "valueSat": 810000000,
"n": 0, "n": 0,
"scriptPubKey": { "scriptPubKey": {
"asm": "OP_DUP OP_HASH160 485485425fa99504ec1638ac4213f3cfc9f32ef3 OP_EQUALVERIFY OP_CHECKSIG", "asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914485485425fa99504ec1638ac4213f3cfc9f32ef388ac", "hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1, "reqSigs": 1,
"type": "pubkeyhash", "type": "pubkeyhash",
"addresses": [ "addresses": [
"ySutkc49Khpz1HQN8AfWNitVBLwqtyaxvv" "yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
] ]
} },
"spentTxId": "1790b286922d1a439bdc056939bc902a222f9d66ee63d8427805617eedf835bd",
"spentIndex": 83,
"spentHeight": 94680
}, },
{ {
"value": 74.99000000, "value": 8.10000000,
"valueSat": 7499000000, "valueSat": 810000000,
"n": 1, "n": 1,
"scriptPubKey": { "scriptPubKey": {
"asm": "OP_DUP OP_HASH160 811eacc14db8ebb5b64486dc43400c0226b428a4 OP_EQUALVERIFY OP_CHECKSIG", "asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914811eacc14db8ebb5b64486dc43400c0226b428a488ac", "hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1, "reqSigs": 1,
"type": "pubkeyhash", "type": "pubkeyhash",
"addresses": [ "addresses": [
"yY6AmGopsZS31wy1JLHR9P6AC6owFaXwuh" "yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
] ]
} }
} }
], ],
"blockhash": "00000000e679e76eabc913b15c7f202e7ea831b8fb07beb28ca2a047b03ff3cc", "extraPayloadSize": 70,
"height": 19560, "extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"confirmations": 6, "cbTx": {
"time": 1509568811, "version": 2,
"blocktime": 1509568811 "height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"blockhash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"height": 86190,
"confirmations": 83233,
"time": 1556114577,
"blocktime": 1556114577,
"instantlock": true,
"instantlock_internal": false,
"chainlock": true
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*
* [GetSpecialTxes][rpc getspecialtxes]: {{summary_getSpecialTxes}}
* [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} * [GetTransaction][rpc gettransaction]: {{summary_getTransaction}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -34,13 +34,13 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #3---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #3---whether to include transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions (default=false)" d: "Add the balance from InstantSend locked transactions (default=false)"
{% enditemplate %} {% enditemplate %}

View file

@ -15,6 +15,8 @@ http://opensource.org/licenses/MIT.
*Requires wallet support.* *Requires wallet support.*
{{WARNING_ICON}} Note: This RPC only returns a balance for addresses contained in the local wallet.
The `getreceivedbyaddress` RPC {{summary_getReceivedByAddress}} The `getreceivedbyaddress` RPC {{summary_getReceivedByAddress}}
*Parameter #1---the address* *Parameter #1---the address*
@ -23,7 +25,7 @@ The `getreceivedbyaddress` RPC {{summary_getReceivedByAddress}}
- n: "Address" - n: "Address"
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The address whose transactions should be tallied" d: "__Only works for addresses contained in the local wallet__<br><br>The address whose transactions should be tallied"
{% enditemplate %} {% enditemplate %}
@ -31,13 +33,13 @@ The `getreceivedbyaddress` RPC {{summary_getReceivedByAddress}}
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #3---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #3---whether to include transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions" d: "Add the balance from InstantSend locked transactions"
{% enditemplate %} {% enditemplate %}
@ -51,11 +53,10 @@ The `getreceivedbyaddress` RPC {{summary_getReceivedByAddress}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
Get the dash received for a particular address, only counting Get the dash received for a particular address, only counting
transactions with six or more confirmations (ignore InstantSend confirmations for transactions with six or more confirmations (ignore InstantSend locked transactions):
locked InstantSend transactions):
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getreceivedbyaddress yYoCWcjbykWsQJ7MVJrTMeQd8TZe5N4Q7g 6 dash-cli -testnet getreceivedbyaddress yYoCWcjbykWsQJ7MVJrTMeQd8TZe5N4Q7g 6
@ -68,8 +69,7 @@ Result:
{% endhighlight %} {% endhighlight %}
Get the dash received for a particular address, only counting Get the dash received for a particular address, only counting
transactions with six or more confirmations (include InstantSend confirmations for transactions with six or more confirmations (include InstantSend locked transactions):
locked InstantSend transactions):
{% highlight bash %} {% highlight bash %}
dash-cli -testnet getreceivedbyaddress yYoCWcjbykWsQJ7MVJrTMeQd8TZe5N4Q7g 6 true dash-cli -testnet getreceivedbyaddress yYoCWcjbykWsQJ7MVJrTMeQd8TZe5N4Q7g 6 true

View file

@ -0,0 +1,200 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md" %}
<!--__-->
##### GetSpecialTxes
{% include helpers/subhead-links.md %}
{% assign summary_getSpecialTxes="returns an array of special transactions found in the specified block" %}
{% autocrossref %}
*Added in Dash Core 0.13.1*
The `getspecialtxes` RPC {{summary_getSpecialTxes}}
*Parameter #1---Block hash*
{% itemplate ntpd1 %}
- n: "`blockhash`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The block hash."
{% enditemplate %}
*Parameter #2---Special transaction type*
{% itemplate ntpd1 %}
- n: "type"
t: "int"
p: "Optional<br>(0 or 1)"
d: "Filter special txes by type, -1 means all types (default: -1)"
{% enditemplate %}
*Parameter #3---Result limit*
{% itemplate ntpd1 %}
- n: "count"
t: "int"
p: "Optional<br>(0 or 1)"
d: "The number of transactions to return (default: 10)"
{% enditemplate %}
*Parameter #4---Results to skip*
{% itemplate ntpd1 %}
- n: "skip"
t: "int"
p: "Optional<br>(0 or 1)"
d: "The number of transactions to skip (default: 0)"
{% enditemplate %}
*Parameter #5---Verbosity*
{% itemplate ntpd1 %}
- n: "verbosity"
t: "int"
p: "Optional<br>(0 or 1)"
d: "0 for hashes, 1 for hex-encoded data, and 2 for JSON object
(default: 0)"
{% enditemplate %}
*Result (if `verbosity` was `0`)---An array of transaction IDs*
{% itemplate ntpd1 %}
- n: "`result`"
t: "string (hex): array"
p: "Required<br>(exactly 1)"
d: "Array of special transaction hashes"
{% enditemplate %}
*Result (if `verbosity` was `1`)---An array of serialized transactions*
{% itemplate ntpd1 %}
- n: "`result`"
t: "string (hex): array"
p: "Required<br>(exactly 1)"
d: "Array of serialized, hex-encoded data for the special transaction(s)"
{% enditemplate %}
*Result (if `verbosity` was `2`)---An array of JSON objects*
{% itemplate ntpd1 %}
- n: "`result`"
t: "string (hex): array of ojbects"
p: "Required<br>(exactly 1)"
d: "Array of special transaction objects in the format of the `getrawtransaction` RPC"
{% enditemplate %}
*Example from Dash Core 0.13.1*
List of Special Transactions hashes.
{% highlight bash %}
dash-cli -testnet getspecialtxes \
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226
{% endhighlight %}
Result:
{% highlight json %}
[
"1572a15f56307e413afe3cb7ea0017a1a3fd6d89c6c5f258cc17b2888a8e7fff",
"89a6dc42063e4a792ec225db64dd9426742a5d1738e8821625d2ab920a6187b2",
"fa3b3b0d3522becb02ddd15dd075f3d6ecc6a5a50b43c6c9f6d4703a9a8509d5"
]
{% endhighlight %}
List of Provider Registration Special Transactions (type: 1) in serialized, hex-encoded format.
{% highlight bash %}
dash-cli -testnet getspecialtxes \
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226 1 10 0 1
{% endhighlight %}
Result:
{% highlight json %}
[
"0300010001ea721d7420a9b58025894d08f9fecc73b7b87ed09277fa99dad5aa028ea357e1000000006b48304502210093c409672eed335f80630d7108c108d0b85ebe4d8be0758f8a3745f617c4b57302203175063605552c89f6de7f3dadc1773d5ef773b7cc0ccf98e6c5555ea75ba307012102b21d19fec95d9863c5b12fafeb60530e1cfc51d83f49ea9bca7192abb8b83e46feffffff01c4bb609a010000001976a9142efe9f9d3b36b133364d3cccbd27db75a0fbdcb788ac00000000fd120101000000000031567fbaf591ae9d2d0e9050bebce6a311cfd900616f851a3a630aa65e53f6940000000000000000000000000000ffffad3d1ee74a43c1ad3af209f75deaeb9216fc8339fd48d376f9b007ffa44583c9908f4aaca8dd97990c56043e475723f90940ef5fd7d493152540f25f58fb8c965ee5e1be4f850a661476c1ad3af209f75deaeb9216fc8339fd48d376f9b0e8031976a91454bbd7bd7c21553612d60ab16579e51efbcb135288acc281e8bf5a0dd22dfc9f1edeef9ef248f965a79210d997da37fb3e1dec76d1a4412096809bc005c860a0215cb008e3044b972688443b0b7a31ac5a04b728e63b1b5c5489e33dd666435f93c646523ad8a1d935a58957026749cbd0a9bf7e09a77388",
"03000100012354b77c0f261f3d5b8424cbe67c2f27130f01c531732a08b8ae3f28aaa1b1fb000000006a473044022058323d3d9114492a7a7d350d5e3127d2dc550563968319987079c98f19ed519202204160cfe81adf1f41301136a3cbe03697baa1b14c3103b66bd839ace503dbf2630121026f83a8dad6b4695b136c399405b31d4031fd6631c469673d71eda479157ef9dcfeffffff0106b8609a010000001976a9142a855dc127bfdd5cc0ab73b71ff126e49aa409c488ac00000000fd1201010000000000b60dcb8bab5aba47435942c36ca4ee74ea5b662f4d7c7b528ce341915b2d5aec0100000000000000000000000000ffffad3d1ee74a428d3433cb6b9a1a29fdf07613172bbfdab744889689e308c9d2d8a3cb35f9d7bb7220b1eca82c952b82111119670dacae18a509628c775287e4e796128cd6379b80dffd7d8d3433cb6b9a1a29fdf07613172bbfdab744889610271976a91454bbd7bd7c21553612d60ab16579e51efbcb135288ac512010a2b992d7d5c1e1f999852855cc55162800025cfdf3b56c74e4734a2d97411f858532607cbd8848452dab1f216650def1d11a5abf3fa464c9ffcc7fec894a012a4b70ee5d3b983b5fe640f04a7f3e4fe67fbb5b7cccb71afa37888ad6cca48e"
]
{% endhighlight %}
List of Coinbase Special Transactions (type: 5) in JSON format.
{% highlight bash %}
dash-cli -testnet getspecialtxes \
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 5 10 0 2
{% endhighlight %}
Result:
{% highlight json %}
[
{
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0,
"vin": [
{
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
]
}
}
],
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false,
"chainlock": false
}
]
{% endhighlight %}
*See also:*
* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}}
{% endautocrossref %}

View file

@ -52,11 +52,6 @@ The `gettransaction` RPC {{summary_getTransaction}}
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "If an outgoing transaction, this is the fee paid by the transaction reported as negative dash" d: "If an outgoing transaction, this is the fee paid by the transaction reported as negative dash"
- n: "→<br>`instantlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "Current transaction lock state"
{{INCLUDE_F_LIST_TRANSACTIONS_F_FULL}} {{INCLUDE_F_LIST_TRANSACTIONS_F_FULL}}
- n: "→<br>`DS`" - n: "→<br>`DS`"
@ -94,6 +89,11 @@ The `gettransaction` RPC {{summary_getTransaction}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "A negative dash amount if sending payment; a positive dash amount if receiving payment (including coinbases)" d: "A negative dash amount if sending payment; a positive dash amount if receiving payment (including coinbases)"
- n: "→ →<br>`label`"
t: "string"
p: "Optional<br>(0 or 1)"
d: "An optional comment for the address/transaction"
- n: "→ →<br>`vout`" - n: "→ →<br>`vout`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -116,52 +116,45 @@ The `gettransaction` RPC {{summary_getTransaction}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gettransaction \ dash-cli -testnet gettransaction \
345d5f708b047b145f6a40a4e1e36c76648611cd009bd073e607c8ddf47bb797 c099c882745ad150e9b2a55ef5818683c7ef597e1e5fc20856c67eabc3778ccc
{% endhighlight %} {% endhighlight %}
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"amount": 0.00000000, "amount": -50.00000000,
"fee": -0.00010000, "fee": -0.00030000,
"confirmations": 20, "confirmations": 3064,
"instantlock": false, "instantlock": false,
"instantlock_internal": false,
"chainlock": false,
"blockhash": "00000a01007be2912c3123085534b58d341cb5e5980b967e8dcc021089487a1e",
"blockindex": 1,
"blocktime": 1553290594,
"trusted": true, "trusted": true,
"txid": "345d5f708b047b145f6a40a4e1e36c76648611cd009bd073e607c8ddf47bb797", "txid": "c099c882745ad150e9b2a55ef5818683c7ef597e1e5fc20856c67eabc3778ccc",
"walletconflicts": [ "walletconflicts": [
], ],
"time": 1511967821, "time": 1553290584,
"timereceived": 1511967821, "timereceived": 1553290584,
"bip125-replaceable": "no",
"DS": "1",
"details": [ "details": [
{ {
"account": "", "account": "",
"address": "ybTSbNqB7nG4ZVbHyati6GbfFz5w7tDnHf", "address": "ycCsAUKsjdmoP4qAXiS1cjYA4ixM48zJWe",
"category": "privatesend", "category": "send",
"amount": -10.00000000, "amount": -50.00000000,
"label": "PS", "label": "Electrum",
"vout": 0, "vout": 1,
"fee": -0.00010000, "fee": -0.00030000,
"abandoned": false "abandoned": false
},
{
"account": "PS",
"address": "ybTSbNqB7nG4ZVbHyati6GbfFz5w7tDnHf",
"category": "receive",
"amount": 10.00000000,
"label": "PS",
"vout": 0
} }
], ],
"hex": "010000000156d338508686982770a101c9fd41ce8b2c6ff4eb17dac6b1e7a32dfc5d2ae6e9030000006b4830450221008e8bf68440818d2b2fe8bcc2447d3b455f4e27864dae3f2bc62d2c8d1fdadaad0220390a0810f7f75436a7ebb0bc5c5a5e377b2330e1395f42b5f96d249ac9705ffc012103f4398f7e93dcc64a24191dbae57ef1ccbfcbd867f39a714020e66cf5b10050c4feffffff0100ca9a3b000000001976a914a60d00463c9eed290555e8f719333fc6b21c636088ac89850000" "hex": "0200000003aac865dba0e98fe32533df6bc3eaac160d04bb02966584fb61fc8d7788e09537010000006a47304402202d537257f23ab42b3e14f2ab533f39bb4586aa1b29a1f833f718a59493c8a601022019c6c156c20e66ef256519592b3c977b64d417c94aea4dca20cf18522a138993012103c67d86944315838aea7ec80d390b5d09b91b62483370d4979da5ccf7a7df77a9feffffff47833a270d2e2bac47bc5dc0df576c3a68b01bedbc89692060ac4113a6f9cb67010000006a4730440220442c19a913b10edc533bf63310f5294d6d91eec0eb9c510a3c6b0f33333f27320220501d5093ecdf603b8af9734e21d5de4710c8500309bfa4acdda243a294442b2c012103c67d86944315838aea7ec80d390b5d09b91b62483370d4979da5ccf7a7df77a9feffffffdcfd2d0fb30d79ffeadab8832e65be2310b67043ff3d74deac9a9cb825acda67000000006b483045022100cae8c025d3bec82903f356a5ec38d78a141447b6562e3aceac901f5fcc6f8567022076407835937514d6690c81c0c3b97f92d2b0ae9749249affaf539ead825692f4012102d6be44ab930ff67f084fbaf47a38b539b8d5da65c010952a972c9e524b6009dffeffffff0204fe2b00000000001976a914e3b0093477c2f629430d0a7b5813fe8b0153b0fd88ac00f2052a010000001976a914ae4365dedb1836ba215b9149602e0787a23376d288ac42010100"
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*

View file

@ -102,11 +102,6 @@ The `gettxout` RPC {{summary_getTxOut}}
p: "Required<br>(1 or more)" p: "Required<br>(1 or more)"
d: "A P2PKH or P2SH address" d: "A P2PKH or P2SH address"
- n: "→<br>`version`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The transaction version number of the transaction containing the pubkey script"
- n: "→<br>`coinbase`" - n: "→<br>`coinbase`"
t: "bool" t: "bool"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -114,7 +109,7 @@ The `gettxout` RPC {{summary_getTxOut}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
Get the UTXO from the following transaction from the first output index ("0"), Get the UTXO from the following transaction from the first output index ("0"),
searching the memory pool if necessary. searching the memory pool if necessary.
@ -142,7 +137,6 @@ Result:
"ycwoiAibTjpwnoCZSX7S4kiB2H8wULw9qo" "ycwoiAibTjpwnoCZSX7S4kiB2H8wULw9qo"
] ]
}, },
"version": 1,
"coinbase": false "coinbase": false
} }
{% endhighlight %} {% endhighlight %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/gettxoutsetinfo.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/gettxoutsetinfo.md" %}
<!--__-->
##### GetTxOutSetInfo ##### GetTxOutSetInfo
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -43,16 +44,21 @@ The `gettxoutsetinfo` RPC {{summary_getTxOutSetInfo}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The number of unspent transaction outputs" d: "The number of unspent transaction outputs"
- n: "→<br>`bytes_serialized`" - n: "→<br>`bogosize`"
t: "number (int)" t: "number (int)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The size of the serialized UTXO set in bytes; not counting overhead, this is the size of the `chainstate` directory in the Bitcoin Core configuration directory" d: "A meaningless metric for UTXO set size"
- n: "→<br>`hash_serialized`" - n: "→<br>`hash_serialized_2`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "A SHA256(SHA256()) hash of the serialized UTXO set; useful for comparing two nodes to see if they have the same set (they should, if they always used the same serialization format and currently have the same best block). The hash is encoded as hex in RPC byte order" d: "A SHA256(SHA256()) hash of the serialized UTXO set; useful for comparing two nodes to see if they have the same set (they should, if they always used the same serialization format and currently have the same best block). The hash is encoded as hex in RPC byte order"
- n: "→<br>`disk_size`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The estimated size of the chainstate on disk"
- n: "→<br>`total_amount`" - n: "→<br>`total_amount`"
t: "number (Dash)" t: "number (Dash)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -60,7 +66,7 @@ The `gettxoutsetinfo` RPC {{summary_getTxOutSetInfo}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gettxoutsetinfo dash-cli -testnet gettxoutsetinfo
@ -70,13 +76,14 @@ Result:
{% highlight json %} {% highlight json %}
{ {
"height": 4755, "height": 159358,
"bestblock": "0000000025da0abc9e9937f1c65b3f544a57bb7e8817422f7ff2a89ff32696f4", "bestblock": "0000000000a705ef74a1fc134ea1eba49af8eead40b3df1fc4fb40f5940a0d60",
"transactions": 4748, "transactions": 187542,
"txouts": 10602, "txouts": 366996,
"bytes_serialized": 463925, "bogosize": 28344374,
"hash_serialized": "fce0776d7961b409c4d8a46363c8d049879321861f7f40db97b0432e59532320", "hash_serialized_2": "d7326bdc2d9cb7d91580bfd47d6c2972ab1776c2c33c787873a5fd01986c9377",
"total_amount": 2243585.70000000 "disk_size": 21513509,
"total_amount": 7517185.08574437
} }
{% endhighlight %} {% endhighlight %}

View file

@ -4,6 +4,8 @@ http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/gobject.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/gobject.md" %}
<!--__-->
##### GObject ##### GObject
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -47,17 +49,14 @@ The `gobject check` RPC validates governance object data (_proposals only_).
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject check 5b5b2270726f706f73616c222c7b22656e645f65706f\ dash-cli -testnet gobject check 7b22656e645f65706f6368223a3135363034353730\
6368223a2231353037343534383935222c226e616d65223a227465737470726f706f73616c5f\ 35352c226e616d65223a2274657374222c227061796d656e745f61646472657373223a22796\
2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839\ 4354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061\
31353037323635383233222c227061796d656e745f61646472657373223a2279664e68484c4c\ 796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a313536303435333\
695936577a5a646a51766137324a64395134313468516578514c68222c227061796d656e745f\ 439302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d
616d6f756e74223a2232222c2273746172745f65706f6368223a223135303732363538323322\
2c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472\
616c2e6f72672f702f746573745f70726f706f73616c5f31353037323635383233227d5d5d
{% endhighlight %} {% endhighlight %}
Result: Result:
@ -102,20 +101,51 @@ The `gobject prepare` RPC prepares a governance object by signing and creating a
- n: "`time`" - n: "`time`"
t: "int64_t" t: "int64_t"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Create time" d: "Create time (Unix epoch time)"
{% enditemplate %} {% enditemplate %}
*Parameter #4---data* *Parameter #4---data*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`data`" - n: "`data-hex`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Object data (JSON object with governance details)" d: "**Updated in Dash Core 0.14.0 to require all new proposals to use JSON serialization.**<br><br>Object data (JSON object with governance details). Additional details regarding this are provided in an example below."
{% enditemplate %} {% enditemplate %}
*Parameter #5---use-IS*
{% itemplate ntpd1 %}
- n: "`use-IS`"
t: "boolean"
p: "Optional<br>(0 or 1)"
d: "*Deprecated and ignored since Dash Core 0.14.1*"
{% enditemplate %}
*Parameter #6---outputHash*
{% itemplate ntpd1 %}
- n: "`outputHash`"
t: "string (hex)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.13.0*<br><br>The single output to submit the proposal fee from"
{% enditemplate %}
*Parameter #7---outputIndex*
{% itemplate ntpd1 %}
- n: "`outputIndex`"
t: "numeric"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.13.0*<br><br>The output index (required if the `outputHash` parameter is provided)"
{% enditemplate %}
*Result---collateral transaction ID* *Result---collateral transaction ID*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
@ -126,21 +156,55 @@ The `gobject prepare` RPC prepares a governance object by signing and creating a
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* **Details of the `data-hex` field:**
The `data-hex` field is comprised of a JSON object as described in [GObject
Deserialize](#gobject-deserialize) which is serialized to hex.
An example of a proposal JSON object is shown here:
{% highlight json %}
{
"end_epoch": 1560457055,
"name": "test",
"payment_address": "yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB",
"payment_amount": 5,
"start_epoch": 1560453490,
"type": 1,
"url": "http://test.com"
}
{% endhighlight %}
To serialize the object, first remove all spaces from the JSON object as shown below:
{% highlight json %}
{"end_epoch":1560457055,"name":"test","payment_address":"yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB","payment_amount":5,"start_epoch":1560453490,"type":1,"url":"http://test.com"}
{% endhighlight %}
Then convert the string to its hex equivalent as shown below. This is what will
be used for the `data-hex` field of the `gobject prepare` command:
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject prepare 0 1 1509548445 5b5b2270726f706f73616c222c7b22656e645f65706f6\ 7b22656e645f65706f6368223a313536303435373035352c226e616d65223a2274657374222c\
368223a313530393638303337392c226e616d65223a22746573742d70726f706f73616c2d646\ 227061796d656e745f61646472657373223a227964354b4d52457333474c4d65366d544a5972\
173682d646f6373222c227061796d656e745f61646472657373223a2279554b447a353950745\ 33597248316a75774e777246436642222c227061796d656e745f616d6f756e74223a352c2273\
0577348596b56346537424337416263454c72346a52787371222c227061796d656e745f616d6\ 746172745f65706f6368223a313536303435333439302c2274797065223a312c2275726c223a\
f756e74223a32302c2273746172745f65706f6368223a313530393637363831342c227479706\ 22687474703a2f2f746573742e636f6d227d
5223a312c2275726c223a2268747470733a2f2f646173682d646f63732e746573742f7465737\ {% endhighlight %}
4227d5d5d
*Example from Dash Core 0.14.0*
{% highlight bash %}
gobject prepare 0 1 1560449223 7b22656e645f65706f6368223a3135363034353730353\
52c226e616d65223a2274657374222c227061796d656e745f61646472657373223a227964354\
b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061796d6\
56e745f616d6f756e74223a352c2273746172745f65706f6368223a313536303435333439302\
c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d
{% endhighlight %} {% endhighlight %}
Result (Collateral Transaction ID): Result (Collateral Transaction ID):
{% highlight bash %} {% highlight bash %}
061ec99eb641ffdeaa05a1a724a255103bebc445b15c6c8c028b19c08608496b 3fd758e7a5761bb07b2850b8ba432ef42c1ea80f0921d2eab0682697dda78262
{% endhighlight %} {% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
@ -150,7 +214,11 @@ Result (Collateral Transaction ID):
{% autocrossref %} {% autocrossref %}
The `gobject submit` RPC submits a governance object to network (objects must first be prepared via `gobject prepare`). The `gobject submit` RPC submits a governance object to network (objects must
first be prepared via `gobject prepare`).
Note: Parameters 1-4 should be the same values as the ones used for `gobject
prepare`.
*Parameter #1---parent hash* *Parameter #1---parent hash*
@ -185,20 +253,20 @@ The `gobject submit` RPC submits a governance object to network (objects must fi
*Parameter #4---data* *Parameter #4---data*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`data`" - n: "`data-hex`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Object data (JSON object with governance details)" d: "**Updated in Dash Core 0.14.0 to require all new proposals to use JSON serialization.**<br><br>Object data (JSON object with governance details). See [GObject Prepare](#gobject-prepare) for additional details about this field."
{% enditemplate %} {% enditemplate %}
*Parameter #5---transaction ID* *Parameter #5---fee transaction ID*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`data`" - n: "`data`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Collateral transaction ID" d: "Fee transaction ID - required for all objects except triggers"
{% enditemplate %} {% enditemplate %}
@ -212,21 +280,21 @@ The `gobject submit` RPC submits a governance object to network (objects must fi
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject submit 0 1 1509548445 5b5b2270726f706f73616c222c7b22656e645f65706f6\ dash-cli -testnet gobject submit 0 1 1560449223 7b22656e645f65706f6368223a3\
368223a313530393638303337392c226e616d65223a22746573742d70726f706f73616c2d646\ 13536303435373035352c226e616d65223a2274657374222c227061796d656e745f61646472\
173682d646f6373222c227061796d656e745f61646472657373223a2279554b447a353950745\ 657373223a227964354b4d52457333474c4d65366d544a597233597248316a75774e7772464\
0577348596b56346537424337416263454c72346a52787371222c227061796d656e745f616d6\ 36642222c227061796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a\
f756e74223a32302c2273746172745f65706f6368223a313530393637363831342c227479706\ 313536303435333439302c2274797065223a312c2275726c223a22687474703a2f2f7465737\
5223a312c2275726c223a2268747470733a2f2f646173682d646f63732e746573742f7465737\ 42e636f6d227d \
4227d5d5d 061ec99eb641ffdeaa05a1a724a255103bebc445b15c6c8c028b19c08608496b 3fd758e7a5761bb07b2850b8ba432ef42c1ea80f0921d2eab0682697dda78262
{% endhighlight %} {% endhighlight %}
Result (Governance Object Hash): Result (Governance Object Hash):
{% highlight bash %} {% highlight bash %}
75e991c86ed5a50305e315e00c9a95fc74841bd97d58391071edc9ff206a0d3c e353b2ab5f7e7cb24b95e00e153ec2a6339249672f18b8e8e144aa711678710d
{% endhighlight %} {% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
@ -241,7 +309,7 @@ The `gobject deserialize` RPC deserializes a governance object from a hex string
*Parameter #1---object data (hex)* *Parameter #1---object data (hex)*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`data-hex`" - n: "`hex_data`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The data (hex) of a governance object" d: "The data (hex) of a governance object"
@ -263,11 +331,6 @@ deserialized. Examples are shown below for both proposal and trigger object type
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Array of governance objects" d: "Array of governance objects"
- n: "→<br>`proposal`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "Proposal object"
- n: "→ →<br>`end_epoch`" - n: "→ →<br>`end_epoch`"
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -305,35 +368,27 @@ deserialized. Examples are shown below for both proposal and trigger object type
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject deserialize 5b5b2270726f706f73616c222c7b22656e645f6\ dash-cli -testnet gobject deserialize 7b22656e645f65706f6368223a313536303435\
5706f6368223a2231353037343534383935222c226e616d65223a227465737470726f706f7361\ 373035352c226e616d65223a2274657374222c227061796d656e745f61646472657373223a22\
6c5f2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373\ 7964354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c2270\
83931353037323635383233222c227061796d656e745f61646472657373223a2279664e68484c\ 61796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a31353630343533\
4c695936577a5a646a51766137324a64395134313468516578514c68222c227061796d656e745\ 3439302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d
f616d6f756e74223a2232222c2273746172745f65706f6368223a223135303732363538323322\
2c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e74726\
16c2e6f72672f702f746573745f70726f706f73616c5f31353037323635383233227d5d5d
{% endhighlight %} {% endhighlight %}
Result: Result:
{% highlight json %} {% highlight json %}
[ {
[ "end_epoch": 1560457055,
"proposal", "name": "test",
{ "payment_address": "yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB",
"end_epoch":"1507454895", "payment_amount": 5,
"name":"testproposal_-_abcdefghijklmnopqrstuvwxyz01234567891507265823", "start_epoch": 1560453490,
"payment_address":"yfNhHLLiY6WzZdjQva72Jd9Q414hQexQLh", "type": 1,
"payment_amount":"2", "url": "http://test.com"
"start_epoch":"1507265823", }
"type":1,
"url":"https://www.dashcentral.org/p/test_proposal_1507265823"
}
]
]
{% endhighlight %} {% endhighlight %}
<!-- __ --> <!-- __ -->
@ -348,11 +403,6 @@ Result:
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Array of governance objects" d: "Array of governance objects"
- n: "→<br>`trigger`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "Trigger object"
- n: "→ →<br>`event_block_height`" - n: "→ →<br>`event_block_height`"
t: "int" t: "int"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -380,38 +430,27 @@ Result:
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject deserialize 5b5b2274726967676572222c207b226576656e7\ dash-cli -testnet gobject deserialize 7b226576656e745f626c6f636b5f68656967687\
45f626c6f636b5f686569676874223a2031383435362c20227061796d656e745f616464726573\ 4223a203131393539322c20227061796d656e745f616464726573736573223a20227954686d6e\
736573223a20227952465968665a4a4258567a3861696850365a7166714174374245316256644\ 75565a316765516e79776f456147627079333362695435473573587a62222c20227061796d656\
676567c79544c795070554668696768355270787a72695a6362474c5972527836687959455022\ e745f616d6f756e7473223a2022312e3335393631393331222c202270726f706f73616c5f6861\
2c20227061796d656e745f616d6f756e7473223a2022322e31323334353637387c322e3030303\ 73686573223a20223836333966636464653131626432373032373663396330333564366435346\
030303030222c202270726f706f73616c5f686173686573223a20223632623161336564633938\ 3653962393138323465366466373532636164376464646331616532663734386435222c202274\
37626432313134636439323263336339376166643039383339353534313862313730316330666\ 797065223a20327d
131353262616662386131313735667c3138376337353166653631336434386139623331316161\
34383833383635666166396234336333623931333433333438326636636632343763313835656\
13037222c202274797065223a20327d5d5d
{% endhighlight %} {% endhighlight %}
Result (wrapped): Result (wrapped):
{% highlight json %} {% highlight json %}
[ {
[ "event_block_height": 119592,
"trigger", "payment_addresses": "yThmnuVZ1geQnywoEaGbpy33biT5G5sXzb",
{ "payment_amounts": "1.35961931",
"event_block_height":18456, "proposal_hashes": "8639fcdde11bd270276c9c035d6d54ce9b91824e6df752cad7dddc1ae2f748d5",
"payment_addresses":"yRFYhfZJBXVz8aihP6ZqfqAt7BE1bVdFvV\ "type": 2
|yTLyPpUFhigh5RpxzriZcbGLYrRx6hyYEP", }
"payment_amounts":"2.12345678|2.00000000",
"proposal_hashes":"62b1a3edc987bd2114cd922c3c97afd0983955418b1701c0fa\
152bafb8a1175f|187c751fe613d48a9b311aa4883865faf9b43c3b913433482f6c\
f247c185ea07",
"type":2
}
]
]
{% endhighlight %} {% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
@ -476,7 +515,7 @@ The `gobject count` RPC returns the count of governance objects and votes.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3 (mode: `json`/default)* *Example from Dash Core 0.14.0 (mode: `json`/default)*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject count dash-cli -testnet gobject count
@ -485,12 +524,12 @@ dash-cli -testnet gobject count
Result (wrapped): Result (wrapped):
{% highlight json %} {% highlight json %}
{ {
"objects_total": 177, "objects_total": 3,
"proposals": 177, "proposals": 3,
"triggers": 0, "triggers": 0,
"other": 0, "other": 0,
"erased": 5, "erased": 4,
"votes": 9680 "votes": 18
} }
{% endhighlight %} {% endhighlight %}
@ -507,7 +546,7 @@ Result (wrapped):
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3 (mode: `all`)* *Example from Dash Core 0.14.0 (mode: `all`)*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet gobject count all dash-cli -testnet gobject count all
@ -515,8 +554,8 @@ dash-cli -testnet gobject count all
Result (wrapped): Result (wrapped):
{% highlight text %} {% highlight text %}
Governance Objects: 177 (Proposals: 177, Triggers: 0, Watchdogs: 0/0, \ Governance Objects: 177 (Proposals: 177, Triggers: 0, Other: 0; Erased: 5), \
Other: 0; Erased: 5), Votes: 9680 Votes: 9680
{% endhighlight %} {% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
@ -569,7 +608,7 @@ The `gobject get` RPC returns a governance object by hash.
- n: "→<br>`ObjectType`" - n: "→<br>`ObjectType`"
t: "number" t: "number"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Object types:<br>`1` - Unknown<br>`2` - Proposal<br>`3` - Trigger<br>`4` - Watchdog" d: "Object types:<br>`1` - Unknown<br>`2` - Proposal<br>`3` - Trigger"
- n: "→<br>`CreationTime`" - n: "→<br>`CreationTime`"
t: "number" t: "number"
@ -766,52 +805,7 @@ Result (wrapped):
<!-- __ --> <!-- __ -->
The `gobject getvotes` RPC gets all votes for a governance object hash (including old votes). {{WARNING}} **_Removed in Dash Core 0.14.0._**
*Parameter #1---object hash*
{% itemplate ntpd1 %}
- n: "`governance-hash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The hash of a governance object"
{% enditemplate %}
*Result---votes for specified governance*
{% itemplate ntpd1 %}
- n: "Result"
t: "object"
p: "Required<br>(exactly 1)"
d: "The governance object votes"
- n: "→<br>Vote Info"
t: "string"
p: "Required<br>(1 or more)"
d: "Key: vote-hash<br><br>Value: Masternode's unspent outpoint, time, outcome, and signal of the vote"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet gobject getvotes 78941af577f639ac94440e4855a1ed8f\
696f1506d1c0bed4f4b68f05be26d3ca
{% endhighlight %}
Result (truncated):
{% highlight json %}
{
"174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8-1:1509354047:YES:DELETE",
"216cbc42addec1a6b83e1f2b0b3779594bd879f5671dd76a9826cc690c68286d": "b0320c1eff10ccb5e26086017a09e77dacb30fdcafccb3d98db3e5b610b9f1bd-1:1509117256:YES:DELETE",
"aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1-1:1508866932:YES:FUNDING",
"73dd135ea7bece0f2047de75d8ca04f2985daebed9568d28ee58a60a12a2a082": "8e3fee7f668fed7019588be616225c6c4762ee632470878b2dc8eae3f0b3f67d-1:1508866932:YES:FUNDING",
"d13b9c5c28bbc8684a7291961a1023abbbe65b534804d0629fb44166cc1a6148": "08b2dbffd61d927bc12c20f6853513f41fbf7737446632b13c7ca0df8c6da282-1:1508866932:YES:FUNDING",
"8a4283d457d8635b43c6fa6cbf865813a80d965c777e8ba07364eb6468200ae1": "76c40abd280441b75577e99e9e4f253f9281a7deb4feebff83860f9cede7a09b-1:1508866932:YES:FUNDING",
"313e19607813cb0db3b3fb477982b4d3418f13f8511295419df8fe1f7ff6668f": "0fd502f28b9a9a256d9ba29a047c375fe2823b6e76e4853af16e079a709ab72a-1:1508866932:YES:FUNDING"
}
{% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
@ -890,7 +884,7 @@ The `gobject list` RPC Lists governance objects (can be filtered by signal and/o
- n: "`type`" - n: "`type`"
t: "string (hex)" t: "string (hex)"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Type of governance object signal: <br>`proposals`<br>`triggers`<br> `watchdogs`<br> `all` (_DEFAULT_)" d: "Type of governance object signal: <br>`proposals`<br>`triggers`<br>`all` (_DEFAULT_)"
{% enditemplate %} {% enditemplate %}
@ -973,7 +967,7 @@ The `gobject diff` RPC Lists governance objects differences since last diff.
- n: "`type`" - n: "`type`"
t: "string (hex)" t: "string (hex)"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Type of governance object signal: <br>`proposals`<br>`triggers`<br> `watchdogs`<br> `all` (_DEFAULT_)" d: "Type of governance object signal: <br>`proposals`<br>`triggers`<br>`all` (_DEFAULT_)"
{% enditemplate %} {% enditemplate %}

View file

@ -1,101 +0,0 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/instantsendtoaddress.md" %}
##### InstantSendToAddress
{% include helpers/subhead-links.md %}
{% assign summary_instantSendToAddress="InstantSend an amount to a given address." %}
<!-- __ -->
{% autocrossref %}
The `instantsendtoaddress` RPC {{summary_instantSendToAddress}}
*Parameter #1---to address*
{% itemplate ntpd1 %}
- n: "To Address"
t: "string"
p: "Required<br>(exactly 1)"
d: "A P2PKH or P2SH address to which the dash should be sent"
{% enditemplate %}
*Parameter #2---amount to spend*
{% itemplate ntpd1 %}
- n: "Amount"
t: "number (dash)"
p: "Required<br>(exactly 1)"
d: "The amount to spent in dash"
{% enditemplate %}
*Parameter #3---a comment*
{% itemplate ntpd1 %}
- n: "Comment"
t: "string"
p: "Optional<br>(0 or 1)"
d: "A locally-stored (not broadcast) comment assigned to this transaction. Default is no comment"
{% enditemplate %}
*Parameter #4---a comment about who the payment was sent to*
{% itemplate ntpd1 %}
- n: "Comment To"
t: "string"
p: "Optional<br>(0 or 1)"
d: "A locally-stored (not broadcast) comment assigned to this transaction. Meant to be used for describing who the payment was sent to. Default is no comment"
{% enditemplate %}
*Parameter #5---automatic fee subtraction*
{% itemplate ntpd1 %}
- n: "Subtract Fee From Amount"
t: "boolean"
p: "Optional<br>(0 or 1)"
d: "The fee will be deducted from the amount being sent. The recipient will receive less dash than you enter in the amount field. Default is `false`"
{% enditemplate %}
*Result---a TXID of the sent transaction*
{% itemplate ntpd1 %}
- n: "`result`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The TXID of the sent transaction, encoded as hex in RPC byte order"
{% enditemplate %}
*Example from Dash Core 0.12.2*
InstantSend 0.1 dash to the address below with the comment "instantsendtoaddress
example" and the comment-to "Nemo From Example.com":
{% highlight bash %}
dash-cli -testnet instantsendtoaddress ySutkc49Khpz1HQN8AfWNitVBLwqtyaxvv \
1.0 "instantsendtoaddress example" "Nemo From Example.com"
{% endhighlight %}
Result:
{% highlight text %}
70e2029d363f0110fe8a0aa2ba7bd771a579453135568b2aa559b2cb30f875aa
{% endhighlight %}
*See also:*
* [SendFrom][rpc sendfrom]: {{summary_sendFrom}}
* [SendMany][rpc sendmany]: {{summary_sendMany}}
* [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}}
* [Move][rpc move]: {{summary_move}}
{% endautocrossref %}

View file

@ -24,13 +24,13 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #2---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #2--- whether to include transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions" d: "Add the balance from InstantSend locked transactions"
{% enditemplate %} {% enditemplate %}
@ -53,10 +53,10 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
Display account balances with one confirmation and watch-only addresses Display account balances with one confirmation and watch-only addresses
included. Add the InstantSend confirmations (5) for locked transactions. included. Add the balance of InstantSend locked transactions also.
{% highlight bash %} {% highlight bash %}
dash-cli -testnet listaccounts 1 true true dash-cli -testnet listaccounts 1 true true

View file

@ -24,13 +24,13 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #2---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #2---whether to include transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions" d: "Add the balance from InstantSend locked transactions"
{% enditemplate %} {% enditemplate %}
@ -88,11 +88,10 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
Get the balances for all non-empty accounts, including only transactions Get the balances for all non-empty accounts, including transactions
which have been confirmed at least six times (include InstantSend confirmations which have been confirmed at least six times and InstantSend locked transactions:
for locked InstantSend transactions):
{% highlight bash %} {% highlight bash %}
dash-cli -testnet listreceivedbyaccount 6 true false true dash-cli -testnet listreceivedbyaccount 6 true false true

View file

@ -21,13 +21,13 @@ The `listreceivedbyaddress` RPC {{summary_listReceivedByAddress}}
{{INCLUDE_CONFIRMATIONS_PARAMETER}} {{INCLUDE_CONFIRMATIONS_PARAMETER}}
*Parameter #2---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #2---whether to include transactions locked via InstantSend*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "addlockconf" - n: "addlocked"
t: "bool" t: "bool"
p: "Optional<br>(exactly 1)" p: "Optional<br>(exactly 1)"
d: "Add the number of InstantSend confirmations to InstantSend locked transactions" d: "Add the balance from InstantSend locked transactions"
{% enditemplate %} {% enditemplate %}
@ -100,11 +100,10 @@ The `listreceivedbyaddress` RPC {{summary_listReceivedByAddress}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.0*
List addresses with balances confirmed by at least six blocks, including List addresses with balances confirmed by at least six blocks, including
watch-only addresses (include InstantSend confirmations for locked InstantSend watch-only addresses. Also include the balance from InstantSend locked transactions:
transactions):
{% highlight bash %} {% highlight bash %}
dash-cli -testnet listreceivedbyaddress 6 true false true dash-cli -testnet listreceivedbyaddress 6 true false true

View file

@ -41,6 +41,16 @@ The `listsinceblock` RPC {{summary_listSinceBlock}}
{{INCLUDE_INCLUDE_WATCH_ONLY_PARAMETER}} {{INCLUDE_INCLUDE_WATCH_ONLY_PARAMETER}}
*Parameter #4---include_removed*
{% itemplate ntpd1 %}
- n: "include_removed"
t: "bool"
p: "Optional<br>Default=`true`"
d: "Show transactions that were removed due to a reorg in the \"removed\" array (not guaranteed to work on pruned nodes)"
{% enditemplate %}
**Result** **Result**
{% assign DEPTH="→ → → " %} {% assign DEPTH="→ → → " %}
@ -64,6 +74,11 @@ The `listsinceblock` RPC {{summary_listSinceBlock}}
{{INCLUDE_F_LIST_TRANSACTIONS}} {{INCLUDE_F_LIST_TRANSACTIONS}}
{{INCLUDE_F_LIST_TRANSACTIONS_F_FULL}} {{INCLUDE_F_LIST_TRANSACTIONS_F_FULL}}
- n: "→<br>`removed`"
t: "array"
p: "Optional<br>(0 or 1)"
d: "Structure is the same as `transactions`. Only present if `include_removed` is `true`.<br>_Note_: transactions that were re-added in the active chain will appear as-is in this array, and may thus have a positive confirmation count."
- n: "→<br>`lastblock`" - n: "→<br>`lastblock`"
t: "string (hex)" t: "string (hex)"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -71,15 +86,15 @@ The `listsinceblock` RPC {{summary_listSinceBlock}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
Get all transactions since a particular block (including watch-only Get all transactions since a particular block (including watch-only
transactions) and the header hash of the sixth most recent block. transactions) and the header hash of the sixth most recent block.
{% highlight bash %} {% highlight bash %}
dash-cli -testnet listsinceblock \ dash-cli -testnet listsinceblock \
00000000688633a503f69818a70eac281302e9189b1bb57a76a05c329fcda718 \ 0000000001fc119ea77e0c67783227fb9d55386125179ea5597109d311af2337 \
6 true 6 true true
{% endhighlight %} {% endhighlight %}
Result (edited to show only two payments): Result (edited to show only two payments):
@ -89,48 +104,51 @@ Result (edited to show only two payments):
"transactions": [ "transactions": [
{ {
"account": "", "account": "",
"address": "yfCjqf9F7oNGD1sRqta2rNpCXSQ9dknDf5", "address": "yMaodAgCofB2gmHEtATAiV3w5NkzTpmkgS",
"category": "send", "category": "send",
"amount": -0.01000010, "amount": -2365.65209808,
"vout": 7, "label": "Mining Consolidation",
"fee": 0.05000050, "vout": 0,
"confirmations": 95, "fee": -0.00031420,
"instantlock": false, "confirmations": 5,
"blockhash": "0000000002aa705754c6ab4e15cf2183a1d174e61c080f64eb469c458669144b", "instantlock": true,
"instantlock_internal": false,
"chainlock": true,
"blockhash": "00000000001c4e142c6deaa273206706d37a7aa792887d9bd81ae787d4259137",
"blockindex": 1, "blockindex": 1,
"blocktime": 1511972930, "blocktime": 1566399553,
"txid": "52e34eec71a4cf95c043b76567f55cec1bc293c444810d454a2d05f2a819b5ed", "txid": "bb8a2789c3166181cc190e0fd7675770217b69c9aeafe0d8207baf1ebeb05845",
"walletconflicts": [ "walletconflicts": [
], ],
"time": 1511972930, "time": 1566399271,
"timereceived": 1511974218, "timereceived": 1566399271,
"bip125-replaceable": "no",
"abandoned": false "abandoned": false
}, },
{ {
"account": "", "account": "Mining Consolidation",
"address": "yi2U4Cx2QH33LdNwk2c2oLABWzEZWhYU9k", "address": "yMaodAgCofB2gmHEtATAiV3w5NkzTpmkgS",
"category": "send", "category": "receive",
"amount": -0.01000010, "amount": 2365.65209808,
"vout": 8, "label": "Mining Consolidation",
"fee": 0.05000050, "vout": 0,
"confirmations": 95, "confirmations": 5,
"instantlock": false, "instantlock": true,
"blockhash": "0000000002aa705754c6ab4e15cf2183a1d174e61c080f64eb469c458669144b", "instantlock_internal": false,
"chainlock": true,
"blockhash": "00000000001c4e142c6deaa273206706d37a7aa792887d9bd81ae787d4259137",
"blockindex": 1, "blockindex": 1,
"blocktime": 1511972930, "blocktime": 1566399553,
"txid": "52e34eec71a4cf95c043b76567f55cec1bc293c444810d454a2d05f2a819b5ed", "txid": "bb8a2789c3166181cc190e0fd7675770217b69c9aeafe0d8207baf1ebeb05845",
"walletconflicts": [ "walletconflicts": [
], ],
"time": 1511972930, "time": 1566399271,
"timereceived": 1511974218, "timereceived": 1566399271
"bip125-replaceable": "no",
"abandoned": false
} }
], ],
"lastblock": "000000000dba5583e3fc5c2df06b478e922702f53a1476aac8eb4322f648ccea" "removed": [
],
"lastblock": "000000000158ad1e4eab53044e18aaf76e605a27252862d4f1d78cfd373f1686"
} }
{% endhighlight %} {% endhighlight %}
*See also* *See also*

View file

@ -107,18 +107,28 @@ The `listtransactions` RPC {{summary_listTransactions}}
- n: "→<br>`instantlock`" - n: "→<br>`instantlock`"
t: "bool" t: "bool"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Current transaction lock state" d: "Current transaction lock state (InstantSend and/or ChainLock)"
- n: "→<br>`trusted`" - n: "→<br>`instantlock_internal`"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Required<br>(exactly 1)"
d: "Indicates whether we consider the outputs of this unconfirmed transaction safe to spend. Only returned for unconfirmed transactions" d: "Current InstantSend transaction lock state"
- n: "<br>`chainlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.14.0*<br><br>If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org)"
- n: "→ →<br>`generated`" - n: "→ →<br>`generated`"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "Set to `true` if the transaction is a coinbase. Not returned for regular transactions or *move* category payments" d: "Set to `true` if the transaction is a coinbase. Not returned for regular transactions or *move* category payments"
- n: "→ →<br>`trusted`"
t: "bool"
p: "Optional<br>(0 or 1)"
d: "Indicates whether we consider the outputs of this unconfirmed transaction safe to spend. Only returned for unconfirmed transactions"
- n: "→ →<br>`blockhash`" - n: "→ →<br>`blockhash`"
t: "string (hex)" t: "string (hex)"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
@ -174,11 +184,6 @@ The `listtransactions` RPC {{summary_listTransactions}}
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "This is the account the dash were moved from or moved to, as indicated by a negative or positive *amount* field in this payment. Only returned by *move* category payments" d: "This is the account the dash 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: "→ →<br>`bip125-replaceable`"
t: "string"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.12.0*<br><br>Indicates if a transaction is replaceable under BIP125:<br>`yes` replaceable<br>`no` not replaceable<br>`unknown` for unconfirmed transactions not in the mempool"
- n: "→ →<br>`abandoned`" - n: "→ →<br>`abandoned`"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
@ -186,7 +191,7 @@ The `listtransactions` RPC {{summary_listTransactions}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
List the most recent transaction from the main account including watch-only addresses. List the most recent transaction from the main account including watch-only addresses.
@ -199,24 +204,26 @@ Result:
{% highlight json %} {% highlight json %}
[ [
{ {
"account": "MN Setup", "account": "",
"address": "yY6AmGopsZS31wy1JLHR9P6AC6owFaXwuh", "address": "ySGKtDZ3qBHRqk7mHsdofShQkqMcAS7SYJ",
"category": "immature", "category": "send",
"amount": 11.25000000, "amount": -0.50000000,
"label": "MN Setup", "label": "",
"vout": 3, "vout": 1,
"confirmations": 20, "fee": -0.00040000,
"instantlock": false, "confirmations": 3,
"generated": true, "instantlock": true,
"blockhash": "000000000207e556193e19287d2e554a5f99e1ff7cb19367e8de8ad6bacc494e", "instantlock_internal": true,
"blockindex": 0, "chainlock": false,
"blocktime": 1511986957, "blockhash": "000000000327ff7785d799dde99949457ac231ef1d956a2287c2f7bb84d9738c",
"txid": "cd9d44cd87ffb784f9dac384bad7db55324d3f47724eb60e16b3de6a26175936", "blockindex": 2,
"blocktime": 1553798971,
"txid": "048aae3ad194f5398b67fc7029b26bf50d66ecc7d185fd6d26f8c6ec5a4ed1f9",
"walletconflicts": [ "walletconflicts": [
], ],
"time": 1511986957, "time": 1553798920,
"timereceived": 1511986982, "timereceived": 1553798920,
"bip125-replaceable": "no" "abandoned": false
} }
] ]
{% endhighlight %} {% endhighlight %}

View file

@ -60,10 +60,19 @@ the *spendable* field in the results described below.
- n: "Include Unsafe" - n: "Include Unsafe"
t: "bool" t: "bool"
p: "Optional<br>(false or true)" p: "Optional<br>(false or true)"
d: "Include outputs that are not safe to spend because they come from unconfirmed untrusted transactions or unconfirmed replacement transactions (cases where we are less sure that a conflicting transaction won't be mined). Default is `true`" d: "Include outputs that are not safe to spend . See description of `safe` attribute below. Default is `true`"
{% enditemplate %} {% enditemplate %}
*Parameter #5---query options*
{% itemplate ntpd1 %}
- n: "Query Options"
t: "json"
p: "Optional"
d: "JSON with query options. Available options:<br> - `minimumAmount`: Minimum value of each UTXO in DASH<br> - `maximumAmount`: Maximum value of each UTXO in DASH<br> - `maximumCount`: Maximum number of UTXOs<br> - `minimumSumAmount`: Minimum sum value of all UTXOs in DASH"
{% enditemplate %}
*Result---the list of unspent outputs* *Result---the list of unspent outputs*
@ -133,9 +142,14 @@ the *spendable* field in the results described below.
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The number of PrivateSend rounds" d: "The number of PrivateSend rounds"
- n: "→ →<br>`safe`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.15.0*<br><br>Whether this output is considered safe to spend. Unconfirmed transactions from outside keys are considered unsafe and are not eligible for spending by `fundrawtransaction` and `sendtoaddress`."
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.1*
Get all outputs confirmed at least 6 times for a particular Get all outputs confirmed at least 6 times for a particular
address: address:
@ -143,7 +157,7 @@ address:
{% highlight bash %} {% highlight bash %}
dash-cli -testnet listunspent 6 99999999 ''' dash-cli -testnet listunspent 6 99999999 '''
[ [
"yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8" "yLki4jbxX28JB3TThm1DTgRfbKVhhiMx3d"
] ]
''' '''
{% endhighlight %} {% endhighlight %}
@ -153,15 +167,52 @@ Result:
{% highlight json %} {% highlight json %}
[ [
{ {
"txid": "0e86f58c56648175362443c1ef28e473acb4c4adc1b3f7983deaddfa3a61a4d7", "txid": "534fe12e360773dddf8aa125a4027d2d8c0073e13ff2f04fd733202b85dbdcf1",
"vout": 4, "vout": 0,
"address": "yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8", "address": "yLki4jbxX28JB3TThm1DTgRfbKVhhiMx3d",
"scriptPubKey": "76a91478149277b5d820b04e60cbf96ff81fd1ccc6533388ac", "scriptPubKey": "76a91404c719ccf48d39d3e6253ac98edaf2b5d24f0c0588ac",
"amount": 0.01000010, "amount": 1.00001000,
"confirmations": 609, "confirmations": 85,
"spendable": true, "spendable": true,
"solvable": true, "solvable": true,
"ps_rounds": 5 "safe": true,
"ps_rounds": 13
}
]
{% endhighlight %}
Get all outputs for a particular address that have at least 1 confirmation and a maximum value of 10:
{% highlight bash %}
listunspent 1 9999999 "[\"yQqTPAw1Nk8iFDeDXqe5dQ7A9xD6LVUStD\"]" true "{\"maximumAmount\":\"10\"}"
dash-cli -testnet listunspent 1 9999999 '''
[
"yQqTPAw1Nk8iFDeDXqe5dQ7A9xD6LVUStD"
]
''' true '''
{
"maximumAmount": "10"
}
'''
{% endhighlight %}
Result:
{% highlight json %}
[
{
"txid": "42cd5150fd1179b5a194e034685d524e6d5d38703ac794d236495923a29addc5",
"vout": 1,
"address": "yQqTPAw1Nk8iFDeDXqe5dQ7A9xD6LVUStD",
"account": "",
"scriptPubKey": "76a914318d6d7e26e07a142a425a32ea917a30147d6c9788ac",
"amount": 5.00000000,
"confirmations": 100,
"spendable": true,
"solvable": true,
"safe": true,
"ps_rounds": -2
} }
] ]
{% endhighlight %} {% endhighlight %}

View file

@ -0,0 +1,51 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/listwallets.md" %}
<!--__-->
##### ListWallets
{% include helpers/subhead-links.md %}
{% assign summary_listWallets="returns a list of currently loaded wallets." %}
{% autocrossref %}
The `listwallets` RPC {{summary_listWallets}}
For full information on the wallet, use the `getwalletinfo` RPC.
*Parameters: none*
*Result*
{% itemplate ntpd1 %}
- n: "`result`"
t: "array"
p: "Required<br>(exactly 1)"
d: "An array of strings containing a list of currently loaded wallet files"
- n: "→<br>Wallet"
t: "string"
p: "Required<br>(0 or more)"
d: "The name of a wallet file"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli -testnet listwallets
{% endhighlight %}
Result:
{% highlight json %}
[
"wallet.dat"
]
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -0,0 +1,149 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/logging.md" %}
<!--__-->
##### Logging
{% include helpers/subhead-links.md %}
{% assign summary_logging="gets and sets the logging configuration" %}
{% autocrossref %}
The `logging` RPC {{summary_logging}}
*Parameter #1---include categories*
{% itemplate ntpd1 %}
- n: "`include`"
t: "array of strings"
p: "Optional<br>(0 or 1)"
d: "Enable debugging for these categories"
{% enditemplate %}
*Parameter #2---exclude categories*
{% itemplate ntpd1 %}
- n: "`exclude`"
t: "array of strings"
p: "Optional<br>(0 or 1)"
d: "Enable debugging for these categories"
{% enditemplate %}
The categories are:
| Type | Category |
| - | - |
| Special | • `0` - Disables all categories <br>`1` or `all` - Enables all categories <br>`dash` - Enables/disables all Dash categories |
| Standard | `addrman`, `bench` <br>`cmpctblock`, `coindb`, `db`, `estimatefee`, `http`, `leveldb`, `libevent`, `mempool`, `mempoolrej`, `net`, `proxy`, `prune`, `qt`, `rand`, `reindex`, `rpc`, `selectcoins`, `tor`, `zmq`|
| Dash | <br>`chainlocks`, `gobject`, `instantsend`, `keepass`, `llmq<!--noref-->`, `llmq<!--noref-->-dkg`, `llmq<!--noref-->-sigs`, `mnpayments`, `mnsync`, `privatesend`, `spork` |
*Result---a list of the logging categories that are active*
{% itemplate ntpd1 %}
- n: "`result`"
t: "object"
p: "Required<br>(exactly 1)"
d: "A JSON object show a list of the logging categories that are active"
{% enditemplate %}
*Example from Dash Core 0.14.1*
Include a category in logging
{% highlight bash %}
dash-cli -testnet logging '["llmq", "spork"]'
{% endhighlight %}
Result:
{% highlight json %}
{
"net": 0,
"tor": 0,
"mempool": 0,
"http": 0,
"bench": 0,
"zmq": 0,
"db": 0,
"rpc": 0,
"estimatefee": 0,
"addrman": 0,
"selectcoins": 0,
"reindex": 0,
"cmpctblock": 0,
"rand": 0,
"prune": 0,
"proxy": 0,
"mempoolrej": 0,
"libevent": 0,
"coindb": 0,
"qt": 0,
"leveldb": 0,
"chainlocks": 0,
"gobject": 0,
"instantsend": 0,
"keepass": 0,
"llmq": 1,
"llmq-dkg": 0,
"llmq-sigs": 0,
"mnpayments": 0,
"mnsync": 0,
"privatesend": 0,
"spork": 1
}
{% endhighlight %}
Excluding a previously included category (without including any new ones):
{% highlight bash %}
dash-cli -testnet logging '[]' '["spork"]'
{% endhighlight %}
Result:
{% highlight json %}
{
"net": 0,
"tor": 0,
"mempool": 0,
"http": 0,
"bench": 0,
"zmq": 0,
"db": 0,
"rpc": 0,
"estimatefee": 0,
"addrman": 0,
"selectcoins": 0,
"reindex": 0,
"cmpctblock": 0,
"rand": 0,
"prune": 0,
"proxy": 0,
"mempoolrej": 0,
"libevent": 0,
"coindb": 0,
"qt": 0,
"leveldb": 0,
"chainlocks": 0,
"gobject": 0,
"instantsend": 0,
"keepass": 0,
"llmq": 1,
"llmq-dkg": 0,
"llmq-sigs": 0,
"mnpayments": 0,
"mnsync": 0,
"privatesend": 0,
"spork": 0
}
{% endhighlight %}
*See also*
* [Debug][rpc debug]: {{summary_debug}}
{% endautocrossref %}

View file

@ -29,7 +29,7 @@ The `masternode<!--noref--> count` RPC prints the number of all known masternode
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Mode" - n: "Mode"
t: "string (hex)" t: "string (hex)"
p: "Optional<br>(exactly 1)" p: "Deprecated"
d: "Which masternodes to count:<br>`total` - Pre-0.12.3 default result,<br>`ps` - PrivateSend capable,<br>`enabled` - Enabled,<br>`all` - All,<br>`qualify` - Eligible for payment" d: "Which masternodes to count:<br>`total` - Pre-0.12.3 default result,<br>`ps` - PrivateSend capable,<br>`enabled` - Enabled,<br>`all` - All,<br>`qualify` - Eligible for payment"
{% enditemplate %} {% enditemplate %}
@ -47,24 +47,14 @@ The `masternode<!--noref--> count` RPC prints the number of all known masternode
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Count of all masternodes" d: "Count of all masternodes"
- n: "→<br>`ps_compatible`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Count of PrivateSend compatible masternodes"
- n: "→<br>`enabled`" - n: "→<br>`enabled`"
t: "int" t: "int"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Count of enabled masternodes" d: "Count of enabled masternodes"
- n: "→<br>`qualify`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Count of masternodes qualified to receive payment"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet masternode count dash-cli -testnet masternode count
@ -73,10 +63,8 @@ dash-cli -testnet masternode count
Result: Result:
{% highlight bash %} {% highlight bash %}
{ {
"total": 142, "total": 185,
"ps_compatible": 13, "enabled": 130
"enabled": 13,
"qualify": 6
} }
{% endhighlight %} {% endhighlight %}
@ -93,7 +81,7 @@ Result:
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet masternode count all dash-cli -testnet masternode count all
@ -101,7 +89,7 @@ dash-cli -testnet masternode count all
Result: Result:
{% highlight bash %} {% highlight bash %}
Total: 129 (PS Compatible: 97 / Enabled: 97 / Qualify: 90) Total: 185 (Enabled: 130)
{% endhighlight %} {% endhighlight %}
**Get total count of all masternodes (default output of `masternode<!--noref--> count` pre-0.12.3)** **Get total count of all masternodes (default output of `masternode<!--noref--> count` pre-0.12.3)**
@ -156,14 +144,14 @@ The `masternode<!--noref--> current` RPC prints info on current masternode winne
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The IP address/port of the masternode" d: "The IP address/port of the masternode"
- n: "→<br>`protocol`" - n: "→<br>`proTxHash`"
t: "number (int)" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The protocol version number used by this node. See the [protocol versions section][section protocol versions] for more information" d: "The masternode's Provider Registration transaction hash"
- n: "→<br>`outpoint`" - n: "→<br>`outpoint`"
t: "string" t: "string"
p: "Required<br>(1 or more)" p: "Required<br>(exactly 1)"
d: "The masternode's outpoint" d: "The masternode's outpoint"
- n: "→<br>`payee`" - n: "→<br>`payee`"
@ -171,19 +159,9 @@ The `masternode<!--noref--> current` RPC prints info on current masternode winne
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Payee address" d: "Payee address"
- n: "→<br>`lastseen`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The Unix epoch time when the masternode was last seen"
- n: "→<br>`activeseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The number of seconds the masternode has been active"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet masternode current dash-cli -testnet masternode current
@ -192,84 +170,16 @@ dash-cli -testnet masternode current
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"height": 37375, "height": 76179,
"IP:port": "108.61.192.47:19999", "IP:port": "34.242.53.163:26155",
"protocol": 70208, "proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d",
"outpoint": "3df7fb192e21c34da99bdd10c34e58ecaf3f3c37d6b2289f0ffedba5050188cc-1", "outpoint": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d-1",
"payee": "ydGgePy4a3zza37Zm4D44B99czyo6TftU1", "payee": "yZnU7YJJgGQKvKPQFqXJ4k4DGSsRMhgLXx"
"lastseen": 1512482630,
"activeseconds": 3170434
} }
{% endhighlight %} {% endhighlight %}
{% endautocrossref %} {% endautocrossref %}
###### Masternode<!--noref--> Debug
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> debug` RPC prints masternode status.
{{WARNING}} `masternode<!--noref--> debug` was removed in Dash Core 0.12.2.2.
*Parameters: none*
*Result---masternode status*
{% itemplate ntpd1 %}
- n: "Result"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode status"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet masternode debug
{% endhighlight %}
Result:
{% highlight bash %}
Masternode successfully started
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Genkey
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> genkey` RPC generates a new masternodeprivkey.
*Parameters: none*
*Result---masternode private key*
{% itemplate ntpd1 %}
- n: "Result"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode private key"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet masternode genkey
{% endhighlight %}
Result:
{% highlight bash %}
92Mn5DQpnBHjFPbS3ZXcX3EdhuET18u3eXTTtVsdDzdcAMaXqtG
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Outputs<!--noref--> ###### Masternode<!--noref--> Outputs<!--noref-->
<!-- no subhead-links here --> <!-- no subhead-links here -->
@ -309,189 +219,6 @@ Result:
{% endautocrossref %} {% endautocrossref %}
###### Masternode<!--noref--> Start
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> start` RPC starts a local hot masternode configure in dash.conf.
{{WARNING}} `masternode<!--noref--> start` was removed in Dash Core 0.12.2.2. Local
masternode support was removed for security reasons.
*Parameters: none*
*Result---masternode status*
{% itemplate ntpd1 %}
- n: "Result"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode status"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet masternode start
{% endhighlight %}
Result:
{% highlight bash %}
Masternode successfully started
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Start-alias
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> start-alias` starts a single remote masternode by assigned alias configured in masternode<!--noref-->.conf.
*Parameter #1---masternode alias*
{% itemplate ntpd1 %}
- n: "Alias"
t: "string"
p: "Required<br>(exactly 1)"
d: "Alias of the masternode to start"
{% enditemplate %}
*Result---masternode status*
{% itemplate ntpd1 %}
- n: "Result"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode status"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet masternode start-alias MN01
{% endhighlight %}
Result:
{% highlight json %}
{
"alias": "MN01",
"result": "successful"
}
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Start-mode
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> start-<mode>` RPC starts remote masternodes configured in
masternode<!--noref-->.conf. Valid modes are: `all`, `missing`, or `disabled`.
*Parameters: none*
*Result---masternode status*
{% itemplate ntpd1 %}
- n: "Result"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode status"
- n: "→<br>`overall`"
t: "string"
p: "Required<br>(1 or more)"
d: "Reports masternode start successes/failures"
- n: "→<br>`detail`"
t: "object"
p: "Required<br>(exactly 1)"
d: "Start details"
- n: "→ →<br>`status`"
t: "object"
p: "Required<br>(1 or more)"
d: "Name of the masternode alias"
- n: "→ → →<br>`alias`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode alias"
- n: "→ → →<br>`result`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Start result"
{% enditemplate %}
*Example from Dash Core 0.12.2*
Start all masternodes in masternodes<!--noref-->.conf
{% highlight bash %}
dash-cli -testnet masternode start-all
{% endhighlight %}
Result:
{% highlight json %}
{
"overall": "Successfully started 1 masternodes, failed to start 0, total 1",
"detail": {
"status": {
"alias": "MN01",
"result": "successful"
}
}
}
{% endhighlight %}
Start missing masternodes in masternodes<!--noref-->.conf
{% highlight bash %}
dash-cli -testnet masternode start-missing
{% endhighlight %}
Result:
{% highlight json %}
{
"overall": "Successfully started 0 masternodes, failed to start 0, total 0",
"detail": {
}
}
{% endhighlight %}
Start disabled masternodes in masternodes<!--noref-->.conf
{% highlight bash %}
dash-cli -testnet masternode start-disabled
{% endhighlight %}
Result:
{% highlight json %}
{
"overall": "Successfully started 1 masternodes, failed to start 0, total 1",
"detail": {
"status": {
"alias": "MN01",
"result": "successful"
}
}
}
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Status ###### Masternode<!--noref--> Status
<!-- no subhead-links here --> <!-- no subhead-links here -->
@ -511,7 +238,7 @@ The `masternode<!--noref--> status` RPC prints masternode status information.
- n: "→<br>`outpoint`" - n: "→<br>`outpoint`"
t: "string" t: "string"
p: "Required<br>(1 or more)" p: "Required<br>(exactly 1)"
d: "The masternode's outpoint" d: "The masternode's outpoint"
- n: "→<br>`service`" - n: "→<br>`service`"
@ -519,10 +246,85 @@ The `masternode<!--noref--> status` RPC prints masternode status information.
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The IP address/port of the masternode" d: "The IP address/port of the masternode"
- n: "→<br>`payee`" - n: "→<br>`proTxHash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The masternode's ProRegTx hash"
- n: "→<br>`collateralHash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "The masternode's collateral hash"
- n: "→<br>`collateralIndex`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Index of the collateral"
- n: "→<br>`dmnState`"
t: "object"
p: "Required<br>(exactly 1)"
d: "Deterministic Masternode State"
- n: "→ →<br>`service`"
t: "string" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Payee address" d: "The IP address/port of the masternode"
- n: "→ →<br>`registeredHeight`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Block height at which the masternode was registered"
- n: "→ →<br>`lastPaidHeight`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Block height at which the masternode was last paid"
- n: "→ →<br>`PoSePenalty`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Current proof-of-service penalty"
- n: "→ →<br>`PoSeRevivedHeight`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Block height at which the masternode was last revived from a PoSe ban"
- n: "→ →<br>`PoSeBanHeight`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Block height at which the masternode was last PoSe banned"
- n: "→ →<br>`revocationReason`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Reason code for of masternode operator key revocation"
- n: "→ →<br>`ownerAddress`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The owner address"
- n: "→ →<br>`votingAddress`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The voting address"
- n: "→ →<br>`payoutAddress`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The payout address"
- n: "→ →<br>`pubKeyOperator`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The operator public key"
- n: "→ →<br>`operatorPayoutAddress`"
t: "string"
p: "Optional<br>(0 or 1)"
d: "The operator payout address"
- n: "→<br>`status`" - n: "→<br>`status`"
t: "string" t: "string"
@ -531,7 +333,7 @@ The `masternode<!--noref--> status` RPC prints masternode status information.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.13.2*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet masternode status dash-cli -testnet masternode status
@ -540,10 +342,26 @@ dash-cli -testnet masternode status
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"outpoint": "f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f-1", "outpoint": "d1be3a1aa0b9516d06ed180607c168724c21d8ccf6c5a3f5983769830724c357-0",
"service": "45.32.237.77:19999", "service": "45.32.237.76:19999",
"payee": "yY6AmGopsZS31wy1JLHR9P6AC6owFaXwuh", "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
"status": "Masternode successfully started" "collateralHash": "d1be3a1aa0b9516d06ed180607c168724c21d8ccf6c5a3f5983769830724c357",
"collateralIndex": 0,
"dmnState": {
"service": "45.32.237.76:19999",
"registeredHeight": 7402,
"lastPaidHeight": 59721,
"PoSePenalty": 0,
"PoSeRevivedHeight": 61915,
"PoSeBanHeight": -1,
"revocationReason": 0,
"ownerAddress": "yT8DDY5NkX4ZtBkUVz7y1RgzbakCnMPogh",
"votingAddress": "yMLrhooXyJtpV3R2ncsxvkrh6wRennNPoG",
"payoutAddress": "yTsGq4wV8WF5GKLaYV2C43zrkr2sfTtysT",
"pubKeyOperator": "02a2e2673109a5e204f8a82baf628bb5f09a8dfc671859e84d2661cae03e6c6e198a037e968253e94cd099d07b98e94e"
},
"state": "READY",
"status": "Ready"
} }
{% endhighlight %} {% endhighlight %}
@ -575,90 +393,6 @@ Result:
{% endautocrossref %} {% endautocrossref %}
###### Masternode<!--noref--> List-conf
<!-- no subhead-links here -->
{% autocrossref %}
The `masternode<!--noref--> list-conf` RPC prints masternode<!--noref-->.conf in JSON format.
*Parameters: none*
*Result---masternode info*
{% itemplate ntpd1 %}
- n: "Result"
t: "object"
p: "Required<br>(exactly 1)"
d: "Masternode status info"
- n: "→<br>`masternode`"
t: "object"
p: "Required<br>(1 or more)"
d: "Object containing masternode info"
- n: "→ →<br>`alias`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode alias"
- n: "→ →<br>`address`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The IP address/port of the masternode"
- n: "→ →<br>`privateKey`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Masternode private key"
- n: "→ →<br>`txHash`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "Masternode collateral transaction hash"
- n: "→ →<br>`outputIndex`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Masternode collateral transaction index"
- n: "→ →<br>`status`"
t: "string"
p: "Required<br>(exactly 1)"
d: "The masternode's status"
{% enditemplate %}
*Example from Dash Core 0.12.2*
{% highlight bash %}
dash-cli -testnet masternode status
{% endhighlight %}
Result:
{% highlight json %}
{
"masternode": {
"alias": "MN01",
"address": "45.32.237.77:19999",
"privateKey": "92woG282ZQMASn8BAah6H8QmiE5NsPwucv7cu9eTVG1uU63fcfs",
"txHash": "f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f",
"outputIndex": "1",
"status": "ENABLED"
},
"masternode": {
"alias": "MN02",
"address": "45.32.237.78:19999",
"privateKey": "92woG282ZQMASn8BAah6H8QmiE5NsPwucv7cu9eTVG1uU63fcfs",
"txHash": "f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f",
"outputIndex": "1",
"status": "ENABLED"
}
}
{% endhighlight %}
{% endautocrossref %}
###### Masternode<!--noref--> Winner ###### Masternode<!--noref--> Winner
<!-- no subhead-links here --> <!-- no subhead-links here -->
@ -686,14 +420,14 @@ The `masternode<!--noref--> winner` RPC prints info on the next masternode winne
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The IP address/port of the masternode" d: "The IP address/port of the masternode"
- n: "→<br>`protocol`" - n: "→<br>`proTxHash`"
t: "number (int)" t: "string"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "The protocol version number used by this node. See the [protocol versions section][section protocol versions] for more information" d: "The masternode's Provider Registration transaction hash"
- n: "→<br>`outpoint`" - n: "→<br>`outpoint`"
t: "string" t: "string"
p: "Required<br>(1 or more)" p: "Required<br>(exactly 1)"
d: "The masternode's outpoint" d: "The masternode's outpoint"
- n: "→<br>`payee`" - n: "→<br>`payee`"
@ -701,19 +435,9 @@ The `masternode<!--noref--> winner` RPC prints info on the next masternode winne
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Payee address" d: "Payee address"
- n: "→<br>`lastseen`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The Unix epoch time when the masternode was last seen"
- n: "→<br>`activeseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The number of seconds the masternode has been active"
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet masternode winner dash-cli -testnet masternode winner
@ -722,13 +446,11 @@ dash-cli -testnet masternode winner
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"height": 37384, "height": 76191,
"IP:port": "145.239.235.17:29999", "IP:port": "34.242.53.163:26173",
"protocol": 70208, "proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f",
"outpoint": "66eddd00e5927d0a03437d5b8a2f15367c978ef7951c80ae1608a45b1bf64318-1", "outpoint": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f-1",
"payee": "yY3q6wqRe1y7xzHbGE88YfRg4t97GU7BJ6", "payee": "yhp182AnF7gUAyHiWgSbDrKqHKt2dzhoyW"
"lastseen": 1512482474,
"activeseconds": 1180019
} }
{% endhighlight %} {% endhighlight %}
@ -838,6 +560,36 @@ Result:
} }
{% endhighlight %} {% endhighlight %}
**Deprecated RPCs**
![Warning icon](/img/icons/icon_warning.svg) The following RPCs were deprecated by Dash Core 0.14.0
**Masternode<!--noref--> Check**
Forces a check of all masternodes and removes invalid ones.
**Masternode<!--noref--> Genkey**
Generates a new masternodeprivkey.
**Masternode<!--noref--> Start-alias**
Starts a single remote masternode by assigned alias configured in masternode<!--noref-->.conf.
**Masternode<!--noref--> Start-mode**
Starts remote masternodes configured in masternode<!--noref-->.conf. Valid modes are: `all`, `missing`, or `disabled`.
**Masternode<!--noref--> List-conf**
Prints masternode.conf in JSON format.
*See also:* *See also:*
* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} * [MasternodeList][rpc masternodelist]: {{summary_masternodeList}}

View file

@ -7,10 +7,12 @@ http://opensource.org/licenses/MIT.
##### MasternodeBroadcast ##### MasternodeBroadcast
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
<!-- __ --> <!-- __ -->
{% assign summary_masternodeBroadcast="provides a set of commands to create and relay masternode broadcast messages." %} {% assign summary_masternodeBroadcast="was removed in Dash Core 0.14.0." %}
{% autocrossref %} {% autocrossref %}
{{WARNING}} **_Removed in Dash Core 0.14.0._**
The `masternodebroadcast` RPC {{summary_masternodeBroadcast}} The `masternodebroadcast` RPC {{summary_masternodeBroadcast}}
*Parameter #1---masternode broadcast command* *Parameter #1---masternode broadcast command*

View file

@ -29,21 +29,17 @@ The `masternodelist` RPC {{summary_masternodeList}}
Mode | Description Mode | Description
--- | --- | --- | --- | --- | --- |
`activeseconds` | Print number of seconds masternode recognized by the network as enabled (since latest issued \"masternodestart/start-many/start-alias\") `addr` | Print IP address associated with a masternode (can be additionally filtered, partial match)
`addr` | Print ip address associated with a masternode (can be additionally filtered, partial match) `full` | Print info in format 'status payee lastpaidtime lastpaidblock IP' (can be additionally filtered, partial match)
`daemon` | Print daemon version of a masternode (can be additionally filtered, exact match) `info` | Print info in format 'status payee IP' (can be additionally filtered, partial match)
`full` | Print info in format 'status protocol payee lastseen activeseconds lastpaidtime lastpaidblock IP' (can be additionally filtered, partial match)
`info` | Print info in format 'status protocol payee lastseen activeseconds sentinelversion sentinelstate IP' (can be additionally filtered, partial match)
`json` (Default) | Print info in JSON format (can be additionally filtered, partial match) `json` (Default) | Print info in JSON format (can be additionally filtered, partial match)
`lastpaidblock` | Print the last block height a node was paid on the network `lastpaidblock` | Print the last block height a node was paid on the network
`lastpaidtime` | Print the last time a node was paid on the network `lastpaidtime` | Print the last time a node was paid on the network
`lastseen` | Print timestamp of when a masternode was last seen on the network `owneraddress` | Print the masternode owner Dash address
`payee` | Print Dash address associated with a masternode (can be additionally filtered, partial match) `payee` | Print Dash address associated with a masternode (can be additionally filtered, partial match)
`protocol` | Print protocol of a masternode (can be additionally filtered, exact match) `pubKeyOperator` | Print the masternode operator public key
`pubkey` | Print the masternode (not collateral) public key `status` | Print masternode status: ENABLED / POSE_BANNED (can be additionally filtered, partial match)
`rank` | Print rank of a masternode based on current block `votingaddress` | Print the masternode voting Dash address
`sentinel` | Print sentinel version of a masternode (can be additionally filtered, exact match)
`status` | Print masternode status: PRE_ENABLED / ENABLED / EXPIRED / SENTINEL_PING_EXPIRED / NEW_START_REQUIRED / UPDATE_REQUIRED / POSE_BAN / OUTPOINT_SPENT (can be additionally filtered, partial match)
*Parameter #2---List filter* *Parameter #2---List filter*
@ -70,7 +66,7 @@ Mode | Description
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.0*
Get unfiltered Masternode list in default mode Get unfiltered Masternode list in default mode
@ -81,122 +77,41 @@ dash-cli -testnet masternodelist
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"83ab0eaeffc212fab5aea4a3057fba51dafdfa6da8b29c3f0de62ed9319fea03-0": { "64fbf05880cdbd35a0278ba01a5edf0c20a9c756d15f883d496f5df35b31b542-1": {
"address": "203.0.113.1:19999", "proTxHash": "ab51b2ba4dca27658e13fea81c0764167c1466aa2d92050c67e4490ce7623da0",
"payee": "yiz8WZ9VY9F7SyGuc8mXj6wrDERs6T47B1", "address": "167.99.164.60:19999",
"payee": "ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX",
"status": "ENABLED", "status": "ENABLED",
"protocol": 70208, "lastpaidtime": 1556615121,
"daemonversion": "Unknown", "lastpaidblock": 89725,
"sentinelversion": "1.0.2", "owneraddress": "yisedvAxYga44V9bTABzoQ7KoQMugyfU1E",
"sentinelstate": "current", "votingaddress": "yVpKfQgjkRkezFS5SpZvAEVFsbv9zJedf4",
"lastseen": 1520876844, "collateraladdress": "yeXE94admJeH3oKiaB7UpwWnPZD6Q8srhT",
"activeseconds": 3389581, "pubkeyoperator": "8072ac9a55d1cf5bf9c4262d49e2ef1ffcd716b8983ffdc62b940fec6cb4179d6275f8b68316f29c6c2ad540db329258"
"lastpaidtime": 1520868832,
"lastpaidblock": 89879
}, },
"33a833559acc50b63e0909a550d10af26f41043382a9eed30e5218df5adf5304-1": { "6ed4aa5fa90565c2331bcd22275f684ecdca5da8dd7f83ca943aadc6f44e6746-0": {
"address": "203.0.113.2:39999", "proTxHash": "8f5d5c7c0d9232f45f3a77eef6541922f827930b1f3bb789ad1771dc4d6275c0",
"payee": "yfY21tLcuKtohnkKtwBQXzEKFapwuhb9FE", "address": "3.209.222.37:19999",
"payee": "yiVDR2HothEwH2Ss17GntqNp1rBUthnyje",
"status": "POSE_BANNED",
"lastpaidtime": 1554219432,
"lastpaidblock": 72365,
"owneraddress": "ycAZ9adjpGfZ2WLEpyfyUWAjkF6sXdD5df",
"votingaddress": "yQrieR9S99hqnPghoj12RszMXYzc6yzyn2",
"collateraladdress": "ya82BzRBhuFZAPhgXvhkzZgqiVsMdnfan7",
"pubkeyoperator": "0a7fd01cfd502296cfd523d58ee9f4cff34243abb0dcc543ec237ff4d73938e69d187f0b6838bbaf9d54b89adc0d4c8e"
},
"4758b97bbd20024e171767b8baf4290bec1475b254180869cdfe0db75d7faefb-0": {
"proTxHash": "5cd86ed16f87819dca7b6e4e3d24947b1a6328ed8cc4c9aec7af35fa2b162220",
"address": "68.183.167.16:19999",
"payee": "ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX",
"status": "ENABLED", "status": "ENABLED",
"protocol": 70208, "lastpaidtime": 1556616437,
"daemonversion": "Unknown", "lastpaidblock": 89734,
"sentinelversion": "1.1.0", "owneraddress": "yPmESxMJhZYuKDLJ1oYdH6kpE8oADVAPUQ",
"sentinelstate": "current", "votingaddress": "yLvTNLDLHa3pDMbFDRBX5mVMjCshzrDD1X",
"lastseen": 1520876480, "collateraladdress": "ydGCjUEVRHkQZK3ajCsGJGDE9sjrbbS56v",
"activeseconds": 2110895, "pubkeyoperator": "18af4d035eed23d30eb02808af0c133d9879c0fb82c72329ab2ed208ebc1631641ca42bbf462239d151f4e84d8dcde7b"
"lastpaidtime": 1520866020,
"lastpaidblock": 89862
},
"54754314335419cc04ef09295ff7765c8062a6123486aed55fd7e9b04f300b13-0": {
"address": "203.0.113.3:20019",
"payee": "ycn5RWc4Ruo35FTS8bJwugVyCEkfVcrw9a",
"status": "NEW_START_REQUIRED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "Unknown",
"sentinelstate": "expired",
"lastseen": 1517843286,
"activeseconds": 0,
"lastpaidtime": 1520873295,
"lastpaidblock": 89898
},
"a4676419793d232359dfd7240bf1b0635b56f2a16aac4cb57f7e9ba459d50116-1": {
"address": "203.0.113.4:19999",
"payee": "ydZHEVgMX67xsi97BhN8KoacN6SCMz6Xho",
"status": "SENTINEL_PING_EXPIRED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.0.2",
"sentinelstate": "expired",
"lastseen": 1520876776,
"activeseconds": 7694877,
"lastpaidtime": 0,
"lastpaidblock": 0
},
"3d64bd65cb84b935278420de3673cba33470a1e1996c4debfccb5d722254404c-1": {
"address": "203.0.113.5:19999",
"payee": "ySkDc9dHns1AFcjJzGqNmkNnErjakcB2Bp",
"status": "ENABLED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.0.2",
"sentinelstate": "current",
"lastseen": 1520876576,
"activeseconds": 10796968,
"lastpaidtime": 1520876143,
"lastpaidblock": 89922
},
"54355b4b4d26b84821dab6e0e1c0bded7d8fefc72414f22f45515d1732f1c8e6-1": {
"address": "203.0.113.6:29999",
"payee": "yPk4NCyqvWjeJbE3tW1wmJ9LV2wgVLiYRT",
"status": "ENABLED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.1.0",
"sentinelstate": "current",
"lastseen": 1520876323,
"activeseconds": 2110746,
"lastpaidtime": 1520875985,
"lastpaidblock": 89920
},
"c6585f4ba88875eb2edc376b9ae24b74fd8c0ef89288923cf16a8fe2787b7ce8-1": {
"address": "203.0.113.7:19999",
"payee": "yP1UHNx26ShYLej56SbHiTiPAUv2QppbUv",
"status": "SENTINEL_PING_EXPIRED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.0.2",
"sentinelstate": "expired",
"lastseen": 1520876884,
"activeseconds": 7694986,
"lastpaidtime": 0,
"lastpaidblock": 0
},
"b7d45ac3d8c5ddea9ff90d81d92d362e09713a06b2a0089f49c7deb9b2521fef-0": {
"address": "203.0.113.8:19999",
"payee": "yN4iFe7a2G6YYoBtUXcoyixCTV3vDzWSrS",
"status": "NEW_START_REQUIRED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.0.2",
"sentinelstate": "current",
"lastseen": 1508842770,
"activeseconds": 416775,
"lastpaidtime": 0,
"lastpaidblock": 0
},
"5ef4e5c9d09f6fb927b7b815ea2736ddfce468021d49704acfc3bb7939b425ff-1": {
"address": "203.0.113.9:19999",
"payee": "yPwTQgY8JDFaDjAgUdHmapG4SmzY6SDbE9",
"status": "ENABLED",
"protocol": 70208,
"daemonversion": "Unknown",
"sentinelversion": "1.1.0",
"sentinelstate": "current",
"lastseen": 1520876862,
"activeseconds": 2111317,
"lastpaidtime": 1520872118,
"lastpaidblock": 89892
} }
} }
{% endhighlight %} {% endhighlight %}
@ -210,19 +125,20 @@ dash-cli -testnet masternodelist full "NEW"
Result: Result:
{% highlight json %} {% highlight json %}
{ {
"6125fc1da46cd2fdd013b1fbb02144367a95feffd379c08064f38de0e3deb80c-1": "NEW_START_REQUIRED 70208 yh7RGWjZN8yDAAzPpYFUJZAj41jG7G43c8 1507401630 0 1507409411 5874 1.1.1.1:19999", "64fbf05880cdbd35a0278ba01a5edf0c20a9c756d15f883d496f5df35b31b542-1": " ENABLED ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX 1553155206 65121 167.99.164.60:19999",
"866d66b88afed15ed1a936b680ace1a99e0ca14d0242bc2983c5fdd2c16c1637-1": "NEW_START_REQUIRED 70208 yQHJ4muL7FyhUj1x8iBr2Ws9E4cJ68DKin 1507626190 138962 1507620650 7215 178.62.203.249:19999", "809818107c1104bbba6d386567aa231a294219387e591542df599b7ae7d23339-1": " POSE_BANNED yLriZkwBhftk8VBUqrSykhFhAi4PowZ2Rs 1547488185 24447 45.48.177.222:19999",
"7c17695bdccc617410164882bd8b5fb7bf4f5a3dceb0a7476800e161cba1c57f-1": "NEW_START_REQUIRED 70208 yjWGCrz6iJnDsrog5FX6ag3iQUNor9UFj5 1507636178 0 0 0 83.1.99.1:19999", "d9fd715b7d896f5426e90bd3383a67fd3e311e00c021750560c6e5c5f9cdac85-1": " ENABLED yRbiW3dguCym4fzUGZCf2kWzKUgw97zEqE 1553155396 65122 109.235.71.56:19999",
"0512f77ebceaf288386e9a050e3c80652c7bfb6e993659ded2dff43eae6904ac-1": "NEW_START_REQUIRED 70208 ydahSbZKWUjBi6jHeWjLgr7navPoZVCgwH 1507646277 32460 1507649163 7397 172.104.45.115:19999", "0950cce784fadcc2df4febb19d3a21eab4836ba22ea996ce7e2dde32b6c31431-0": " ENABLED ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX 1553154969 65119 165.227.63.223:19999",
"4222505288507e0f1abc32f0323cce1d6c4d22c8e785adb0cf8075b70ae92ddf-1": "NEW_START_REQUIRED 70208 yUznkRL396PewekhtCpUJkfJcxt8fhDyoX 1507646174 9996 1507642757 7355 83.1.99.2:19999", "08b493929f61a3205f09af9290af9034bec6a8355040a82ce4413f294c703e9a-0": " ENABLED ybCE7m9oPjvCjm8MzPdbMBGgkF7p9wXsFq 1553153959 65110 34.207.45.58:19999",
"b454dd0efc19657f8d56a750385b90ebfb53dce5182a21238b225d6cbb3307f0-1": "NEW_START_REQUIRED 70208 yYR5dcULfpnbPSixorzMkQ9SGwzPPsXcuC 1507401632 0 1507408648 5868 2.2.2.2:19999" "b4f9de65ae676b63f84f2865317b8b512a12516c4459f2f59ca2626c71f7dda3-1": " POSE_BANNED yYmromZERpc15GTDvgvjmjChPmgHbhWf1r 0 0 1.1.1.1:19999",
"b7ec36db0c4ece8018183dcb90eed910e38e1c8d3641bbb4facced9a48a283a3-5": " ENABLED ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre 1553164088 65172 18.202.52.170:20028",
"71fa05269adf3efc9ffa9a9ce33d27320de61c230cdf4a3835ba7f707bd7807a-1": " POSE_BANNED yVxBZ8JeM5qRbLnUnswZ2APV3rgeZ7C9n9 1552466625 61158 167.99.110.59:19999"
} }
{% endhighlight %} {% endhighlight %}
*See also:* *See also:*
* [Masternode][rpc masternode]: {{summary_masternode}} * [Masternode][rpc masternode]: {{summary_masternode}}
* [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}}
* [MnSync][rpc mnsync]: {{summary_mnSync}} * [MnSync][rpc mnsync]: {{summary_mnSync}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -58,16 +58,6 @@ The `mnsync` RPC {{summary_mnSync}}
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Blockchain sync status" d: "Blockchain sync status"
- n: "→<br>`IsMasternodeListSynced`"
t: "boolean"
p: "Required<br>(exactly 1)"
d: "Masternode list sync status"
- n: "→<br>`IsWinnersListSynced`"
t: "boolean"
p: "Required<br>(exactly 1)"
d: "Masternode winners list sync status"
- n: "→<br>`IsSynced`" - n: "→<br>`IsSynced`"
t: "boolean" t: "boolean"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
@ -86,13 +76,13 @@ AssetID | AssetName
--- | --- | --- | --- | --- | --- |
0 | MASTERNODE_SYNC_INITIAL 0 | MASTERNODE_SYNC_INITIAL
1 | MASTERNODE_SYNC_WAITING 1 | MASTERNODE_SYNC_WAITING
2 | MASTERNODE_SYNC_LIST _2_ | **Deprecated since 0.14.0**<br>_MASTERNODE_SYNC_LIST_
3 | MASTERNODE_SYNC_MNW _3_ | **Deprecated since 0.14.0**<br>_MASTERNODE_SYNC_MNW_
4 | MASTERNODE_SYNC_GOVERNANCE 4 | MASTERNODE_SYNC_GOVERNANCE
-1 | MASTERNODE_SYNC_FAILED -1 | MASTERNODE_SYNC_FAILED
999 | MASTERNODE_SYNC_FINISHED 999 | MASTERNODE_SYNC_FINISHED
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
Get Masternode sync status Get Masternode sync status
@ -108,8 +98,6 @@ Result:
"AssetStartTime": 1507662300, "AssetStartTime": 1507662300,
"Attempt": 0, "Attempt": 0,
"IsBlockchainSynced": true, "IsBlockchainSynced": true,
"IsMasternodeListSynced": true,
"IsWinnersListSynced": true,
"IsSynced": true, "IsSynced": true,
"IsFailed": false "IsFailed": false
} }
@ -136,7 +124,7 @@ dash-cli -testnet mnsync next
Result: Result:
{% highlight text %} {% highlight text %}
sync updated to MASTERNODE_SYNC_LIST sync updated to MASTERNODE_SYNC_GOVERNANCE
{% endhighlight %} {% endhighlight %}
@ -166,7 +154,6 @@ success
*See also:* *See also:*
* [Masternode][rpc masternode]: {{summary_masternode}} * [Masternode][rpc masternode]: {{summary_masternode}}
* [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}}
* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} * [MasternodeList][rpc masternodelist]: {{summary_masternodeList}}
{% endautocrossref %} {% endautocrossref %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/prioritisetransaction.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/prioritisetransaction.md" %}
<!--__-->
##### PrioritiseTransaction ##### PrioritiseTransaction
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -23,17 +24,7 @@ The `prioritisetransaction` RPC {{summary_prioritiseTransaction}}
{% enditemplate %} {% enditemplate %}
*Parameter #2---the change to make to the virtual priority* *Parameter #2---the change to make to the virtual fee*
{% itemplate ntpd1 %}
- n: "Priority"
t: "number (real)"
p: "Required<br>(exactly 1)"
d: "If positive, the priority to add to the transaction in addition to its computed priority; if negative, the priority to subtract from the transaction's computed priory. Computed priority is the age of each input in days since it was added to the block chain as an output (coinage) times the value of the input in satoshis (value) divided by the size of the serialized transaction (size), which is `coinage * value / size`"
{% enditemplate %}
*Parameter #3---the change to make to the virtual fee*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Fee" - n: "Fee"
@ -53,12 +44,12 @@ The `prioritisetransaction` RPC {{summary_prioritiseTransaction}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet prioritisetransaction \ dash-cli -testnet prioritisetransaction \
f86c74f27fdd9c7e618d69b3606eeae1710b3f02fabede6ae8c88dd7bb756942 \ f86c74f27fdd9c7e618d69b3606eeae1710b3f02fabede6ae8c88dd7bb756942 \
1234 456789 456789
{% endhighlight %} {% endhighlight %}
Result: Result:

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -55,9 +55,9 @@ Core. Use the RPCs listed in the See Also subsection below instead.
{{INCLUDE_SPEND_CONFIRMATIONS}} {{INCLUDE_SPEND_CONFIRMATIONS}}
*Parameter #5---whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #5---whether to add the balance from transactions locked via InstantSend*
{{INCLUDE_ADD_LOCK_CONFIRMATIONS_PARAMETER}} {{INCLUDE_ADD_LOCKED_PARAMETER}}
*Parameter #6---a comment* *Parameter #6---a comment*

View file

@ -47,8 +47,8 @@ The `sendmany` RPC {{summary_sendMany}}
{{INCLUDE_SPEND_CONFIRMATIONS}} {{INCLUDE_SPEND_CONFIRMATIONS}}
*Parameter #4--whether to add 5 confirmations to transactions locked via InstantSend* *Parameter #4--whether to add the balance from transactions locked via InstantSend*
{{INCLUDE_ADD_LOCK_CONFIRMATIONS_PARAMETER}} {{INCLUDE_ADD_LOCKED_PARAMETER}}
*Parameter #5---a comment* *Parameter #5---a comment*
@ -80,7 +80,7 @@ The `sendmany` RPC {{summary_sendMany}}
- n: "Use InstantSend" - n: "Use InstantSend"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "If set to `true`, send this transaction as InstantSend (default: false)." d: "*Deprecated and ignored since Dash Core 0.14.1*"
{% enditemplate %} {% enditemplate %}
@ -94,6 +94,26 @@ The `sendmany` RPC {{summary_sendMany}}
{% enditemplate %} {% enditemplate %}
*Parameter #9---confirmation target*
{% itemplate ntpd1 %}
- n: "`conf_target`"
t: "number (int)"
p: "Optional<br>(0 or 1)"
d: "Confirmation target (in blocks)"
{% enditemplate %}
*Parameter #10---fee estimate mode*
{% itemplate ntpd1 %}
- n: "`estimate_mode`"
t: "string"
p: "Optional<br>(0 or 1)"
d: " The fee estimate mode, must be one of:<br>`UNSET`<br>`ECONOMICAL`<br>`CONSERVATIVE`<br>Default: `UNSET`"
{% enditemplate %}
*Result---a TXID of the sent transaction* *Result---a TXID of the sent transaction*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}

View file

@ -39,7 +39,7 @@ The `sendrawtransaction` RPC {{summary_sendRawTransaction}}
- n: "Use InstantSend" - n: "Use InstantSend"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "Set to `true` to send as an InstantSend transaction. Set to `false` (the default) to send as a normal transaction" d: "*Depcrecated and ignored since Dash Core 0.14.1*"
{% enditemplate %} {% enditemplate %}
@ -76,6 +76,7 @@ Result:
*See also* *See also*
* [CombineRawTransaction][rpc combinerawtransaction]: {{summary_combineRawTransaction}}
* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}}
* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}}
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}

View file

@ -74,7 +74,7 @@ The `sendtoaddress` RPC {{summary_sendToAddress}}
- n: "Use InstantSend" - n: "Use InstantSend"
t: "bool" t: "bool"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "If set to `true`, send this transaction as InstantSend (default: false)." d: "*Deprecated and ignored since Dash Core 0.14.1*"
{% enditemplate %} {% enditemplate %}
@ -88,6 +88,26 @@ The `sendtoaddress` RPC {{summary_sendToAddress}}
{% enditemplate %} {% enditemplate %}
*Parameter #8---confirmation target*
{% itemplate ntpd1 %}
- n: "`conf_target`"
t: "number (int)"
p: "Optional<br>(0 or 1)"
d: "Confirmation target (in blocks)"
{% enditemplate %}
*Parameter #9---fee estimate mode*
{% itemplate ntpd1 %}
- n: "`estimate_mode`"
t: "string"
p: "Optional<br>(0 or 1)"
d: " The fee estimate mode, must be one of:<br>`UNSET`<br>`ECONOMICAL`<br>`CONSERVATIVE`<br>Default: `UNSET`"
{% enditemplate %}
*Result---a TXID of the sent transaction* *Result---a TXID of the sent transaction*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
@ -164,7 +184,6 @@ ba4bbe29fa06b67d6f3f3a73e381627e66abe22e217ce329aefad41ea72c3922
*See also* *See also*
* [InstantSendToAddress][rpc instantsendtoaddress]: {{summary_instantSendToAddress}}
* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} * [SendFrom][rpc sendfrom]: {{summary_sendFrom}}
* [SendMany][rpc sendmany]: {{summary_sendMany}} * [SendMany][rpc sendmany]: {{summary_sendMany}}
* [Move][rpc move]: {{summary_move}} * [Move][rpc move]: {{summary_move}}

View file

@ -7,10 +7,12 @@ http://opensource.org/licenses/MIT.
##### SentinelPing ##### SentinelPing
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
<!-- __ --> <!-- __ -->
{% assign summary_sentinelPing="sends a Sentinel Ping to the network." %} {% assign summary_sentinelPing="was removed in Dash Core 0.14.0." %}
{% autocrossref %} {% autocrossref %}
{{WARNING}} **_Removed in Dash Core 0.14.0._**
The `sentinelping` RPC {{summary_sentinelPing}} The `sentinelping` RPC {{summary_sentinelPing}}
*Parameter #1---sentinel version* *Parameter #1---sentinel version*

View file

@ -1,48 +0,0 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/setbip69enabled.md" %}
##### SetBIP69Enabled
{% include helpers/subhead-links.md %}
{% assign summary_setBIP69Enabled="enables or disables BIP69 input/output sorting (regtest network only)" %}
<!-- __ -->
{% autocrossref %}
The `setbip69enabled` RPC {{summary_setBIP69Enabled}}
*Parameter #1---enable/disable BIP69 sorting (regtest only)*
{% itemplate ntpd1 %}
- n: "`enable`"
t: "boolean"
p: "Required<br>(exactly 1)"
d: "Set to true to turn on BIP69 sorting, false to turn off."
{% enditemplate %}
*Result---`null` or error on failure*
{% itemplate ntpd1 %}
- n: "`result`"
t: "null"
p: "Required<br>(exactly 1)"
d: "JSON `null`. The JSON-RPC error field will be set only if you entered an invalid parameter"
{% enditemplate %}
*Example from Dash Core 0.12.3*
{% highlight bash %}
dash-cli -testnet setbip69enabled true
{% endhighlight %}
Result (no output<!--noref--> from `dash-cli` because result is set to `null`).
*See also: none*
{% endautocrossref %}

View file

@ -0,0 +1,42 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/setprivatesendamount.md" %}
##### SetPrivateSendAmount
{% include helpers/subhead-links.md %}
{% assign summary_setPrivateSendAmount="sets the amount of DASH to be mixed with PrivateSend" %}
<!-- __ -->
{% autocrossref %}
The `setprivatesendamount` RPC {{summary_setPrivateSendAmount}}
*Parameter #1---amount to mix*
{% itemplate ntpd1 %}
- n: "Amount"
t: "int"
p: "Required<br>(exactly 1)"
d: "The number of DASH to mix (minimum: 2, maximum: 21,000,000)"
{% enditemplate %}
*Result---`null` on success*
*Example from Dash Core 0.13.0*
{% highlight bash %}
dash-cli -testnet setprivatesendamount 2000
{% endhighlight %}
(Success: no result displayed.)
*See also:*
* [SetPrivateSendRounds][rpc setprivatesendrounds]: {{summary_setPrivateSendRounds}}
{% endautocrossref %}

View file

@ -0,0 +1,42 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/setprivatesendrounds.md" %}
##### SetPrivateSendRounds
{% include helpers/subhead-links.md %}
{% assign summary_setPrivateSendRounds="sets the number of PrivateSend mixing rounds to use" %}
<!-- __ -->
{% autocrossref %}
The `setprivatesendrounds` RPC {{summary_setPrivateSendRounds}}
*Parameter #1---number of mixing rounds to use*
{% itemplate ntpd1 %}
- n: "Rounds"
t: "int"
p: "Required<br>(exactly 1)"
d: "The number of mixing rounds to use (minimum: 1, maximum: 16)"
{% enditemplate %}
*Result---`null` on success*
*Example from Dash Core 0.13.0*
{% highlight bash %}
dash-cli -testnet setprivatesendrounds 4
{% endhighlight %}
(Success: no result displayed.)
*See also:*
* [SetPrivateSendAmount][rpc setprivatesendamount]: {{summary_setPrivateSendAmount}}
{% endautocrossref %}

View file

@ -4,6 +4,8 @@ http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/signrawtransaction.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/signrawtransaction.md" %}
<!--__-->
##### SignRawTransaction ##### SignRawTransaction
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -56,6 +58,10 @@ The `signrawtransaction` RPC {{summary_signRawTransaction}}
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "If the pubkey script was a script hash, this must be the corresponding redeem script" d: "If the pubkey script was a script hash, this must be the corresponding redeem script"
- n: "→ →<br>`amount`"
t: "numeric"
p: "Required<br>(exactly 1)"
d: "The amount of Dash spent"
{% enditemplate %} {% enditemplate %}
*Parameter #3---private keys for signing* *Parameter #3---private keys for signing*
@ -126,6 +132,7 @@ Result:
*See also* *See also*
* [CombineRawTransaction][rpc combinerawtransaction]: {{summary_combineRawTransaction}}
* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} * [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}}
* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}}
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}}

View file

@ -44,7 +44,7 @@ To display the status of sporks, use the `show` or `active` syntax.
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.1*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet spork show dash-cli -testnet spork show
@ -55,13 +55,13 @@ Result:
{ {
"SPORK_2_INSTANTSEND_ENABLED": 0, "SPORK_2_INSTANTSEND_ENABLED": 0,
"SPORK_3_INSTANTSEND_BLOCK_FILTERING": 0, "SPORK_3_INSTANTSEND_BLOCK_FILTERING": 0,
"SPORK_5_INSTANTSEND_MAX_VALUE": 3000,
"SPORK_6_NEW_SIGS": 4000000000, "SPORK_6_NEW_SIGS": 4000000000,
"SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT": 0,
"SPORK_9_SUPERBLOCKS_ENABLED": 0, "SPORK_9_SUPERBLOCKS_ENABLED": 0,
"SPORK_10_MASTERNODE_PAY_UPDATED_NODES": 0, "SPORK_15_DETERMINISTIC_MNS_ENABLED": 1047200,
"SPORK_12_RECONSIDER_BLOCKS": 0, "SPORK_16_INSTANTSEND_AUTOLOCKS": 0,
"SPORK_14_REQUIRE_SENTINEL_FLAG": 0 "SPORK_17_QUORUM_DKG_ENABLED": 0,
"SPORK_19_CHAINLOCKS_ENABLED": 0,
"SPORK_20_INSTANTSEND_LLMQ_BASED": 0
} }
{% endhighlight %} {% endhighlight %}
@ -82,7 +82,7 @@ Result:
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.3* *Example from Dash Core 0.14.0*
{% highlight bash %} {% highlight bash %}
dash-cli -testnet spork active dash-cli -testnet spork active
@ -93,13 +93,13 @@ Result:
{ {
"SPORK_2_INSTANTSEND_ENABLED": true, "SPORK_2_INSTANTSEND_ENABLED": true,
"SPORK_3_INSTANTSEND_BLOCK_FILTERING": true, "SPORK_3_INSTANTSEND_BLOCK_FILTERING": true,
"SPORK_5_INSTANTSEND_MAX_VALUE": true,
"SPORK_6_NEW_SIGS": false, "SPORK_6_NEW_SIGS": false,
"SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT": true,
"SPORK_9_SUPERBLOCKS_ENABLED": true, "SPORK_9_SUPERBLOCKS_ENABLED": true,
"SPORK_10_MASTERNODE_PAY_UPDATED_NODES": true, "SPORK_15_DETERMINISTIC_MNS_ENABLED": true,
"SPORK_12_RECONSIDER_BLOCKS": true, "SPORK_16_INSTANTSEND_AUTOLOCKS": true,
"SPORK_14_REQUIRE_SENTINEL_FLAG": true "SPORK_17_QUORUM_DKG_ENABLED": true,
"SPORK_19_CHAINLOCKS_ENABLED": true,
"SPORK_20_INSTANTSEND_LLMQ_BASED": true
} }
{% endhighlight %} {% endhighlight %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/submitblock.md" %} {% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/submitblock.md" %}
<!--__-->
##### SubmitBlock ##### SubmitBlock
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -23,13 +24,13 @@ The `submitblock` RPC {{summary_submitBlock}}
{% enditemplate %} {% enditemplate %}
*Parameter #2---additional parameters* *Parameter #2---dummy value*
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "Parameters" - n: "`dummy`"
t: "object" t: "object"
p: "Optional<br>(0 or 1)" p: "Optional<br>(0 or 1)"
d: "A JSON object containing extra parameters. Not used directly by Dash Core and also not broadcast to the network. This is available for use by mining pools and other software. A common parameter is a `workid` string" d: "A dummy value for compatibility with BIP22. This value is ignored."
{% enditemplate %} {% enditemplate %}
@ -43,9 +44,9 @@ The `submitblock` RPC {{summary_submitBlock}}
{% enditemplate %} {% enditemplate %}
*Example from Dash Core 0.12.2* *Example from Dash Core 0.14.1*
Submit the following block with the workid, "test". Submit the following block with the a dummy value, "test".
{% highlight bash %} {% highlight bash %}
dash-cli -testnet submitblock 0100002032e3965d5fdd7a883209d516599337eb4cb82f\ dash-cli -testnet submitblock 0100002032e3965d5fdd7a883209d516599337eb4cb82f\
@ -64,7 +65,7 @@ dash-cli -testnet submitblock 0100002032e3965d5fdd7a883209d516599337eb4cb82f\
96e3a36f3e815222cd1cb9586b3193c4a0de030477f621956d51feffffff02a00bd1000000\ 96e3a36f3e815222cd1cb9586b3193c4a0de030477f621956d51feffffff02a00bd1000000\
00001976a914d7b47d4b40a23c389f5a17754d7f60f511c7d0ec88ac316168821300000019\ 00001976a914d7b47d4b40a23c389f5a17754d7f60f511c7d0ec88ac316168821300000019\
76a914c9190e507834b78a624d7578f1ad3819592ca1aa88ac771f0000 \ 76a914c9190e507834b78a624d7578f1ad3819592ca1aa88ac771f0000 \
'{ "workid": "test" }' "test"
{% endhighlight %} {% endhighlight %}
Result (the block above was already on a local block chain): Result (the block above was already on a local block chain):

View file

@ -0,0 +1,42 @@
{% comment %}
This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/uptime.md" %}
<!--__-->
##### Uptime
{% include helpers/subhead-links.md %}
{% assign summary_uptime="returns the total uptime of the server." %}
{% autocrossref %}
The `uptime` RPC {{summary_uptime}}
*Parameters: none*
*Result*
{% itemplate ntpd1 %}
- n: "`result`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The number of seconds that the server has been running"
{% enditemplate %}
*Example from Dash Core 0.14.1*
{% highlight bash %}
dash-cli -testnet uptime
{% endhighlight %}
Result:
{% highlight text %}
5500
{% endhighlight %}
*See also: none*
{% endautocrossref %}

View file

@ -47,7 +47,7 @@ The `verifymessage` RPC {{summary_verifyMessage}}
{% itemplate ntpd1 %} {% itemplate ntpd1 %}
- n: "`result`" - n: "`result`"
t: "bool/null" t: "boolean"
p: "Required<br>(exactly 1)" p: "Required<br>(exactly 1)"
d: "Set to `true` if the message was signed by a key corresponding to the provided P2PKH address; set to `false` if it was not signed by that key; set to JSON `null` if an error occurred" d: "Set to `true` if the message was signed by a key corresponding to the provided P2PKH address; set to `false` if it was not signed by that key; set to JSON `null` if an error occurred"

View file

@ -21,7 +21,7 @@ Once installed, you'll have access to three programs: `dashd`,
* `dashd` is more useful for programming: it provides a full peer * `dashd` is more useful for programming: it provides a full peer
which you can interact with through RPCs to port 9998 (or 19998 which you can interact with through RPCs to port 9998 (or 19998
for testnet / 18332 for regtest). for testnet / 19898 for regtest).
* `dash-cli` allows you to send RPC commands to `dashd` from the * `dash-cli` allows you to send RPC commands to `dashd` from the
command line. For example, `dash-cli help` command line. For example, `dash-cli help`

View file

@ -35,9 +35,8 @@ check the faucets listed below. They are community supported and due to
potentially frequent Testnet changes, one or more of them may be unavailable at potentially frequent Testnet changes, one or more of them may be unavailable at
a given time: a given time:
* [Testnet Faucet - Dash.org]
* [Testnet Faucet - Masternode.io] * [Testnet Faucet - Masternode.io]
* [Testnet Faucet - Dashninja.pl] * [Testnet Faucet - Crowdnode.io]
Testnet is a public resource provided for free by members of the community, Testnet is a public resource provided for free by members of the community,
so please don't abuse it. so please don't abuse it.

View file

@ -130,7 +130,7 @@ The ideal value is 3600 (one hour).
This method of calculating difficulty (Dark Gravity Wave) was authored by Dash This method of calculating difficulty (Dark Gravity Wave) was authored by Dash
creator Evan Duffield to fix exploits possible with the previously used creator Evan Duffield to fix exploits possible with the previously used
Kimoto Gravity Well difficulty readjustment algorithm. For additional detail, Kimoto Gravity Well difficulty readjustment algorithm. For additional detail,
reference this [Official Documentation Dark Gravity Wave page](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146926/Dark+Gravity+Wave). reference this [Official Documentation Dark Gravity Wave page](https://docs.dash.org/en/latest/introduction/features.html#dark-gravity-wave).
Because each block header must hash to a value below the target Because each block header must hash to a value below the target
threshold, and because each block is linked to the block that threshold, and because each block is linked to the block that

View file

@ -15,8 +15,7 @@ Dash aims to be the most user-friendly and scalable payments-focused
cryptocurrency in the world. The Dash network features instant transaction cryptocurrency in the world. The Dash network features instant transaction
confirmation, double spend protection, anonymity equal to that of physical cash, confirmation, double spend protection, anonymity equal to that of physical cash,
a self-governing, self-funding model driven by incentivized full nodes and a a self-governing, self-funding model driven by incentivized full nodes and a
clear roadmap for on-chain scaling to up to 400MB blocks using custom-developed clear [roadmap](https://www.dash.org/roadmap/) for future development.
open source hardware.
While Dash is based on Bitcoin and compatible with many key components of the While Dash is based on Bitcoin and compatible with many key components of the
Bitcoin ecosystem, its two-tier network structure offers significant Bitcoin ecosystem, its two-tier network structure offers significant
@ -33,62 +32,90 @@ economy.
{% autocrossref %} {% autocrossref %}
Dash Core's InstantSend feature provides a way to lock transaction inputs and Dash Core's InstantSend feature provides a way to lock transaction inputs and
enable secure, instantaneous transactions. enable secure, instantaneous transactions. The network automatically attempts to
upgrade any qualifying transaction to InstantSend without a need for the sending
wallet to explicitly request it.
The following video provides an overview with a good introduction to the details * To qualify for InstantSend, transaction inputs must either:
including the InstantSend vulnerability that was fixed in Dash Core 0.12.2. * Be locked by InstantSend
Some specific points in the video are listed here for quick reference: * Be in a block that has a ChainLock
* Have at least the number confirmations (block depth) indicated by the table below
- 2:00 - InstantSend restrictions | **Network** | **Confirmations Required** |
- 5:00 - Masternode quorum creation |---------|--------------|
- 6:00 - Input locking | Mainnet | 6 Blocks |
- 7:45 - Quorum score calculation / Requirement for block confirmations | Testnet / Regtest / Devnet | 2 Blocks |
- 9:00 - Description of Dash Core pre-0.12.2 InstantSend vulnerability
- 13:00 - Description of vulnerability fix / Post Dash Core 0.12.2 operation
{% endautocrossref %} The introduction of Long-Living Masternode Quorums in Dash Core 0.14 provided
a foundation to scale InstantSend. The transaction input locking process (and
resulting network traffic) now occurs only within the quorum. This minimizes
network congestion since only the `islock` message produced by the locking
process is relayed to the entire Dash network. This message contains all the
information necessary to verify a successful transaction lock.
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/n4PELomRiFY?rel=0;start=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> Sporks 2 (`SPORK_2_INSTANTSEND_ENABLED`) and 20 (`SPORK_20_INSTANTSEND_LLMQ_BASED`)
are used to manage InstantSend. Spork 2 enables or disables the entire
InstantSend feature. Spork 20 was used to support the transition to LLMQ-based
InstantSend and is currently retained for backward compatibility. It will be
deprecated in a future release.
{% autocrossref %} Note: A transaction will __not__ be included in the block template (from `getblocktemplate`) unless it:
1. Has been locked, or
2. Has been in the mempool for >=10 minutes (`WAIT_FOR_ISLOCK_TIMEOUT`)
A miner may still include any transaction, but blocks containing only locked
transactions (or ones older than the timeout) should achieve a ChainLock faster.
This is desirable to miners since it prevents any reorgs that might orphan their
block.
*InstantSend Data Flow* *InstantSend Data Flow*
| **InstantSend Client** | **Direction** | **Peers** | **Description** | | **InstantSend Client** | **Direction** | **Peers** | **Description** |
| `inv` message (ix) | → | | Client sends inventory for transaction lock request | `tx` message | → | | Client sends InstantSend transaction
| | ← | `getdata` message (ix) | Peer responds with request for transaction lock request | **LLMQ Signing Sessions** | | | Quorums internally process locking |
| `ix` message | → | | Client sends InstantSend transaction lock request | | | | Quorum(s) responsible for the transaction's inputs lock the inputs via LLMQ signing sessions
| | ← | `inv` message (txlvote) | Masternodes in the [quorum](#quorum-selection) respond with votes | | | | Once all inputs are locked, the quorum responsible for the overall transaction creates the transaction lock (`islock`) via an LLMQ signing session
| `getdata` message (txlvote) | → | | Client requests vote | **LLMQ Results** | | | Quorum results broadcast to the network |
| | ← | `txlvote` message | Peer responds with vote | | ← | `inv` message (islock) | Quorum responds with lock inventory
| `getdata` message (islock) | → | | Client requests lock message
| | ← | `islock` message | Quorum responds with lock message
Once a sufficient number of votes approve the transaction lock, the InstantSend Once a transaction lock is approved, the `instantlock` field of various RPCs
transaction is approved and shows 5 confirmations (`DEFAULT_INSTANTSEND_DEPTH`). is set to `true` (e.g. the `getmempoolentry` RPC).
NOTE: The 5 "pseudo-confirmations" are shown to convey confidence that the
transaction is secure from double-spending and DO NOT indicate the transaction
has already been confirmed to a block depth of 5 in the blockchain.
If an InstantSend transaction is a valid transaction but does not receive a
transaction lock, it reverts to being a standard transaction.
There are a number of limitations on InstantSend transactions:
* The lock request will timeout 15 seconds after the first vote is seen (`INSTANTSEND_LOCK_TIMEOUT_SECONDS`)
* The lock request will fail if it has not been locked after 60 seconds (`INSTANTSEND_FAILED_TIMEOUT_SECONDS`)
* A minimum fee (0.0001 Dash) is required since the transaction involves the masternodes in addition to miners. This fee was most
recently decreased by [DIP-0001](https://github.com/dashpay/dips/blob/master/dip-0001.md).
* To be used in an InstantSend transaction, an input must have at least the number confirmations (block depth) indicated by the table below
| **Network** | **Confirmations Required** |
|---------|--------------|
| Mainnet | 6 Blocks |
| Testnet | 2 Blocks |
| Regtest | 2 Blocks |
| Devnet | 2 Blocks |
{% endautocrossref %} {% endautocrossref %}
### ChainLocks
{% include helpers/subhead-links.md %}
{% autocrossref %}
Dash's ChainLock feature leverages [LLMQ Signing Requests/Sessions](#llmq<!--noref-->-signing-session)
to reduce uncertainty when receiving funds and remove the possibility of 51%
mining attacks.
For each block, an LLMQ of a few hundred masternodes (300-400) is selected and each
participating member signs the first block that it sees extending the active
chain at the current height. If enough members (at least 240) see the same block
as the first block, they will be able to create a `clsig` message and propagate
it to all nodes in the network.
If a valid `clsig` message is received by a node, it must reject all blocks (and
any descendants) at the same height that do not match the block specified in the
`clsig` message. This makes the decision on the active chain quick, easy and
unambiguous. It also makes reorganizations below this block impossible.
When LLMQ-based InstantSend is enabled, a ChainLock is only attempted once all
transactions in the block are locked via InstantSend. If a block contains
unlocked transactions, retroactive InstantSend locks are established prior to
a ChainLock.
Please read [DIP8 ChainLocks](https://github.com/dashpay/dips/blob/master/dip-0008.md)
for additional details.
{% endautocrossref %}
### PrivateSend ### PrivateSend
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -97,7 +124,7 @@ recently decreased by [DIP-0001](https://github.com/dashpay/dips/blob/master/dip
Dash Core's PrivateSend feature provides a way to improve privacy by performing Dash Core's PrivateSend feature provides a way to improve privacy by performing
coin-mixing without relinquishing custodial access. For additional details, coin-mixing without relinquishing custodial access. For additional details,
reference this [Official Documentation PrivateSend page](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/1146924/PrivateSend<!--noref-->). reference this [Official Documentation PrivateSend page](https://docs.dash.org/en/latest/introduction/features.html#privatesend<!--noref-->).
The following video provides an overview with a good introduction to the details: The following video provides an overview with a good introduction to the details:
@ -131,23 +158,24 @@ integer value used in P2P messages, and the actual Dash value.
| 1 | 2 | 01.00001 | | 1 | 2 | 01.00001 |
| 2 | 4 | 00.100001 | | 2 | 4 | 00.100001 |
| 3 | 8 | 00.0100001 | | 3 | 8 | 00.0100001 |
| 4 | 16 | 00.00100001 |
The denominations are structured to allow converting between denominations Protocol version 70213 added a 5th denomination (0.001 DASH).
directly without requiring additional inputs or creating change (for example,
1 x 10.0001 = 10 x 1.00001, 1 x 0.100001 = 10 x 0.0100001, etc.).
{% endautocrossref %} {% endautocrossref %}
[Example Testnet denomination creation transaction](https://testnet-insight.dashevo.org/insight/tx/702e77d19dcb0fbfe7d7daa5543bcfeacec0f552c49e398b27fb8141ae52d3e2) [Example Testnet denomination creation transaction](https://testnet-insight.dashevo.org/insight/tx/f0174fc87d68a18617c2990df4d9455c0459c601d2d6473934357a66f9b8b70a)
{% autocrossref %} {% autocrossref %}
**Creating Collaterals** **Creating Collaterals**
PrivateSend collaterals are used to pay mixing fees, but are kept separate from PrivateSend collaterals are used to pay mixing fees, but are kept separate from
the denominations to maximize privacy. The minimum collateral fee is 0.001 DASH for the denominations to maximize privacy. Since protocol version 70213, the minimum
all mixing sessions regardless of denomination. In Dash Core, collaterals are collateral fee is 1/10 of the smallest denomination for all mixing sessions
created with enough value to pay 4 collateral fees (4 x 0.001 DASH). ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->.h#L313)) regardless of denomination.
In Dash Core, collaterals are created with enough value to pay 4 collateral fees
(4 x 0.001 DASH). ([Dash Core Reference](https://github.com/dashpay/dash/blob/262454791c4b4f783b2533d1b16b757a71eb5f7d/src/privatesend<!--noref-->.h#L413))
In protocol version 70208, collateral inputs can be anything from 2x the In protocol version 70208, collateral inputs can be anything from 2x the
minimum collateral amount to the maximum collateral amount (currently defined as minimum collateral amount to the maximum collateral amount (currently defined as
@ -156,9 +184,9 @@ input from 1x the minimum collateral amount to the maximum collateral amount.
{% endautocrossref %} {% endautocrossref %}
[Example Testnet collateral creation transaction](https://testnet-insight.dashevo.org/insight/tx/c2fc4af6a9940bf33446f3dddf6892c3dac4351fd0add89157666ca1019454ca) [Example Testnet collateral creation transaction](https://testnet-insight.dashevo.org/insight/tx/8f9b15973983876f7ce4eb2c32b09690dfb0432d2caf6c6df516196a8d17689f)
[Example Testnet collateral payment transaction](https://testnet-insight.dashevo.org/insight/tx/70404808f1871e600cc8d30ad1eaf2bab63906dd1f3ae4a799b7182e1689721b) [Example Testnet collateral payment transaction](https://testnet-insight.dashevo.org/insight/tx/de51e6f7c5ef75aad0dbb0a808ef4873d7ef6d67b25f3a658d5a241db4f3eeeb)
#### PrivateSend Mixing #### PrivateSend Mixing
@ -196,34 +224,40 @@ mixing pool.
_**Step 0 - Pool Selection**_ _**Step 0 - Pool Selection**_
* Existing mixing pool information is derived from the Queue messages seen by the client * Existing mixing pool information is derived from the Queue messages seen by the client
* Dash Core attempts to join an existing mixing pool 2/3 of the time although this is not a requirement that alternative implementations would be required to follow ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->-client.cpp#L817-#L826)) * Dash Core attempts to join an existing mixing pool and only requests creation of a new one if that fails, although this is not a requirement that alternative implementations would be required to follow
_**Step 1 - Pool Request**_ _**Step 1 - Pool Request**_
* The `dsa` message contains a collateral transaction * The `dsa` message contains a collateral transaction
* This transaction uses a collateral input created in the [Wallet Preparation](#privatesend<!--noref-->-wallet<!--noref-->-preparation) phase * This transaction uses a collateral input created in the [Wallet Preparation](#privatesend<!--noref-->-wallet<!--noref-->-preparation) phase
* The collateral is a signed transaction that pays the collateral back to a client address minus a fee of 0.001 DASH * The collateral is a signed transaction that pays the collateral back to a client address minus a fee of 0.001 DASH
* As of protocol version 70209, the `dsa` message indicates how many inputs will be provided to the pool when Spork 6 is active
_**Step 3 - Queue**_ _**Step 3 - Queue**_
* A masternode broadcasts `dsq` messages when it starts a new queue. These message are relayed by all peers. * A masternode broadcasts `dsq` messages when it starts a new queue. These message are relayed by all peers.
* As of protocol version 70209, when Spork 6 is active the `dsq` message indicates how many inputs must be provided to participate in the pool. * As of protocol version 70214, mixing sessions have a variable number of participants defined by the range `nPoolMinParticipants` (3) to `nPoolMaxParticipants` (5). Prior protocol version mixing sessions always contained exactly 3 participants
* Once the masternode has received valid `dsa` messages from 3 clients (`nPoolMaxTransactions`), it sends a `dsq` message with the ready bit set ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/chainparams.cpp#L173)) * Once the masternode has received valid `dsa` messages from the appropriate number of clients (`nSessionMaxParticipants`), it sends a `dsq` message with the ready bit set
* Clients must respond to the Queue ready within 30 seconds or risk forfeiting the collateral they provided in the `dsa` message (Step 1) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->.h#L22)) * Clients must respond to the Queue ready within 30 seconds or risk forfeiting the collateral they provided in the `dsa` message (Step 1) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e9f7142ed01c0d7b53ef8b5f6f3f6375a68ef422/src/privatesend<!--noref-->.h#L23))
_**Step 4 - Inputs**_ _**Step 4 - Inputs**_
* The collateral transaction can be the same in the `dsi` message as the one in the `dsa` message (Step 1) as long as it has not been spent * The collateral transaction can be the same in the `dsi` message as the one in the `dsa` message (Step 1) as long as it has not been spent
* Each client can provide up to 9 (`PRIVATESEND_ENTRY_MAX_SIZE`) inputs (and an equal number of outputs) to be mixed ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->.h#L28)) * Each client can provide up to 9 (`PRIVATESEND_ENTRY_MAX_SIZE`) inputs (and an equal number of outputs) to be mixed ([Dash Core Reference](https://github.com/dashpay/dash/blob/e9f7142ed01c0d7b53ef8b5f6f3f6375a68ef422/src/privatesend<!--noref-->.h#L29))
* This is the only message in the PrivateSend process that contains enough information to link a wallet's PrivateSend inputs with its outputs * This is the only message in the PrivateSend process that contains enough information to link a wallet's PrivateSend inputs with its outputs
* This message is sent directly between a client and the mixing masternode (not relayed across the Dash network) so no other clients see it * This message is sent directly between a client and the mixing masternode (not relayed across the Dash network) so no other clients see it
_**Step 6 - Final Transaction (unsigned)**_ _**Step 6 - Final Transaction (unsigned)**_
* Once the masternode has received valid `dsi` messages from all clients, it creates the final transaction and sends a `dsf` message * Once the masternode has received valid `dsi` messages from all clients, it creates the final transaction and sends a `dsf` message
* Inputs/outputs are ordered deterministically as defined by [BIP-69](https://github.com/quantumexplorer/bips/blob/master/bip-0069.mediawiki#Abstract) to avoid leaking any data ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->-server.cpp#L321-#L322)) * Inputs/outputs are ordered deterministically as defined by [BIP-69](https://github.com/dashevo/bips/blob/master/bip-0069.mediawiki#Abstract) to avoid leaking any data ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->-server.cpp#L321-#L322))
* Clients must sign their inputs to the Final Transaction within 15 seconds or risk forfeiting the collateral they provided in the `dsi` message (Step 4) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->.h#L23)) * Clients must sign their inputs to the Final Transaction within 15 seconds or risk forfeiting the collateral they provided in the `dsi` message (Step 4) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e9f7142ed01c0d7b53ef8b5f6f3f6375a68ef422/src/privatesend<!--noref-->.h#L24))
_**Step 10 - Final Transaction broadcast**_
* Prior to protocol version 70213, masternodes could only send a single
un-mined `dstx` message at a time. As of protocol version 70213, up to 5
(`MASTERNODE_MAX_MIXING_TXES`) un-mined `dstx` messages per masternode are
allowed.
_**General**_ _**General**_
@ -269,22 +303,15 @@ value of only 0.00000546 DASH as shown by the calculation below.
{% autocrossref %} {% autocrossref %}
Masternode payment uses a verifiable process to determine which masternode is Since DIP3 (introduced in Dash Core 0.13.0), masternode reward payments are based
paid in each block. When a new block is processed, a quorum of on the deterministic masternode list information found on-chain in each block.
`MNPAYMENTS_SIGNATURES_TOTAL` (10) masternodes vote on the next masternode This results in a transparent, deterministic process that operates using the
payee. The quorum is calculated deterministically based on the distance between [algorithm described in DIP3](https://github.com/dashpay/dips/blob/master/dip-0003.md#masternode<!--noref-->-rewards).
masternode's hash and the block's proof of work.
Each member of the quorum issues a 'mnw' message that is relayed to the On-chain masternode lists reduce the complexity of reward payments, make
network. The payee is selected from a subset of masternodes made up of 10% payments much more predictable, and also allow masternode payments to be
of eligible nodes that have been waiting the longest since their last payment. enforced for all blocks (enforcement for superblocks was not possible in the
The winner is then determined based on a number of parameters including the previous system).
distance between the its hash and the block's proof of work. For additional
detail, reference this [Official Documentation Payment Logic page](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/8880184/Payment+Logic).
Nodes receiving a `mnw` message verify the validity of the message before
relaying it to their peers. If the message is invalid, the sending node may be
treated as misbehaving and have its ban score increased.
{% endautocrossref %} {% endautocrossref %}
@ -301,38 +328,31 @@ several conditions that initiate a start/restart the sync process:
* A failure occurred during the last sync attempt (after a 1 minute cooldown before sync restarts) * A failure occurred during the last sync attempt (after a 1 minute cooldown before sync restarts)
* Issuing a `mnsync reset` RPC command * Issuing a `mnsync reset` RPC command
{% endautocrossref %}
#### Initial Masternode<!--noref--> Sync #### Initial Masternode<!--noref--> Sync
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
{% autocrossref %}
The deterministic masternode lists introduced by DIP3 eliminated several steps
of the sync process related to the masternode list and masternode payments.
Since that information is now available on-chain, P2P messages related to those
steps were deprecated.
This diagram shows the order in which P2P messages are sent to perform This diagram shows the order in which P2P messages are sent to perform
masternode synchronization initially after startup. masternode synchronization initially after startup.
![Masternode Sync (Initial)](/img/dev/en-masternode-sync-initial.svg) ![Masternode Sync (Initial)](/img/dev/en-masternode-sync-initial-dip3.svg)
The following table details the data flow of P2P messages exchanged during The following table details the data flow of P2P messages exchanged during
initial masternode synchronization. initial masternode synchronization after the activation of DIP3 and Spork 15.
| **Syncing Node Message** | **Direction** | **Masternode Response** | **Description** | | **Syncing Node Message** | **Direction** | **Masternode Response** | **Description** |
| **1. Sporks** | | | | | **1. Sporks** | | | |
| `getsporks` message | → | | Syncing node requests sporks | `getsporks` message | → | | Syncing node requests sporks
| | ← | `spork` message(s) | | | ← | `spork` message(s) |
| **2. Masternode List** | | | Sync Masternode list from other connected clients | | **2. Governance** | | | See [Governance sync](#governance) |
| `dseg` message | → | | Syncing node requests masternode list
| | ← | `ssc` message | Number of entries in masternode list (MASTERNODE_SYNC_LIST)<br><br>Only sent if requesting entire list
| | ← | `inv` message(s) (mnb) | MSG_MASTERNODE_ANNOUNCE
| | ← | `inv` message(s) (mnp) | MSG_MASTERNODE_PING
| `getdata` message(s) (mnb) | → | | (Optional)
| `getdata` message(s) (mnp) | → | | (Optional)
| | ← | `mnb` message(s) | (If requested) Masternode announce message
| | ← | `mnp` message(s) | (If requested) Masternode ping message
| **3. Masternode payments** | | | Ask node for all payment votes it has (new nodes will only return votes for future payments) |
| `mnget` message | → | | Syncing node requests masternode payment sync
| | ← | `ssc` message | Number of entries in masternode payment list
| | ← | `inv` message(s) (mnw) | MSG_MASTERNODE_PAYMENT_VOTE
| `getdata` message(s) (mnw) | → | | (Optional)
| | ← | `mnw` message(s) | (If requested) Masternode payment vote message
| **4. Governance** | | | See [Governance sync](#governance) |
*Masternode Sync Status* *Masternode Sync Status*
@ -343,12 +363,11 @@ are used in both `ssc` messages and the `mnsync` RPC.
| -1 | `MASTERNODE_SYNC_FAILED` | Synchronization failed | | -1 | `MASTERNODE_SYNC_FAILED` | Synchronization failed |
| 0 | `MASTERNODE_SYNC_INITIAL` | Synchronization just started, was reset recently, or is still in IBD | | 0 | `MASTERNODE_SYNC_INITIAL` | Synchronization just started, was reset recently, or is still in IBD |
| 1 | `MASTERNODE_SYNC_WAITING` | Synchronization pending - waiting after initial to check for more headers/blocks | | 1 | `MASTERNODE_SYNC_WAITING` | Synchronization pending - waiting after initial to check for more headers/blocks |
| 2 | `MASTERNODE_SYNC_LIST` | Synchronizing masternode list | | 2 | `MASTERNODE_SYNC_LIST` | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Synchronizing masternode list |
| 3 | `MASTERNODE_SYNC_MNW` | Synchronizing masternode payments | | 3 | `MASTERNODE_SYNC_MNW` | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Synchronizing masternode payments |
| 4 | `MASTERNODE_SYNC_GOVERNANCE` | Synchronizing governance objects | | 4 | `MASTERNODE_SYNC_GOVERNANCE` | Synchronizing governance objects |
| 999 | `MASTERNODE_SYNC_FINISHED` | Synchronization finished | | 999 | `MASTERNODE_SYNC_FINISHED` | Synchronization finished |
#### Ongoing Masternode<!--noref--> Sync #### Ongoing Masternode<!--noref--> Sync
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -359,33 +378,6 @@ payments, and governance objects synchronized between masternodes.
![Masternode Sync (Ongoing)](/img/dev/en-masternode-sync-ongoing.svg) ![Masternode Sync (Ongoing)](/img/dev/en-masternode-sync-ongoing.svg)
**Recurring Ping**
Each masternode issues a ping (`mnp` message) periodically to notify the network
that it is still online. Masternodes that do not issue a ping for 3 hours will
be put into the `MASTERNODE_NEW_START_REQUIRED` state and will need to issue a
masternode announce (`mnb` message).
**Masternode List**
After the initial masternode list has been received, it is kept current by a
combination of the periodic `mnp` messages received from other masternodes,
the `mnb` messages sent by masternodes as they come online, and `mnv` messages
to verify that other masternodes are valid.
Also, `dseg` messages can be sent to request masternode info when messages are
received that have been signed by an unrecognized masternode (most masternode/governance
messages include a `vin` value that can be used to verify the masternode's
unspent 1000 Dash).
Unsynchronized peers may send a `dseg` message to request the entire masternode list.
**Masternode Payment**
After the initial masternode payment synchronization, payment information is
kept current via the `mnw` messages relayed on the network. Unsynchronized peers
may send a `mnget` message to request masternode payment sync.
**Governance** **Governance**
After the initial governance synchronization, governance information is kept After the initial governance synchronization, governance information is kept
@ -397,23 +389,18 @@ sync.
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
The following tables detail the timing of various functions used to keep the The following tables detail the timing of various functions used to keep the
masternodes in sync with each other. This information is derived from masternodes in sync with each other. This information is derived from the
`ThreadCheckPrivateSend` in `src/privatesend<!--noref-->.cpp`. scheduler section of `AppInitMain` in `src/init.cpp`.
| **Period (seconds)** | **Action** | **Description** | | **Period (seconds)** | **Action** | **Description** |
| 6 | MN Sync | Synchronizes sporks, masternode list, masternode payments, and governance objects | | 6 | MN Sync | Synchronizes sporks, masternode list, masternode payments, and governance objects (masternode-sync.cpp) |
The following actions only run when the masternode sync is past `MASTERNODE_SYNC_WAITING` status. The following actions only run when the masternode sync is past `MASTERNODE_SYNC_WAITING` status.
| **Period (seconds)** | **Action** | **Description** | | **Period (seconds)** | **Action** | **Description** |
| 1 | MN Check | Check the state of each masternode that is still funded and not banned. The action occurs once per second, but individual masternodes are only checked at most every 5 seconds (only a subset of masternodes are checked each time it runs) | | 60 | Process MN Connections | Disconnects some masternodes (masternodeman.cpp) |
| 60 | Process MN Connections | Disconnects some masternodes | | 60 | InstantSend<!--noref--> Check/Remove | Remove expired/orphaned/invalid InstantSend candidates and votes (instantx.cpp) |
| 60 | MN Check/Remove | Remove spent masternodes and check the state of inactive ones | | 300 | Maintenance | Check/remove/reprocess governance objects (governance.cpp) |
| 60 | MN Payment Check/Remove | Remove old masternode payment votes/blocks |
| 60 | InstantSend<!--noref--> Check/Remove | Remove expired/orphaned/invalid InstantSend candidates and votes |
| 300 | Full verification | Verify masternodes via direct requests (`mnv` messages - note time constraints in the Developer Reference section) |
| 300 | Maintenance | Check/remove/reprocess governance objects |
| 600 | Manage State | Sends masternode pings (`mnp` message). Also sends initial masternode broadcast (`mnb` message) for local masternodes. |
{% endautocrossref %} {% endautocrossref %}
@ -451,13 +438,21 @@ requested. Frequent requests will result in the node being banned.
Masternodes respond to the `govsync` message with several items: Masternodes respond to the `govsync` message with several items:
* First, the Masternode sends one `ssc` message (Sync Status Count) for `govobj` For Object Sync:
objects and one for `govobjvote` objects. These messages indicate how many
inventory items will be sent.
* Second, the Masternode sends `inv` messages for the `govobj` and `govobjvote` * First, the Masternode sends a `ssc` message (Sync Status Count) for `govobj`
objects. This message indicates how many inventory items will be sent.
* Second, the Masternode sends an `inv` message for the `govobj` and `govobjvote`
objects. objects.
For Vote Sync:
* First, the Masternode sends a `ssc` message (Sync Status Count) for `govobjvote`
objects. This message indicates how many inventory items will be sent.
* Second, the Masternode sends an `inv` message for the `govobjvote` object(s).
Once the syncing node receives the counts and inventories, it may request any Once the syncing node receives the counts and inventories, it may request any
`govobj` and `govobjvote` objects from the masternode via a `getdata` message. `govobj` and `govobjvote` objects from the masternode via a `getdata` message.
@ -468,19 +463,14 @@ Once the syncing node receives the counts and inventories, it may request any
| **Initial request** | | | **Requests all governance objects (without votes)** | | **Initial request** | | | **Requests all governance objects (without votes)** |
| `govsync` message | → | | Syncing node initiates governance sync (hash set to all zeros) | `govsync` message | → | | Syncing node initiates governance sync (hash set to all zeros)
| | ← | `ssc` message (govobj) | Number of governance objects (0 or more) | | ← | `ssc` message (govobj) | Number of governance objects (0 or more)
| | ← | `ssc` message (govobjvote)| Number of governance object votes *(0 since votes are only returned if a specific hash is provided with the `govsync` message)*
| | ← | `inv` message (govobj) | Governance object inventories | | ← | `inv` message (govobj) | Governance object inventories
| `getdata` message (govobj) | → | | (Optional) Syncing node requests govobj | `getdata` message (govobj) | → | | (Optional) Syncing node requests govobj
| | ← | `govobj` message | (If requested) Governance object | | ← | `govobj` message | (If requested) Governance object
| | | | | | | | | |
| **Follow up requests** | | | **Requests governance object (with votes)** | | **Follow up requests** | | | **Requests governance object (with votes)** |
| `govsync` message | → | | Syncing node requests governance sync for a specific governance object | `govsync` message | → | | Syncing node requests governance sync for a specific governance object
| | ← | `ssc` message (govobj) | Number of governance objects (1)
| | ← | `ssc` message (govobjvote)| Number of governance object votes (0 or more) | | ← | `ssc` message (govobjvote)| Number of governance object votes (0 or more)
| | ← | `inv` message (govobj) | Governance object inventory
| | ← | `inv` message (govobjvote)| Governance object vote inventories | | ← | `inv` message (govobjvote)| Governance object vote inventories
| `getdata` message (govobj) | → | | (Optional) Syncing node requests govobj
| | ← | `govobj` message | (If requested) Governance object
| `getdata` message (govobjvote) | → | | (Optional) Syncing node requests govobjvote | `getdata` message (govobjvote) | → | | (Optional) Syncing node requests govobjvote
| | ← | `govobjvote` message | (If requested) Governance object vote | | ← | `govobjvote` message | (If requested) Governance object vote
@ -495,8 +485,8 @@ the future. This will allow the integration between Evolution and Dash Core to
proceed more smoothly and enable new governance object additions with minimal proceed more smoothly and enable new governance object additions with minimal
impact to Dash Core. impact to Dash Core.
Sentinel runs periodically and performs four main tasks as described below: Sentinel runs periodically and performs three main tasks as described below:
governance sync, ping, governance object pruning, and superblock management. governance sync, governance object pruning, and superblock management.
The governance object data is stored in a SQLite database. The governance object data is stored in a SQLite database.
##### Sentinel<!--noref--> Sync ##### Sentinel<!--noref--> Sync
@ -506,15 +496,6 @@ Sentinel issues a `gobject list` RPC command and updates its database with the
results returned from dashd. When objects are removed from the network, they are results returned from dashd. When objects are removed from the network, they are
purged from the Sentinel database. purged from the Sentinel database.
##### Sentinel<!--noref--> Ping
{% include helpers/subhead-links.md %}
In Dash Core 12.2, use of the `watchdog` governance object type was replaced
by integrating sentinel information into the masternode ping (`mnp` message)
via [Pull Request #1491](https://github.com/dashpay/dash/pull/1491).
Sentinel calls the `sentinelping` RPC which updates the masternode info to
prevent it from entering a `MASTERNODE_WATCHDOG_EXPIRED` state.
##### Sentinel<!--noref--> Prune ##### Sentinel<!--noref--> Prune
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
@ -530,21 +511,431 @@ voted to delete them.
Sentinel manages superblock creation, voting, and submission to dashd for Sentinel manages superblock creation, voting, and submission to dashd for
network propagation. network propagation.
Beginning ~3 days (1662 blocks) prior to a superblock, Sentinel selects one
masternode per block to rank proposals. This ranking is used to determine
what a candidate superblock (or "superblock trigger") should contain. Based on
the results, it creates and broadcasts a new superblock trigger if a matching
one was not found.
All masternodes vote for existing superblock triggers. Each masternode casts
only 1 superblock trigger "Yes" vote per superblock cycle. It will vote "No"
for any other triggers it receives.
Note: This means that proposal votes submitted _after_ superblock trigger
creation begins will _not_ be counted by some masternodes (those that have
already voted on a superblock trigger).
At the superblock height, the trigger with the most "Yes" votes is paid out by
that block's miner.
##### Sentinel<!--noref--> Ping
{% include helpers/subhead-links.md %}
![Warning icon](/img/icons/icon_warning.svg) NOTE: Deprecated by [Dash Core v0.14](https://github.com/dashpay/sentinel<!--noref-->/pull/64)
In Dash Core 12.2, use of the `watchdog` governance object type was replaced
by integrating sentinel information into the masternode ping (`mnp` message)
via [Pull Request #1491](https://github.com/dashpay/dash/pull/1491).
From Dash Core 0.12.2 through Dash Core 0.13, Sentinel used the `sentinelping` RPC
to update the masternode info and prevent it from entering a `MASTERNODE_WATCHDOG_EXPIRED` state.
{% endautocrossref %} {% endautocrossref %}
### Quorum Selection ### Masternode Quorums
{% include helpers/subhead-links.md %}
Dash's masternode quorums are used to facilitate the operation of masternode provided
features in a decentralized, deterministic way. The original quorums (used
largely for InstantSend and masternode payments) were ephemeral and used for a
single purpose (e.g. voting on one specific InstantSend transaction).
Dash Core 0.14 (protocol version 70214) introduced the Long Living Masternode
Quorums (LLMQ) that are described in detail by [DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md).
These LLMQs are deterministic subsets of the global deterministic masternode
list that are formed via a distributed key generation (DKG) protocol and remain
active for a long periods of time (e.g. hours to days).
The main task of LLMQs is to perform threshold signing of consensus-related
messages (e.g. ChainLocks).
##### LLMQ Creation (DKG)
<!-- no subhead-links here -->
{% autocrossref %}
The following table details the data flow of P2P messages exchanged during
the distributed key generation (DKG) protocol used to establish an LLMQ.
NOTE: With the exception of the final step (`qfcommit` message broadcast), the message
exchanges happen only between masternodes participating in the DKG process via
the Intra-Quorum communication process described in the DIP.
*Quorum DKG Data Flow*
| **Masternode** | **Direction** | **Peers** | **Description** |
| **[Initialization Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#1-initialization-phase)**| | | **Deterministically evaluate if quorum participation necessary** |
| | | | Each quorum participant establishes connections to a set of quorum participants [as described in DIP6](https://github.com/dashpay/dips/blob/master/dip-0006.md#building-the-set-of-deterministic-connections) |
| **[Contribution Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#2-contribution-phase)** | | | **Send quorum contributions (intra-quorum communication)** |
|`inv` message (qcontrib) | → | | Masternode sends inventory for its quorum contribution _to other masternodes in the quorum_
| | ← | `getdata` message (qcontrib) | Peer(s) respond with request for quorum contribution
| `qcontrib` message | → | | Masternode sends the requested quorum contribution
| **[Complaining Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#3-complaining-phase)** | | | **Send complaints for any peers with invalid or missing contributions (intra-quorum communication)** |
|`inv` message (qcomplaint) | → | | Masternode sends inventory for any complaints _to other masternodes in the quorum_
| | ← | `getdata` message (qcomplaint) | Peer(s) respond with request for quorum complaints
| `qcomplaint` message | → | | Masternode sends the requested complaints
| **[Justification Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#4-justification-phase)** | | | **Send justification responses for any complaints against own contributions (intra-quorum communication)** |
|`inv` message (qjustify) | → | | Masternode sends inventory for any justifications _to other masternodes in the quorum_
| | ← | `getdata` message (qjustify) | Peer(s) respond with request for quorum justifications
| `qjustify` message | → | | Masternode sends the requested justifications
| **[Commitment Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#5-commitment-phase)** | | | **Send premature commitment containing the quorum public key (intra-quorum communication)** |
|`inv` message (qpcommit) | → | | Masternode sends inventory for its premature commitment _to other masternodes in the quorum_
| | ← | `getdata` message (qpcommit) | Peer(s) respond with request for quorum premature commitment
| `qpcommit` message | → | | Masternode sends the requested premature commitment
| **[Finalization Phase](https://github.com/dashpay/dips/blob/master/dip-0006.md#6-finalization-phase)** | | | **Send final commitment containing the quorum public key** |
|`inv` message (qfcommit) | → | | Masternode sends inventory for its premature commitment **to all peers**
| | ← | `getdata` message (qfcommit) | Peer(s) respond with request for quorum final commitment
| `qfcommit` message | → | | Masternode sends the requested final commitment
{% endautocrossref %}
##### LLMQ Signing Session
<!-- no subhead-links here -->
{% autocrossref %}
The following table details the data flow of P2P messages exchanged during
an LLMQ signing session. These sessions take advantage of BLS threshold signatures
to enable quorums to sign arbitrary messages. For example, Dash Core 0.14 uses
this capability to create the quorum signature found in the `clsig` message that
enables ChainLocks.
Please read [DIP7 LLMQ Signing Requests / Sessions](https://github.com/dashpay/dips/blob/master/dip-0007.md)
for additional details.
*LLMQ Signing Session Data Flow*
| **Masternode** | **Direction** | **Peers** | **Description** |
| **[Siging Request Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#signing-request)** | | | Request quorum signing of a message (e.g. InstantSend transaction input) (intra-quorum communication) |
| `qsigsesann` message | → | | Masternode sends a signing session announcement _to other masternodes in the quorum_
| **[Share Propagation Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#propagating-signature<!--noref-->-shares)** | | | Members exchange signature shares within the quorum (intra-quorum communication) |
| `qsigsinv` message | → | | Masternode sends one or more quorum signature share inventories _to other masternodes in the quorum_<br>_May occur multiple times in this phase_
| | ← | `qgetsigs` message (qcontrib) | Peer(s) respond with request for signature shares<br>_May occur multiple times in this phase_
| `qbsigs` message | → | | Masternode sends the requested batched signature share(s)<br>_May occur multiple times in this phase_
| **[Threshold Signature Recovery Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#recovered-threshold-signatures<!--noref-->)** | | | A recovered signature is created by a quorum member once valid signature shares from at least the threshold number of members have been received |
| `qsigrec` message | → | | Masternode sends the quorum recovered signature **to all peers** (except those that have asked to be excluded via a `qsendrecsigs` message)
Note the following timeouts defined by Dash Core related to signing sessions:
| Parameter | Timeout, sec | Description |
| `SESSION_NEW_SHARES_TIMEOUT` | 60 | Time to wait for new shares |
| `SIG_SHARE_REQUEST_TIMEOUT` | 5 | Time to wait for a requested share before requesting from a different node |
| `SESSION_TOTAL_TIMEOUT` | 300 | Time to wait for session to complete |
{% endautocrossref %}
#### Quorum Selection
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
Dash quorums are used to facilitate the operation of masternode provided
features in a decentralized, deterministic way.
| Quorum Type | Members | Consensus | Description | | Quorum Type | Members | Consensus | Description |
| ----------- | ------- | --------- | ----------- | | ----------- | ------- | --------- | ----------- |
| InstantSend | 10 | Majority | A set of 10 masternodes are selected for _each_ input of the InstantSend transaction. A majority (6+) of them must agree to lock the input. If all inputs in the transaction can be locked, it becomes a successful InstantSend. | Classic<br>(non-LLMQ) InstantSend | 10 | Majority | A set of 10 masternodes are selected for _each_ input of the InstantSend transaction. A majority (6+) of them must agree to lock the input. If all inputs in the transaction can be locked, it becomes a successful InstantSend.
| MN Payments | 10 | Majority | A set of 10 masternodes are selected for each block. A majority (6+) of them must agree on the masternode payee for the next block. | MN Payments | 10 | Majority | A set of 10 masternodes are selected for each block. A majority (6+) of them must agree on the masternode payee for the next block.
| MN Broadcast | 10 | Majority | If a majority (6+) of nodes agree, a new `mnb` message is not required. | MN Broadcast | 10 | Majority | _Deprecated by DIP3 (deterministic masternode list) in Dash Core 0.13._<br><br>If a majority (6+) of nodes agree, a new `mnb` message is not required.
{% endautocrossref %}
### Proof of Service
{% include helpers/subhead-links.md %}
{% autocrossref %}
The Proof of Service (PoSe) scoring system helps incentivize masternodes to
provide network services. Masternodes that neglect to participate receive an
increased PoSe score which eventually results in them being excluded from
masternode payment eligibility.
The current PoSe scoring system is based on participation in the LLMQ DKG
process. This scoring system will expand over time to incorporate additional
service requirements in support of the future Dash Platform (Evolution)
functionality.
| Service | Percent of Score | Requirement |
| ----------- | ---- | ------------------- |
| LLMQ DKG | 100% | Participate in the DKG process used to establish LLMQs. Requires exchanging messages with other quorum members. |
**PoSe Score Calculation**
As shown in the following table, the PoSe Score always decreases by 1 per block
as long as a masternode has not been banned. Once banned, the masternode can
only be restored by sending a Provider Update Service (ProUpServTx) special
transaction.
| PoSe Parameter | Value | Example Value |
|-|-|-|
| Maximum PoSe Score | Number of registered masternodes | 5000 |
| PoSe Score Increases | Maximum PoSe Score * 2/3 | 3333 |
| PoSe Score Decreases | 1 (per block) | Always `1` |
The current PoSe scoring algorithm increases the PoSe score by 66% of the
maximum score for each failed DKG session. Depending on timing, this allows for
no more than 2 failures for a masternode within a payment cycle (i.e a
number of blocks equal to the number of registered masternodes).
For example, using the values from above with 5000 masternodes:
- In the first 5000 block cycle, two DKG failures occur without the PoSe score exceeding the maximum. This happens since a sufficient number of blocks are mined prior to the second failure to drop the PoSe score below the threshold (`< 5000 - 3333`) that would result in banning.
- In the second 5000 block cycle, the second DKG failure occurs too close to the first and results in the PoSe score exceeding the maximum limit. This results in the masternode receiving a PoSe Ban.
| Payment Cycle | Block Number | Event | Score Change | PoSe Score | Masternode Status |
|-|-|-|-|-|-|
| 1 | 1 | DKG Failure (1) | +3333 | 3333 | Valid |
| 1 | 1734 | 1733 Blocks Mined | -1733 | 1600 | Valid |
| 1 | 1734 | DKG Failure (2) | +3333 | 4933 | Valid |
| 1 | 5000 | 3266 Blocks Mined | -3266 | 1667 | Valid |
| | | End of Payment Cycle 1| | | |
| 2 | 5500 | 500 Blocks Mined | -500 | 1167 | Valid |
| 2 | 5500 | DKG Failure (3) | +3333 | 4500 | Valid |
| 2 | 7000 | 1500 Blocks Mined | -1500 | 3000 | Valid |
| 2 | 7000 | DKG Failure (4) | +3333 | 6333 | PoSe Banned |
| 2 | 10000 | End of Payment Cycle 2 | - | 6333 | PoSe Banned |
{% endautocrossref %}
### Historical Reference
<!-- no subhead-links here -->
![Warning icon](/img/icons/icon_warning.svg) **The following information is
deprecated and for historical reference only. It describes features that have
been redesigned and no longer operate as described below.**
#### InstantSend (original)
{% include helpers/subhead-links.md %}
{% autocrossref %}
![Warning icon](/img/icons/icon_warning.svg) **Please see [here for details of the current InstantSend design](#instantsend<!--noref-->).**
Dash Core's InstantSend feature provides a way to lock transaction inputs and
enable secure, instantaneous transactions. Since Dash Core 0.13.0, any qualifying
transaction is automatically upgraded to InstantSend by the network without a
need for the sending wallet to explicitly request it. For these simple
transactions (those containing 4 or fewer inputs), the previous requirement for
a special InstantSend transaction fee was also removed. The criteria for
determining eligibility can be found in the lists of limitations below.
The following video provides an overview with a good introduction to the details
including the InstantSend vulnerability that was fixed in Dash Core 0.12.2.
Some specific points in the video are listed here for quick reference:
- 2:00 - InstantSend restrictions
- 5:00 - Masternode quorum creation
- 6:00 - Input locking
- 7:45 - Quorum score calculation / Requirement for block confirmations
- 9:00 - Description of Dash Core pre-0.12.2 InstantSend vulnerability
- 13:00 - Description of vulnerability fix / Post Dash Core 0.12.2 operation
{% endautocrossref %}
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/n4PELomRiFY?rel=0;start=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
{% autocrossref %}
*InstantSend Data Flow*
| **InstantSend Client** | **Direction** | **Peers** | **Description** |
| `inv` message (ix) | → | | Client sends inventory for transaction lock request
| | ← | `getdata` message (ix) | Peer responds with request for transaction lock request
| `ix` message | → | | Client sends InstantSend transaction lock request
| | ← | `inv` message (txlvote) | Masternodes in the [quorum](#quorum-selection) respond with votes
| `getdata` message (txlvote) | → | | Client requests vote
| | ← | `txlvote` message | Peer responds with vote
Once an InstantSend lock has been requested, the `instantsend` field of various
RPCs (e.g. the `getmempoolentry` RPC) is set to `true`. Then, if a sufficient
number of votes approve the transaction lock, the InstantSend transaction is approved
the `instantlock` field of the RPC is set to `true`.
If an InstantSend transaction is a valid transaction but does not receive a
transaction lock, it reverts to being a standard transaction.
There are a number of limitations on InstantSend transactions:
* The lock request will timeout 15 seconds after the first vote is seen (`INSTANTSEND_LOCK_TIMEOUT_SECONDS`)
* The lock request will fail if it has not been locked after 60 seconds (`INSTANTSEND_FAILED_TIMEOUT_SECONDS`)
* A “per-input” fee of 0.0001 DASH per input is required for non-simple transactions (inputs >=5) since they place a higher load on the masternodes. This fee was most
recently decreased by [DIP-0001](https://github.com/dashpay/dips/blob/master/dip-0001.md).
* To be used in an InstantSend transaction, an input must have at least the number confirmations (block depth) indicated by the table below
| **Network** | **Confirmations Required** |
|---------|--------------|
| Mainnet | 6 Blocks |
| Testnet | 2 Blocks |
| Regtest | 2 Blocks |
| Devnet | 2 Blocks |
There are some further limitations on Automatic InstantSend transactions:
* DIP3 must be active
* Spork 16 must be enabled
* Mempool usage must be lower than 10% (`AUTO_IX_MEMPOOL_THRESHOLD`). As of Dash Core 0.13.0, this corresponds to a mempool size of 30 MB (`DEFAULT_MAX_MEMPOOL_SIZE` = 300 MB).
**Historical Note**
Prior to Dash Core 0.13.0, `instantsend` and `instantlock` values were not
available via RPC. At that time, the InstantSend system worked as described below.
Once a sufficient number of votes approved the transaction lock, the InstantSend
transaction was approved and showed 5 confirmations (`DEFAULT_INSTANTSEND_DEPTH`).
NOTE: The 5 "pseudo-confirmations" were shown to convey confidence that the
transaction was secure from double-spending and DID NOT indicate the transaction
had already been confirmed to a block depth of 5 in the blockchain.
{% endautocrossref %}
#### Masternode Payment (original)
{% include helpers/subhead-links.md %}
![Warning icon](/img/icons/icon_warning.svg) **The following information is for
historical reference only. It describes the masternode payment process that was
used prior to the deterministic masternode list update in Dash Core v0.13 that
implemented DIP3.**
Please see [here for details of the current system](#masternode-payment)
{% autocrossref %}
Prior to DIP3, the masternode payment process operated as described below.
Masternode payment uses a verifiable process to determine which masternode is
paid in each block. When a new block is processed, a quorum of
`MNPAYMENTS_SIGNATURES_TOTAL` (10) masternodes vote on the next masternode
payee. The quorum is calculated deterministically based on the distance between
masternode's hash and the block's proof of work.
Each member of the quorum issues a 'mnw' message that is relayed to the
network. The payee is selected from a subset of masternodes made up of 10%
of eligible nodes that have been waiting the longest since their last payment.
The winner is then determined based on a number of parameters including the
distance between the its hash and the block's proof of work. For additional
detail, reference this [Official Documentation Payment Logic page](https://docs.dash.org/en/0.12.3/masternodes<!--noref-->/understanding.html#payment-logic).
Nodes receiving a `mnw` message verify the validity of the message before
relaying it to their peers. If the message is invalid, the sending node may be
treated as misbehaving and have its ban score increased.
{% endautocrossref %}
#### Masternode Sync (original)
<!-- no subhead-links here -->
![Warning icon](/img/icons/icon_warning.svg) **The following information is for
historical reference only. It describes the masternode sync process that was
used prior to the deterministic masternode list update in Dash Core v0.13 that
implemented DIP3.**
Please see [here for details of the current system](#masternode-sync)
##### Initial Sync
<!-- no subhead-links here -->
{% autocrossref %}
This diagram shows the order in which P2P messages are sent to perform
masternode synchronization initially after startup.
![Masternode Sync (Initial)](/img/dev/en-masternode-sync-initial.svg)
The following table details the data flow of P2P messages exchanged during
initial masternode synchronization before the activation of DIP3 and Spork 15.
| **Syncing Node Message** | **Direction** | **Masternode Response** | **Description** |
| **1. Sporks** | | | |
| `getsporks` message | → | | Syncing node requests sporks
| | ← | `spork` message(s) |
| **2. Masternode List** | | | Sync Masternode list from other connected clients |
| `dseg` message | → | | Syncing node requests masternode list
| | ← | `ssc` message | Number of entries in masternode list (MASTERNODE_SYNC_LIST)<br><br>Only sent if requesting entire list
| | ← | `inv` message(s) (mnb) | MSG_MASTERNODE_ANNOUNCE
| | ← | `inv` message(s) (mnp) | MSG_MASTERNODE_PING
| `getdata` message(s) (mnb) | → | | (Optional)
| `getdata` message(s) (mnp) | → | | (Optional)
| | ← | `mnb` message(s) | (If requested) Masternode announce message
| | ← | `mnp` message(s) | (If requested) Masternode ping message
| **3. Masternode payments** | | | Ask node for all payment votes it has (new nodes will only return votes for future payments) |
| `mnget` message | → | | Syncing node requests masternode payment sync
| | ← | `ssc` message | Number of entries in masternode payment list
| | ← | `inv` message(s) (mnw) | MSG_MASTERNODE_PAYMENT_VOTE
| `getdata` message(s) (mnw) | → | | (Optional)
| | ← | `mnw` message(s) | (If requested) Masternode payment vote message
| **4. Governance** | | | See [Governance sync](#governance) |
##### Ongoing Sync
{% include helpers/subhead-links.md %}
Once a masternode completes an initial full sync, continuing synchronization is
maintained by the exchange of P2P messages with other nodes. This diagram shows
an overview of the messages exchanged to keep the masternode list, masternode
payments, and governance objects synchronized between masternodes.
![Masternode Sync (Ongoing)](/img/dev/en-masternode-sync-ongoing.svg)
**Recurring Ping**
![Warning icon](/img/icons/icon_warning.svg) NOTE: Deprecated following
activation of DIP3.
Each masternode issues a ping (`mnp` message) periodically to notify the network
that it is still online. Masternodes that do not issue a ping for 3 hours will
be put into the `MASTERNODE_NEW_START_REQUIRED` state and will need to issue a
masternode announce (`mnb` message).
**Masternode List**
![Warning icon](/img/icons/icon_warning.svg) NOTE: Deprecated following
activation of DIP3.
After the initial masternode list has been received, it is kept current by a
combination of the periodic `mnp` messages received from other masternodes,
the `mnb` messages sent by masternodes as they come online, and `mnv` messages
to verify that other masternodes are valid.
Also, `dseg` messages can be sent to request masternode info when messages are
received that have been signed by an unrecognized masternode (most masternode/governance
messages include a `vin` value that can be used to verify the masternode's
unspent 1000 Dash).
Unsynchronized peers may send a `dseg` message to request the entire masternode list.
**Masternode Payment**
![Warning icon](/img/icons/icon_warning.svg) NOTE: Deprecated following
activation of DIP3.
After the initial masternode payment synchronization, payment information is
kept current via the `mnw` messages relayed on the network. Unsynchronized peers
may send a `mnget` message to request masternode payment sync.
##### Sync Schedule
{% include helpers/subhead-links.md %}
Prior to the deterministic masternode system introduced by DIP3 in Dash Core 0.13,
the following additional sync actions were also required.
| **Period (seconds)** | **Action** | **Description** |
| 1 | MN Check | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Check the state of each masternode that is still funded and not banned. The action occurs once per second, but individual masternodes are only checked at most every 5 seconds (only a subset of masternodes are checked each time it runs) (masternodeman.cpp) |
| 60 | MN Check/Remove | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Remove spent masternodes and check the state of inactive ones (masternodeman.cpp) |
| 60 | MN Payment Check/Remove | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Remove old masternode payment votes/blocks (masternode-payments.cpp) |
| 300 | Full verification | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Verify masternodes via direct requests (`mnv` messages - note time constraints in the Developer Reference section) (masternodeman.cpp) |
| 600 | Manage State | ![Warning icon](/img/icons/icon_warning.svg) _Deprecated following activation of DIP3 and Spork 15_<br><br>Sends masternode pings (`mnp` message). Also sends initial masternode broadcast (`mnb` message) for local masternodes. (activemasternode.cpp) |
{% endautocrossref %} {% endautocrossref %}

View file

@ -587,60 +587,52 @@ information. If a peer gets a banscore above the `-banscore=<n>` threshold
| Type | Misbehavior | Ban Score | Description | | Type | Misbehavior | Ban Score | Description |
| ---- | ----------- | --------- | ----------- | | ---- | ----------- | --------- | ----------- |
| Net | GetBlockTxn Index Error | **100** | Peer relayed a `getblocktxn` message with out-of-bound indices
| Net | Bloom Filter Service | **100** | Bloom filter message received from peer that has bloom filter commands disabled by default (protocol version > 70201) (`filterload` message, `filteradd` message, or `filterclear` message) | Net | Bloom Filter Service | **100** | Bloom filter message received from peer that has bloom filter commands disabled by default (protocol version > 70201) (`filterload` message, `filteradd` message, or `filterclear` message)
| Net | Block Rejected | 1 | Peer rejected the block it requested from us
| Net | Duplicate Version | 1 | Duplicate `version` message received | Net | Duplicate Version | 1 | Duplicate `version` message received
| Net | Wrong Devnet | **100** | Peer responded with the wrong devnet version (`version` message)
| Net | Wrong Devnet | 1 | Peer connected using the wrong devnet version (`version` message)
| Net | No Version | 1 | Received a message prior to receiving a `version` message | Net | No Version | 1 | Received a message prior to receiving a `version` message
| Net | No Verack | 1 | After sending `version` message, received a message other than a `verack` message back first
| Net | Address List Size | 20 | More than 1000 addresses received (`addr` message) | Net | Address List Size | 20 | More than 1000 addresses received (`addr` message)
| Net | Inventory List | 20 | More than 50000 inventories received (`inv` message) | Net | Inventory List | 20 | More than `MAX_INV_SZ` (50000) inventories received (`inv` message)
| Net | Get Data Size | 20 | More than 50000 inventories requested (`getdata` message) | Net | Get Data Size | 20 | More than `MAX_INV_SZ` (50000) inventories requested (`getdata` message)
| Net | Orphan Transaction | **Varies** | Peer relayed an invalid orphan transaction. Ban score varies from 0-100 based on the specific reason (values set by `AcceptToMemoryPoolWorker()`) | Net | Orphan Transaction | **Varies** | Peer relayed an invalid orphan transaction. Ban score varies from 0-100 based on the specific reason (values set by `AcceptToMemoryPoolWorker()`)
| Net | Bad Transaction | **Varies** | Transaction rejected from the mempool | Net | Bad Transaction | **Varies** | Transaction rejected from the mempool
| Net | Header List Size | 20 | More than 2000 headers received (`headers` message) | Net | Invalid Header | **Varies** | Invalid block header received from peer (`cmpctblock` message)
| Net | Invalid CompactBlock | **100** | Invalid compact block /non-matching block transactions received from peer (`cmpctblock` message)
| Net | Header List Size | 20 | More than `MAX_HEADERS_RESULTS` (2000) headers received (`headers` message)
| Net | Header List Sequence | 20 | Non-continous headers sequence received (`headers` message) | Net | Header List Sequence | 20 | Non-continous headers sequence received (`headers` message)
| Net | Invalid Block | Varies | Invalid block header received from peer | Net | Invalid Block | **Varies** | Invalid block header received from peer
| Net | Invalid/Expired Alert | 10 | Invalid or expired alert received (`alert` message)
| Net | Bloom Filter Size | **100** | Maximum script element size (520) exceeded (`filterload` message or `filteradd` message) | Net | Bloom Filter Size | **100** | Maximum script element size (520) exceeded (`filterload` message or `filteradd` message)
| Masternode Manager | Invalid Broadcast | **Varies** | Timestamp in past (1), public key issue (**100**), signature issue (**100**), or collateral doesn't match vin (33) (`mnb` message) | Net | MN List Diff | 1 | Failed to get masternode list diff (`getmnlistd` message)
| Masternode Manager | Invalid Ping | **Varies** | Signature too far in future (1), bad ping signature (33) | Net | Unrequested MN List Diff | **100** | Peer provided an unrequested masternode list diff (`mnlistdiff` message)
| Masternode Manager | List Sync | 34 | Requesting a sync of the entire masternode list too frequently (`dseg` message) | InstantSend | Invalid Lock Message | **100** | Invalid TXID or inputs in lock message (`islock` message)
| Masternode Manager | Verify | 20 | Peer requested a verification too recently (`mnv` message) | InstantSend | Verify Error | 20 | Peer relayed a message that failed to verify
| Masternode Manager | Unrequested Verify | 20 | Peer provided unrequested verification (`mnv` message) | LLMQ ChainLock | Invalid | 10 | Invalid ChainLock message (`clsig` message)
| Masternode Manager | Verify Nonce | 20 | Masternode verification contains the wrong nonce (`mnv` message) | LLMQ Commitment | Null QcTx | **100** | Peer relayed a block with a null commitment
| Masternode Manager | Verify Block Height| 20 | Masternode verification contains the wrong block height (`mnv` message) | LLMQ Commitment | Invalid LLMQ Type | **100** | Peer relayed a block containing an invalid LLMQ Type
| Masternode Manager | Duplicate Verify | 20 | Peer provided a duplicate verification (`mnv` message) | LLMQ Commitment | Invalid Height | **100** | Peer relayed a block that is not the first block in the DKG interval
| Masternode Manager | Invalid Masternode | 20 | No masternode found for the provided address (`mnv` message) | LLMQ Commitment | Invalid Commitment | **100** | Peer relayed a block with an invalid quorum commitment
| Masternode Manager | Invalid Verify | **100** | Masternode "verified" itself (`mnv` message) | LLMQ DKG | Empty Message | **100** | Peer relayed a message with no payload
| LLMQ DKG | Invalid LLMQ Type | **100** | Peer relayed a message for an incorrect LLMQ Type
| LLMQ DKG | Invalid Message | **100** | Peer relayed a message that could not be deserialized
| LLMQ DKG | Preverify Failed | **100** | Peer relayed a message that could not be pre-verified
| LLMQ DKG | Signature<!--noref--> | **100** | Peer relayed a message with an invalid signature
| LLMQ DKG | Full Verify Failed | **100** | Peer relayed a message that failed full verification
| LLMQ Signing | Too Many Messages | **100** | Maximum message count exceed in `qsigsesann` message, `qsigsinv` message, `qgetsigs` message, or `qbsigs` message
| LLMQ Signing | Signature<!--noref--> | **100** | Peer relayed a message with an invalid recovered signature or signature share
| Masternode Authentication | Duplicate Message | **100** | Only 1 message allowed (`mnauth` message)
| Masternode Authentication | Signature<!--noref--> | **100** | Peer relayed a message with an invalid signature (`mnauth` message)
| Masternode Authentication | Invalid MN | 10 | Peer not in the valid masternode list (`mnauth` message)
| Governance | Sync | 20 | Requesting a governance sync too frequently (`govsync` message with empty hash) | Governance | Sync | 20 | Requesting a governance sync too frequently (`govsync` message with empty hash)
| Governance | Invalid Object | 20 | Peer relayed an invalid governance object (`govobj` message) | Governance | Invalid Object | 20 | Peer relayed an invalid governance object (`govobj` message)
| Governance | Invalid Vote | 20 | Peer relayed an invalid/invalid old vote(`govobjvote` message) | Governance | Invalid Vote | 20 | Peer relayed an invalid/invalid old vote(`govobjvote` message)
| Governance | Unsupported Vote Signal | 20 | Vote signal outside the accepted range (see `govobjvote` message) | Governance | Unsupported Vote Signal | 20 | Vote signal outside the accepted range (see `govobjvote` message)
| Masternode Payment | Sync | 20 | Requesting a masternode payment sync too frequently (`mnget` message) | PrivateSend | Signature<!--noref--> | 10 | Peer relayed a message with an invalid signature (`dsq` message)
| Masternode Payment | Vote Signature<!--noref--> | 20 | Invalid signature on payment vote (`mnw` message) | Spork | Invalid Time | **100** | Peer relayed a spork with a timestamp too far in the future (`spork` message)
| Masternode Payment | Non-quorum Vote | 20 | Payment vote from masternode not in the quorum. Rule activates with DIP1 (`mnw` message)
| Spork | Signature<!--noref--> | **100** | Peer relayed a spork with an invalid signature (`spork` message) | Spork | Signature<!--noref--> | **100** | Peer relayed a spork with an invalid signature (`spork` message)
{% endautocrossref %}
### Alerts
{% include helpers/subhead-links.md %}
{% autocrossref %}
*Removed in Bitcoin Core 0.13.0. Retained in Dash Core (see [PR1326](https://github.com/dashpay/dash/pull/1326)).*
In case of a bug or attack, the Dash Core developers can issue an alert via the
Dash network. Alerts will be displayed by the Dash Core UI. Users can also
check the error field of the `getinfo` RPC results to get currently active
alerts for their specific version of Dash Core or use the `-alertnotify` command
line parameter to specify a custom command to execute when an alert is received.
These messages are aggressively broadcast using the `alert` message, being sent
to each peer upon connect for the duration of the alert. These messages are
signed by a specific ECDSA private key that only a small number of developers
control.
**Resource:** More details about the structure of `alert` messages and a
complete list of message types can be found in the [P2P reference section][section P2P reference].
{% endautocrossref %} {% endautocrossref %}

View file

@ -456,6 +456,29 @@ number of data pushes, provided the total byte limit is not exceeded.
There must still only be a single null data output and it must still pay There must still only be a single null data output and it must still pay
exactly 0 duffs. exactly 0 duffs.
**Note:** Since the null data output must include opcodes, the limit for data
is less than 83 bytes. A typical OP_RETURN is limited to 80 bytes
due to the following 3 required bytes:
* OP_RETURN (0x6a)
* OP_PUSHDATA1 (0x4c)
* Data Size (e.g. 0x50 for 80 bytes)
The following annotated hexdump shows an example OP_RETURN output:
{% highlight bash %}
6a ......................................... OP_RETURN Opcode
4c ......................................... OP_PUSHDATA1 Opcode
50 ......................................... Bytes to push: 80
48656c6c6f2066726f6d207468657068657a203
a2d29205468697320697320746865206d617869
6d756d2074657874206c656e67746820616c6c6
f77656420666f7220616e204f505f5245545552
4e2e ....................................... Data
{% endhighlight %}
The `-datacarriersize` Dash Core configuration option allows you to The `-datacarriersize` Dash Core configuration option allows you to
set the maximum number of bytes in null data outputs that you will relay set the maximum number of bytes in null data outputs that you will relay
or mine. or mine.
@ -648,18 +671,12 @@ Dash miner, as explained in the [block chain section][section block chain], and
so it is ultimately up to each miner to choose the minimum transaction fee they so it is ultimately up to each miner to choose the minimum transaction fee they
will accept. will accept.
There is also a concept of so-called "[high-priority transactions][/en/glossary/high-priority-transaction]{:#term-high-priority-transactions}{:.term}" All transactions are prioritized based on their fee per byte, with higher-paying
which spend duffs that have not moved for a long time. transactions being added in sequence until all of the available space is filled.
These "priority" transaction can be often exempt from the normal fee
requirements. As of Dash Core 0.12.2, 10 KB of each block are reserved for these
high-priority transactions. After the priority area, all transactions are
prioritized based on their fee per byte, with higher-paying transactions being
added in sequence until all of the available space is filled.
<!-- Consider adding links to blockmaxsize and blockmaxweight options once available in the glossary. --> <!-- Consider adding links to blockmaxsize and blockmaxweight options once available in the glossary. -->
As of Dash Core 0.12.2.x, a [minimum fee][/en/glossary/minimum-relay-fee]{:#term-minimum-fee}{:.term}(1,000 duffs following [DIP1][] activation) is required to As of Dash Core 0.12.2.x, a [minimum fee][/en/glossary/minimum-relay-fee]{:#term-minimum-fee}{:.term} (1,000 duffs following [DIP1][] activation) is required to
broadcast a non-priority transaction across the network. Any transaction paying broadcast a transaction across the network. Any transaction paying
only the minimum fee should be prepared to wait a long time before there's only the minimum fee should be prepared to wait a long time before there's
enough spare space in a block to include it. enough spare space in a block to include it.
@ -727,7 +744,7 @@ So, for both privacy and security, we encourage you to build your
applications to avoid public key reuse and, when possible, to discourage applications to avoid public key reuse and, when possible, to discourage
users from reusing addresses. If your application needs to provide a users from reusing addresses. If your application needs to provide a
fixed URI to which payments should be sent, please use `dash:` URIs as defined fixed URI to which payments should be sent, please use `dash:` URIs as defined
by [BIP21](https://github.com/QuantumExplorer/bips/blob/master/bip-0021.mediawiki#general-format). by [BIP21](https://github.com/dashevo/bips/blob/master/bip-0021.mediawiki#general-format).
{% endautocrossref %} {% endautocrossref %}
@ -756,6 +773,14 @@ be added to the block chain immediately. But it does become a problem
when the output from a transaction is spent before that transaction is when the output from a transaction is spent before that transaction is
added to the block chain. added to the block chain.
Dash Core 12.3 implemented [BIP-147: Dealing with dummy stack element malleability](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki)
which fixes a design flaw in OP_CHECKMULTISIG and OP_CHECKMULTISIGVERIFY that
caused them to consume an extra stack element ("dummy element") after signature
validation. Previously, the dummy element was not inspected in any manner, and could be
replaced by any value without invalidating the script. BIP147 removed this
malleability vector by forcing the dummy element to be an empty byte array and
rejecting anything else.
<!-- Not applicable to Dash <!-- Not applicable to Dash
Bitcoin developers have been working to reduce transaction malleability Bitcoin developers have been working to reduce transaction malleability
among standard transaction types, one outcome of those efforts is among standard transaction types, one outcome of those efforts is
@ -786,4 +811,8 @@ in a way that invalidates the lost transaction. One method which will
always work is to ensure the reissued payment spends all of the same always work is to ensure the reissued payment spends all of the same
outputs that the lost transaction used as inputs. outputs that the lost transaction used as inputs.
For additional information regarding the types transaction malleability,
reference [this blog post](https://blog.dash.org/segwit-lighting-rbf<!--noref-->-in-dash-9536868ca861)
by one of the Dash Core developers.
{% endautocrossref %} {% endautocrossref %}

View file

@ -48,7 +48,7 @@ column indicates if any changes were made.
<!-- no subhead-links here --> <!-- no subhead-links here -->
Dash-specific BIP information derived from Dash developer Dash-specific BIP information derived from Dash developer
[QuantumExplorer's BIP repository](https://github.com/QuantumExplorer/bips/blob/master/README.mediawiki). [Dash's BIP repository](https://github.com/dashevo/bips/blob/master/README.mediawiki).
{% include layout/base/bip-table.html %} {% include layout/base/bip-table.html %}

Some files were not shown because too many files have changed in this diff Show more