Tree:
a60120e951
0.10
0.13
0.14
0.15
0.16
0.16.3-insta
0.8
add-dnsseed-keva-one
add-kex-keva-one-dns
cn
cn_merge
cn_mining
fix-qt-dpi-warning
idb-fix
inlude-qpainterpath
issue_19
jw-dev
keva-gui
kevaview
kvazar
main
master
mz_test
rx
update-boost-1-74
validate-key-value-lenght
views
wsl
zmq
0.16.6.0-rc1
0.8.3.7-cc
kvazar-1.0.0
kvazar-1.0.1
kvazar-1.1.0
kvazar-1.1.1
v0.1.5
v0.1.6test1
v0.10-mark12
v0.10.0
v0.10.0.2
v0.10.0rc1
v0.10.0rc2
v0.10.0rc3
v0.10.0rc4
v0.10.1
v0.10.1.1
v0.10.1.2
v0.10.1.2-osxsign3
v0.10.1.3
v0.10.1rc1
v0.10.1rc2
v0.10.1rc3
v0.10.2
v0.10.2.1
v0.10.2.2
v0.10.2rc1
v0.10.3.0rc1
v0.10.3rc1
v0.10.4.0
v0.10.4.0rc1
v0.13.2
v0.13.2.1
v0.13.2rc1
v0.13.2rc2
v0.13.2rc3
v0.13.3
v0.13.3rc1
v0.13.3rc2
v0.14.2
v0.14.2rc1
v0.14.2rc2
v0.15.0.1rc1
v0.15.1
v0.15.1rc1
v0.16.0
v0.16.0rc1
v0.16.2
v0.16.2rc1
v0.16.3
v0.16.3-rc1
v0.16.3-rc2
v0.16.3-rc3
v0.16.3-rc7
v0.16.3-rc8
v0.16.3.1
v0.16.4
v0.16.5
v0.16.5.1
v0.16.5.2
v0.16.5.3
v0.16.6.0
v0.16.7.0
v0.16.8.0
v0.2.0
v0.2.10
v0.2.11
v0.2.12
v0.2.13
v0.2.2
v0.2.4
v0.2.5
v0.2.6
v0.2.7
v0.2.8
v0.2.9
v0.2rc2
v0.3.0
v0.3.1
v0.3.10
v0.3.11_notexact
v0.3.12
v0.3.13
v0.3.14
v0.3.15
v0.3.17
v0.3.18
v0.3.19
v0.3.1rc1
v0.3.2
v0.3.20
v0.3.20.01_closest
v0.3.20.2_closest
v0.3.21
v0.3.21rc
v0.3.22
v0.3.22rc1
v0.3.22rc2
v0.3.22rc3
v0.3.22rc4
v0.3.22rc5
v0.3.22rc6
v0.3.23
v0.3.23rc1
v0.3.24
v0.3.24rc1
v0.3.24rc2
v0.3.24rc3
v0.3.3
v0.3.6
v0.3.7
v0.3.8
v0.3rc1
v0.3rc2
v0.3rc4
v0.4.0
v0.4.00rc1
v0.4.00rc2
v0.5.0
v0.5.0rc1
v0.5.0rc2
v0.5.0rc3
v0.5.0rc4
v0.5.0rc5
v0.5.0rc6
v0.5.0rc7
v0.5.1
v0.5.1rc1
v0.5.1rc2
v0.5.2
v0.5.3
v0.5.3rc4
v0.6.0
v0.6.0rc1
v0.6.0rc2
v0.6.0rc3
v0.6.0rc4
v0.6.0rc5
v0.6.0rc6
v0.6.1
v0.6.1rc1
v0.6.1rc2
v0.6.2
v0.6.2.1
v0.6.2.2
v0.6.3
v0.6.3a
v0.6.3b
v0.6.3c
v0.6.3rc1
v0.6.9
v0.6.9.1
v0.6.9.2
v0.7.0
v0.7.0rc1
v0.7.0rc2
v0.7.0rc3
v0.7.1
v0.7.1rc1
v0.7.2
v0.7.2rc2
v0.8.0
v0.8.0rc1
v0.8.1
v0.8.2
v0.8.2.3
v0.8.2rc1
v0.8.2rc2
v0.8.2rc3
v0.8.3
v0.8.3.1
v0.8.3.2
v0.8.3.3
v0.8.3.4
v0.8.3.5
v0.8.3.6
v0.8.3.7
v0.8.3.7-cc
v0.8.3.7-ccsec
v0.8.4
v0.8.4.1
v0.8.4.1-cc
v0.8.4.1-ccsec
v0.8.4.1-omg1
v0.8.4.1-sse2test
v0.8.4rc1
v0.8.4rc2
v0.8.5
v0.8.5-nodebloom
v0.8.5.1
v0.8.5.1-macosx
v0.8.5.1-omg1
v0.8.5.1-omg2
v0.8.5.1-omgscrypt
v0.8.5.2-rc1
v0.8.5.2-rc2
v0.8.5.2-rc3
v0.8.5.2-rc4
v0.8.5.2-rc4-detect
v0.8.5.2-rc5
v0.8.5.2-rc6
v0.8.5.2rc1
v0.8.5.3-rc1
v0.8.5.3-rc2
v0.8.5.3-rc3
v0.8.5.3-rc4
v0.8.5.3-rc4-no-mmap
v0.8.5.3-rc5
v0.8.5.3-rc6
v0.8.5.3-rc7
v0.8.5.3-rc8
v0.8.6.1
v0.8.6.2
v0.8.6.3-mark2
v0.8.6.9
v0.8.7.1
v0.8.7.2
v0.8.7.3
v0.8.7.4
v0.8.7.5
v0.9.0rc1
v0.9.0rc2
v0.9.2
v0.9.2.1
v0.9.2rc1
v0.9.2rc2
v0.9.3
v0.9.3-preview4
v0.9.3-preview5
v0.9.3rc1
v0.9.3rc2
v0.9.4
${ noResults }
2 Commits (a60120e951ae94d0553c5515229432e016fb0657)
Author | SHA1 | Message | Date |
---|---|---|---|
Gavin Andresen |
e8097f7df1
|
Refactor common RPC test code to BitcoinTestFramework base class
Inspired by #3956, with a little more flexibility built in. I didn't touch rpcbind_test.py, because it only runs on Linux. |
11 years ago |
Gavin Andresen | 171ca7745e |
estimatefee / estimatepriority RPC methods
New RPC methods: return an estimate of the fee (or priority) a transaction needs to be likely to confirm in a given number of blocks. Mike Hearn created the first version of this method for estimating fees. It works as follows: For transactions that took 1 to N (I picked N=25) blocks to confirm, keep N buckets with at most 100 entries in each recording the fees-per-kilobyte paid by those transactions. (separate buckets are kept for transactions that confirmed because they are high-priority) The buckets are filled as blocks are found, and are saved/restored in a new fee_estiamtes.dat file in the data directory. A few variations on Mike's initial scheme: To estimate the fee needed for a transaction to confirm in X buckets, all of the samples in all of the buckets are used and a median of all of the data is used to make the estimate. For example, imagine 25 buckets each containing the full 100 entries. Those 2,500 samples are sorted, and the estimate of the fee needed to confirm in the very next block is the 50'th-highest-fee-entry in that sorted list; the estimate of the fee needed to confirm in the next two blocks is the 150'th-highest-fee-entry, etc. That algorithm has the nice property that estimates of how much fee you need to pay to get confirmed in block N will always be greater than or equal to the estimate for block N+1. It would clearly be wrong to say "pay 11 uBTC and you'll get confirmed in 3 blocks, but pay 12 uBTC and it will take LONGER". A single block will not contribute more than 10 entries to any one bucket, so a single miner and a large block cannot overwhelm the estimates. |
11 years ago |