zcashd/doc
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.
2014-06-06 10:44:57 -04:00
..
gitian-building Add gitian build guide 2014-04-02 21:59:45 +02:00
img Added Blockchain Bootstraping Tutorial 2014-04-12 02:33:58 -04:00
release-notes doc: Add historical release notes for 0.9.1 2014-05-23 20:36:10 +02:00
Doxyfile doc: version bump Doxyfile 2014-03-21 14:46:00 +01:00
README.md VERSION obtained from source instead of the previous git tag. 2014-04-15 21:48:44 -10:00
README_osx.txt release: Bump the OSX SDK to 10.7 for gitian builds 2014-05-24 11:47:08 -04:00
README_windows.txt VERSION obtained from source instead of the previous git tag. 2014-04-15 21:48:44 -10:00
assets-attribution.md Update moved and dead links 2014-03-24 20:26:02 +00:00
bitcoin_logo_doxygen.png Lossless image optimization 2013-12-02 10:10:22 +01:00
bootstrap.md Wording 2014-05-01 20:03:30 -04:00
build-msw.md doc: replace DOS with MSYS shell to be more consistent 2013-11-11 13:47:19 +01:00
build-osx.md Added instructions for when wrong openssl detected after brew link 2014-04-06 11:27:18 +08:00
build-unix.md Doc: Always use absolute paths 2014-05-21 10:54:10 +03:00
coding.md Doxygen-compatible comments in coding style 2014-04-07 08:43:27 +02:00
files.md Markdown Cleanup - Part 2 2013-06-16 06:29:23 -04:00
gitian-building.md Some documentation fixes + link to my Docker/LXC guide 2014-06-03 15:38:05 +02:00
multiwallet-qt.md qt: remove awkward way of setting GUI pages 2013-10-19 17:51:26 +02:00
release-notes.md estimatefee / estimatepriority RPC methods 2014-06-06 10:44:57 -04:00
release-process.md doc: Update hash in release process for new windows deps intermediate 2014-06-02 11:01:02 +02:00
tor.md Typo fix: `anonimized => anonymized` + `infromation => information` 2014-02-05 21:34:44 +11:00
translation_process.md devtools: add a script to fetch and postprocess translations 2014-05-01 10:16:06 +02:00
unit-tests.md Fix typo in unit-tests.md 2013-12-16 12:38:11 -08:00

README.md

Bitcoin 0.9.99 BETA

Copyright (c) 2009-2014 Bitcoin Developers

Setup

Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more. Thankfully you only have to do this once. If you would like the process to go faster you can download the blockchain directly.

Running

The following are some helpful notes on how to run Bitcoin on your native platform.

Unix

You need the Qt4 run-time libraries to run Bitcoin-Qt. On Debian or Ubuntu:

sudo apt-get install libqtgui4

Unpack the files into a directory and run:

  • bin/32/bitcoin-qt (GUI, 32-bit) or bin/32/bitcoind (headless, 32-bit)
  • bin/64/bitcoin-qt (GUI, 64-bit) or bin/64/bitcoind (headless, 64-bit)

Windows

Unpack the files into a directory, and then run bitcoin-qt.exe.

OSX

Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt.

Need Help?

Building

The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.

Development

The Bitcoin repo's root README contains relevant information on the development process and automated testing.

Resources

Miscellaneous

License

Distributed under the MIT/X11 software license. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com), and UPnP software written by Thomas Bernard.