Commit graph

5884 commits

Author SHA1 Message Date
Wladimir J. van der Laan 95d68c48d7
Merge pull request #3959
171ca77 estimatefee / estimatepriority RPC methods (Gavin Andresen)
0193fb8 Allow multiple regression tests to run at once (Gavin Andresen)
c6cb21d Type-safe CFeeRate class (Gavin Andresen)
2014-06-06 18:51:00 +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
Gavin Andresen 0193fb82a6 Allow multiple regression tests to run at once
Choose ports at startup based on PID, so multiple regression tests
can run on the same system at the same time.
2014-06-06 10:34:18 -04:00
Gavin Andresen c6cb21d17a Type-safe CFeeRate class
Use CFeeRate instead of an int64_t for quantities that are
fee-per-size.

Helps prevent unit-conversion mismatches between the wallet,
relaying, and mining code.
2014-06-06 10:34:18 -04:00
Wladimir J. van der Laan 345cb52e8b
Merge pull request #4297
b917555 qt: PeerTableModel: Fix potential deadlock. #4296 (Ashley Holman)
2014-06-06 10:13:48 +02:00
Ashley Holman b917555b04
qt: PeerTableModel: Fix potential deadlock. #4296 2014-06-06 16:59:15 +09:30
Wladimir J. van der Laan 71c0e80e7e
Merge pull request #4241
efe6888 build: fix version dependency (Cory Fields)
f4d8112 build: quit abusing AM_CPPFLAGS (Cory Fields)
56c157d build: avoid the use of top_ and abs_ dir paths (Cory Fields)
70c71c5 build: Tidy up file generation output (Cory Fields)
6b9f0d5 build: nuke Makefile.include from orbit (Cory Fields)
8b09ef7 build: add stub makefiles for easier subdir builds (Cory Fields)
be4e9ae build: delete old Makefile.am's (Cory Fields)
65e8ba4 build: Switch to non-recursive make (Cory Fields)
2014-06-06 08:04:20 +02:00
Cory Fields efe6888407 build: fix version dependency 2014-06-05 16:05:57 -04:00
Cory Fields f4d81129f0 build: quit abusing AM_CPPFLAGS
Now that the build is non-recursive, adding to AM_CPPFLAGS means adding to
_all_ cppflags.

Logical groups of includes have been added instead, and are used individually
by various targets.
2014-06-05 16:05:57 -04:00
Cory Fields 56c157d5e0 build: avoid the use of top_ and abs_ dir paths
Using them has the side effect of confusing the dependency-tracking logic.
2014-06-05 16:05:57 -04:00
Cory Fields 70c71c50ce build: Tidy up file generation output
- Some file generation was still noisy, silence it.
- AM_V_GEN is used rather than @ so that 'make V=1' works as intended
- Cut down on file copies and moves when using sed, use pipes instead
- Avoid the use of top_ and abs_ dirs where possible
2014-06-05 16:05:57 -04:00
Cory Fields 6b9f0d5554 build: nuke Makefile.include from orbit
Rules and targets no longer need to be shared between subdirectories, so
this is no longer needed.
2014-06-05 16:05:57 -04:00
Cory Fields 8b09ef7b63 build: add stub makefiles for easier subdir builds 2014-06-05 16:05:43 -04:00
Cory Fields be4e9aeb14 build: delete old Makefile.am's 2014-06-05 16:05:42 -04:00
Cory Fields 65e8ba4dbe build: Switch to non-recursive make
Build logic moves from individual Makefile.am's to include files, which
the main src/Makefile.am includes. This avoids having to manage a gigantic
single Makefile.

