Commit Graph

341 Commits

Author SHA1 Message Date
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
Wladimir J. van der Laan
d48e7a9734
Merge pull request #4270
1411a51 doc: Update hash in release process for new windows deps intermediate (Wladimir J. van der Laan)
386e732 gitian: make linux qt intermediate deterministic (Wladimir J. van der Laan)
2014-06-04 21:12:51 +02:00
Giuseppe Mazzotta
a98b8707dc Some documentation fixes + link to my Docker/LXC guide
I added a link to my guide about using docker containers + LXC (I am planning to maintain this at work
for future bitcoin versions), then I mentioned other virtualization options (KVM, LXC).
This commit includes a fix issue for documentation issue #4269 that consists in telling users to
checkout correct bitcoin version before using the gitian descriptors (otherwise all hell can break loose).
Also, I replaced URL for Debian 7.4 ISO with a correct one and added link to official Debian ISO sources.
2014-06-03 15:38:05 +02:00
Wladimir J. van der Laan
1411a51fef doc: Update hash in release process for new windows deps intermediate
This was forgotten in 25d4911.
2014-06-02 11:01:02 +02:00
Wladimir J. van der Laan
386e732a5f gitian: make linux qt intermediate deterministic
A qt installation date snuck into the host utils (lrelease etc)
This doesn't affect the end product, so no dependency version bump.

It also doesn't explain why gavin's and mine build is different
2014-06-02 09:46:59 +02:00
Wladimir J. van der Laan
5c9078a0de
Merge pull request #4229
2869b13 release: Bump the OSX SDK to 10.7 for gitian builds (Cory Fields)
2014-05-29 15:55:22 +02:00
Wladimir J. van der Laan
cd19892d98
Merge pull request #4195
f701da8 Doc: Always use absolute paths (Kosta Zertsekel)
2014-05-28 10:15:06 +02:00
Cory Fields
2869b1349b release: Bump the OSX SDK to 10.7 for gitian builds
This fixes the display on Retina Macbooks. It also moves us away from depending
on the ancient XCode3 sdk.
2014-05-24 11:47:08 -04:00
Wladimir J. van der Laan
e832f5e39b
doc: Add historical release notes for 0.9.1 2014-05-23 20:36:10 +02:00
Cory Fields
1a97b22b9c
gitian: Add OSX build descriptors
Github-Pull: #4185
Rebased-By: Wladimir J. van der Laan
Rebased-From: bb5da27, 2288206, 7fe8fe6, f76db78, ebcf375, fa1ed7c, 397e9b8
2014-05-21 11:20:52 +02:00
Kosta Zertsekel
f701da8f70 Doc: Always use absolute paths 2014-05-21 10:54:10 +03:00
Wladimir J. van der Laan
4ff396e45d
doc: remove specific mention of boost 1.55
There is no need to use any specific version of boost on Linux/Unix.
Even 1.37 should still work.

Also the mention of boost-dev doesn't belong after adding oldstable.
Remove it. libboost-all-dev is already mentioned earlier.
2014-05-04 09:46:08 +02:00
Wladimir J. van der Laan
3e578aa9b9
Merge pull request #4114
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
2014-05-02 18:14:39 +02:00
Wladimir J. van der Laan
583df73acd
Merge pull request #4110
3a54ad9 Full translation update (Wladimir J. van der Laan)
9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
2014-05-02 11:50:59 +02:00
Wladimir J. van der Laan
b397248436
Merge pull request #4094
202c95c devtools: have symbol check script check for exported symbols (Wladimir J. van der Laan)
92e3022 gitian: don't export any symbols from executable (Wladimir J. van der Laan)
3ab1664 gitian: build against Qt 4.6 (Wladimir J. van der Laan)
2014-05-02 11:49:53 +02:00
Wladimir J. van der Laan
18da57825e
Merge pull request #4116
188674d Wording (richierichrawr)
2014-05-02 11:44:59 +02:00
richierichrawr
188674de98 Wording
Cleaned up wording and spacing for readability.
2014-05-01 20:03:30 -04:00
Wladimir J. van der Laan
e27c4110d9 Remove build-time no-IPv6 setting
The year is 2014. All supported operating systems have IPv6 support,
most certainly at build time (this doesn't mean that IPv6 is configured,
of course).

