Commit Graph

365 Commits

Author SHA1 Message Date
Gavin Andresen b33d1f5ee5
Use fee/priority estimates in wallet CreateTransaction
The wallet now uses the mempool fee estimator with a new
command-line option: -txconfirmtarget (default: 1) instead
of using hard-coded fees or priorities.

A new bitcoind that hasn't seen enough transactions to estimate
will fall back to the old hard-coded minimum priority or
transaction fee.

-paytxfee option overrides -txconfirmtarget.

Relaying and mining code isn't changed.

For Qt, the coin control dialog now uses priority estimates to
label transaction priority (instead of hard-coded constants);
unspent outputs were consistently labeled with a much higher
priority than is justified by the free transactions actually
being accepted into blocks.

I did not implement any GUI for setting -txconfirmtarget; I would
suggest getting rid of the "Pay transaction fee" GUI and replace
it with either "target number of confirmations" or maybe
a "faster confirmation <--> lower fee" slider or select box.
2014-07-03 13:44:33 -04:00
Wladimir J. van der Laan 29264a0a60
Merge pull request #4455
3f7a61f Update Gitian Build guide to include OSX (Michael Ford)
2014-07-03 08:48:31 +02:00
Michael Ford 3f7a61fc09 Update Gitian Build guide to include OSX 2014-07-02 17:16:49 +08:00
Michael Ford 9d5ad718cf Fix formatting in release-process.md 2014-07-02 16:32:02 +08:00
Wladimir J. van der Laan c9600ce640
Merge pull request #4312
fda3fed libsecp256k1 integration (Pieter Wuille)
5566826 secp256k1: Add build-side changes for libsecp256k1 (Cory Fields)
b150b09 secp256k1: add libtool as a dependency (Cory Fields)
2014-07-02 09:23:05 +02:00
Wladimir J. van der Laan e442c82faa
Merge pull request #4449
462ad22 Clean up release-process.md after OS X gitian changes (Micha)
2014-07-02 09:09:47 +02:00
Micha 462ad223d6
Clean up release-process.md after OS X gitian changes
This is PR #4271, but with the changes to the descriptors, both the names of the
files and the names of the intermediate build artifact archives, removed.
This also closes #3775 if it goes in, because it covers the changes in
that PR.
2014-07-01 19:29:44 +03:00
Cory Fields b150b09edc secp256k1: add libtool as a dependency 2014-07-01 12:27:15 -04:00
Gavin Andresen 8ceb28afc3 Merge pull request #3883 from dgenr8/first_double_spend
Relay and alert user to double spends
2014-06-30 08:35:12 -04:00
Wladimir J. van der Laan 9125ef9421
Merge pull request #4398
86fe1b8 update coding.md to reflect changes by pull (Philip Kaufmann)
e10dcf2 ensure clean and consistent "namespace" usage (Philip Kaufmann)
2014-06-28 15:06:18 +02:00
Wladimir J. van der Laan 5bc77b2bb2
Merge pull request #4418
d618965 Add note about PPA to build instructions (Drak)
e5f0247 Simplify build instructions (Drak)
2014-06-28 15:04:25 +02:00
Drak d618965eb8 Add note about PPA to build instructions 2014-06-28 12:41:19 +01:00
Michael Ford 92ddf2c0dd Update OS X build instructions
Update OpenSSL version
Homebrew is now the preferred dependancy manager
2014-06-28 16:43:07 +08:00
Michael Ford 3f1ea918a8 doc: Add historical release notes for 0.9.2
Also includes 0.9.2.1
2014-06-28 14:38:37 +08:00
Tom Harding 7a19efe040 Formatting, spelling, comment fixes. 2014-06-27 16:47:33 -07:00
Tom Harding 9fa53dd3bd Add release notes entry 2014-06-27 08:07:14 -07:00
Drak e5f0247bb6 Simplify build instructions 2014-06-26 15:51:07 +01:00
Philip Kaufmann 86fe1b864b update coding.md to reflect changes by pull
- also mention alphabetical include ordering
2014-06-26 11:56:56 +02:00
Drak e9f2460c58 Add dependencies for Mac OSX gitian builds 2014-06-24 18:06:52 +01:00
Wladimir J. van der Laan 17db9767c4
doc: Remove unused section from release-process.md
It is outdated information. If we ever resurrect gitian-downloader it
can be brought back from history and updated.
2014-06-23 12:04:33 +02:00
Drak 040c2d3f57 Fix formatting 2014-06-21 21:57:50 +01:00
sandakersmann 16be392975 Update translation_process.md
Qt changed to Bitcoin Core
2014-06-08 17:37:53 +02:00
Wladimir J. van der Laan 474ce0a107
Merge pull request #4295
6e7c4d1 gitian: upgrade OpenSSL to 1.0.1h (Wladimir J. van der Laan)
2014-06-06 18:54:55 +02:00
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 6e7c4d17d8 gitian: upgrade OpenSSL to 1.0.1h
Upgrade for https://www.openssl.org/news/secadv_20140605.txt

Just in case - there is no vulnerability that affects ecdsa signing or
verification.

The MITM attack vulnerability (CVE-2014-0224) may have some effect on
our usage of SSL/TLS.

As long as payment requests are signed (which is the common case), usage
of the payment protocol should also not be affected.

The TLS usage in RPC may be at risk for MITM attacks. If you have
`-rpcssl` enabled, be sure to update OpenSSL as soon as possible.
2014-06-05 17:24:38 +02: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