TODO: Move the rules from the old Makefile.include to where they actually
belong and nuke the old file.
2014-06-05 16:05:17 -04:00
Jeff Garzik 5795aaca26 Merge pull request #4294 from laanwj/2014_06_no_global_strwallet
Remove global strWalletFile
2014-06-05 09:09:50 -04:00
Wladimir J. van der Laan 7d4dda7630 Remove global strWalletFile
As it says on the tin. There is no need to have this variable be
global, it's only used in AppInit2.
2014-06-05 14:52:34 +02:00
Wladimir J. van der Laan a92aded70e
Fix GUI build with --disable-wallet
fe6bff2 and 65f78a1 broke it. Minor build changes.
2014-06-05 07:00:16 +02:00
Wladimir J. van der Laan d900ab9e66
Merge pull request #4291
fe6bff2 [Qt] add BerkeleyDB version info to RPCConsole (Philip Kaufmann)
2014-06-05 06:29:11 +02:00
Gavin Andresen 4fee61a905 Merge pull request #4287 from laanwj/2014_06_sideeffect
Remove side effect in assertion in ProcessGetData
2014-06-04 20:15:45 -04:00
Gavin Andresen de0cbd1078 Merge pull request #4289 from Diapolo/log_config_file
log used config file to debug.log on startup
2014-06-04 20:13:50 -04:00
Philip Kaufmann fe6bff2eae [Qt] add BerkeleyDB version info to RPCConsole
- to match info function between debug.log and RPCConsole
2014-06-04 22:00:59 +02:00
Philip Kaufmann 5bd02cf715 log used config file to debug.log on startup 2014-06-04 21:19:22 +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
Jeff Garzik b8ac6cdf53 Merge pull request #4282 from jgarzik/fix-wallet-init
CWallet: fix nTimeFirstKey init, by making constructor init common code
2014-06-04 15:00:58 -04:00
Jeff Garzik c79897af31 Merge pull request #4247 from Diapolo/listen
rename fNoListen to fListen and move to net
2014-06-04 15:00:38 -04:00
Wladimir J. van der Laan f0f4904bec
Merge pull request #4258
7b45d94 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) (shshshsh)
2014-06-04 19:30:44 +02:00
Wladimir J. van der Laan d24310d23a
Merge pull request #4260
aab2c0f Remove template matching params from GetOpName() (Huang Le)
2014-06-04 19:27:03 +02:00
Wladimir J. van der Laan 4a48a0671d
Remove side effect in assertion in ProcessGetData
A side-effect was introduced into an assertion in 7a0e84d. This commit
fixes that.
2014-06-04 16:02:04 +02:00
shshshsh 7b45d943b2 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) 2014-06-04 11:58:18 +00:00
Wladimir J. van der Laan 358a61ee06
Merge pull request #4223
06a91d9 VerifyDB progress (Cozz Lovan)
2014-06-04 09:14:51 +02:00
Jeff Garzik d04fd3e2af CWallet: fix nTimeFirstKey init, by making constructor init common code
Don't repeat yourself etc.
2014-06-03 12:55:33 -04:00
Wladimir J. van der Laan 06a4334a2f
Merge pull request #4279
a98b870 Some documentation fixes + link to my Docker/LXC guide (Giuseppe Mazzotta)
2014-06-03 16:33:26 +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 6a6d7892c4
Merge pull request #4280
bbe1925 [Qt] style police and small addition in rpcconsole (Philip Kaufmann)
2014-06-03 15:28:48 +02:00
Cozz Lovan 06a91d9698 VerifyDB progress 2014-06-03 15:21:47 +02:00
Philip Kaufmann bbe1925ce3 [Qt] style police and small addition in rpcconsole
- fix spaces, indentation and coding style glitches
2014-06-03 15:01:50 +02:00
Wladimir J. van der Laan 4c097f9669
Merge pull request #4225
65f78a1 Qt: Add GUI view of peer information. #4133 (Ashley Holman)
2014-06-03 11:13:51 +02:00
Ashley Holman 65f78a111f
Qt: Add GUI view of peer information. #4133 2014-06-03 17:37:34 +09:30
Wladimir J. van der Laan 522a8fa377
Merge pull request #4273
91855f2 Properly initialize CWallet::nTimeFirstKey (tm314159)
2014-06-03 08:54:21 +02:00
tm314159 91855f279d Properly initialize CWallet::nTimeFirstKey 2014-06-02 11:32:33 -07:00
Wladimir J. van der Laan 73b072252b
Merge pull request #3837
75ebced added many rpc wallet tests (Alon Muroch)
2014-06-02 18:00:37 +02:00
Wladimir J. van der Laan 52d7a54434
Merge pull request #3683
bdc83e8 [Qt] ensure payment request network matches client network (Philip Kaufmann)
2014-06-02 17:59:20 +02:00
Wladimir J. van der Laan 51615e1693
Merge pull request #4213
516053c Make links on 'About Bitcoin Core' into clickable (squashed 5 comits into one) (Tawanda Kembo)
2014-06-02 15:21:42 +02:00
Wladimir J. van der Laan be7d0adcdb
Merge pull request #4238
b90711c [Qt] Fix Transaction details shows wrong To: (Cozz Lovan)
2014-06-02 15:12:12 +02:00
Wladimir J. van der Laan 42d87749eb
Merge pull request #4261
09a54a6 Use pnode->nLastRecv as sync score directly (Huang Le)
2014-06-02 14:25:09 +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 ead1f65256
Merge pull request #4268
223a6f7 Fix stray uppercase A in tx_valid.json. (Andreas Schildbach)
2014-06-02 10:54:20 +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
Tawanda Kembo 516053c349 Make links on 'About Bitcoin Core' into clickable (squashed 5 comits into one)
Made the following links clickable:
http://www.opensource.org/licenses/mit-license.php
http://www.openssl.org/
eay@cryptsoft.com

(Squashed commits into one commit as suggested by @laanwj)

Replaced label with text browser on About Bitcoin Core Screen

So that the links on the About screen can be clickable

Replaced html property with text property

I have now removed unnecessary html so this should make life easier for
translators and you @Diapolo :). What do you think?

The size of the window needs to change

The size of the window needs to change when you make links clickable.
Thanks  for pointing that out @laanwj

Using the https://www.openssl.org over the http link

Using the https://www.openssl.org over the http link as suggested by
@Diapolo
2014-06-02 09:21:53 +02:00