If noone is exercising the functionality to disable it, that means it
doesn't get tested, and IMO it's better to get rid of it.

(it's also not used consistently in RPC/boost and Net code...)
2014-05-01 12:15:36 +02:00
Wladimir J. van der Laan
9dd5d79244 devtools: add a script to fetch and postprocess translations
Run this script from the root of the repository to update all translations from transifex.
It will do the following automatically:

- create a transifex configuration file
- fetch all translations
- post-process them into valid and committable format
2014-05-01 10:16:06 +02:00
Wladimir J. van der Laan
58c01a376d qt: add transifex configuration file
This is a project-wide configuration file and should be the same for
everyone.
Also remove mention of creating it yourself from the translation process.
2014-05-01 10:16:05 +02:00
Wladimir J. van der Laan
bfb154e9fc Update build instructions for Berkeley DB
- People were having problems with the .so when installing in
  alternative locations.
  Like gitian, build a static library with -fPIC that can
  be embedded into the executables.

- Add some missing steps

- Add reminder that BerkeleyDB is only needed when wallet support is
  enabled
2014-05-01 09:59:23 +02:00
Wladimir J. van der Laan
3ab1664594 gitian: build against Qt 4.6
Should make it possible to run the resulting GUI executable on
Linux distributions that use Qt 4.6, such as Debian Wheezy and Tails.

Builds a mini-SDK for building against Qt 4.6. This includes the headers
as well as host utilities such as `lrelease`, `qrc` and `moc`.

This speeds up the gitian build a bit - libqt4-dev pulled in a lot of packages,
and is no longer needed as this provides a replacement of our own.

Note: This does not replace the Qt build with at static library. After this
commit we still build dynamically against the system Qt library. The only
difference is that compatibility with an older version is maintained. This
loses minor GUI functionality (such as setPlaceholderText) but still
allows integration into the window management of the host OS, unlike
when statically linking.
2014-04-30 15:30:39 +02:00
Altoidnerd
61d388d98d Pointed to location of BDB 4.8 in procedure for unix build. 2014-04-16 17:10:27 +02:00
Wladimir J. van der Laan
5a79c65323
Update doc/gitian-building.md for new gitian
The patch to make it possible to configure the LXC IPs has been merged
upstream. This means that it is no longer needed to patch gitian.
Remove that workaround.
2014-04-16 16:57:45 +02:00
Warren Togami
3d20cd5f61 VERSION obtained from source instead of the previous git tag.
Drawback: The version string is no longer a valid git identifier.
          For this reason the 'g' short hash prefix has been removed.

Exception: When building directly from a tag this behaves exactly like the previous behavior.
           This allows formatting release versions with precision     i.e. v0.9.2
           This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
2014-04-15 21:48:44 -10:00
Wladimir J. van der Laan
76db4e235d
Merge pull request #3747
b698417 Added Blockchain Bootstraping Tutorial (super3)
2014-04-12 11:18:32 +02:00
super3
b698417fc8 Added Blockchain Bootstraping Tutorial
Per @laanwj request in #3724

Fixing Checkpoints Comment

Fixed Image Paths

Removed requirement.

Update Torrent Links.

Update Links 2

Link would not work.

2 Small Fixes

Changed in to from

@laanwj suggestion on safety
2014-04-12 02:33:58 -04:00
Wladimir J. van der Laan
9c749d608f
Merge pull request #4009
7328898 Added instructions for when wrong openssl detected after brew link (olalonde)
2014-04-11 15:11:26 +02:00
Wladimir J. van der Laan
f406af3573
Merge pull request #4016
8414cb0 Doxygen-compatible comments in coding style (Wladimir J. van der Laan)
2014-04-11 09:16:24 +02:00
Wladimir J. van der Laan
219b512d72 doc: update expected intermediate dependency hashes
Also move them to release-process.md from gitian-building.md for more
visibility.
2014-04-09 15:40:29 +02:00
Wladimir J. van der Laan
25d4911e86 gitian: upgrade miniupnpc input to 1.9
Bumps deps-linux, deps-win dependency versions as well.

qt-win does not need to be bumped, as although it depends on deps-win,
Qt doesn't use miniupnp. I verified this by rebuilding the dependency
and checking the the output is the same. Not having to rebuild Qt is a
good thing as it is huge.
2014-04-09 14:24:17 +02:00
Wladimir J. van der Laan
f3f2cb736d doc: remove versions from build-unix.md, just refer to release-process.md
No one bothers to keep this up to date.
Better to refer to another file than give wrong information.
2014-04-09 12:49:49 +02:00
Wladimir J. van der Laan
fa2b42533a
Merge pull request #4023
4a811b0 gitian: upgrade openssl to 1.0.1g for both win and linux (Wladimir J. van der Laan)
2014-04-08 10:56:01 +02:00
Wladimir J. van der Laan
4a811b0053
gitian: upgrade openssl to 1.0.1g for both win and linux
OpenSSL 1.0.1g fixes CVE-2014-0160.

Also bump dependency versions.
2014-04-08 08:40:02 +02:00
Michael Ford
633bb8b0ae Fixes the broken image in the Gitian Build Guide 2014-04-08 12:01:27 +08:00
Wladimir J. van der Laan
8414cb0494 Doxygen-compatible comments in coding style 2014-04-07 08:43:27 +02:00
olalonde
73288982ad Added instructions for when wrong openssl detected after brew link 2014-04-06 11:27:18 +08:00
Wladimir J. van der Laan
2c47a00b5f Add gitian build guide
Work in progress...
2014-04-02 21:59:45 +02:00
Wladimir J. van der Laan
4babd08137 doc: Add note about memory reqs for compilation 2014-03-31 06:02:35 +02:00
Luke Dashjr
3cb1edbfb6 Update moved and dead links 2014-03-24 20:26:02 +00:00
Wladimir J. van der Laan
6039196b57
doc: version bump Doxyfile
- bump version to 0.9.99
- exclude leveldb and json
- include call and caller graphs in the documentation.
2014-03-21 14:46:00 +01:00
Mikael Wikman
7211bceb11 Consistent use of 'sudo' in unix build doc 2014-03-19 21:33:13 +01:00
Gavin Andresen
98f4c6c49c 0.9.0 release notes 2014-03-19 11:18:54 -04:00
Jeff Garzik
7d0e9bcb8e doc/README.md: remove 'rc' label for 0.9.0 version, in title 2014-03-19 10:51:57 -04:00
Thomas Zander
6603b09e77 Update docs about boost on unix 2014-03-14 13:21:23 +01:00
Gavin Andresen
1725e6a01f Merge pull request #3808 from paveljanik/master
DOC: Update the list of threads to the current state.
2014-03-12 11:09:08 -04:00
Torstein Husebø
a75cacdac4 doc/build-unix.md use github flavored md for table 2014-03-10 13:38:20 +01:00
Wladimir J. van der Laan
0ad72bf1a0
Merge pull request #3773
947e23d Fix typo in doc/build-unix.md regarding building without UPnP (Rune K. Svendsen)
2014-03-10 09:34:08 +01:00
paveljanik
25ef6ace70 Update the list of threads to the current state. 2014-03-05 21:23:39 +01:00
Wladimir J. van der Laan
aefbf6e30c
doc: Empty release notes for next release
Now that 0.9 is branched off, the new release notes for 0.10 or 0.11 or
1.0 should be added here.

Edits to preliminary 0.9.0 release notes should be made in the 0.9.0 branch.
2014-03-03 09:45:36 +01:00