| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As it says on the tin. There is no need to have this variable be
global, it's only used in AppInit2.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | | |
rename fNoListen to fListen and move to net
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | | |
- better code readability and it belongs to net
- this is a prerequisite for a pull to add -listen to the GUI
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | | |
7b45d94 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) (shshshsh)
|
| | |/ /
| | |
| | |
| | | |
#4253)
|
| |/ / |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add -rpcbind command option to specify binding RPC service on one
or multiple specific interfaces.
Functionality if -rpcbind is not specified remains the same as before:
- If no -rpcallowip specified, bind on localhost
- If no -rpcbind specified, bind on any interface
Implements part of #3111.
|
| |\ \
| | |
| | |
| | | |
783b182 Remove dummy PRIszX macros for formatting (Wladimir J. van der Laan)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Size specifiers are no longer needed now that we use typesafe tinyformat
for string formatting, instead of the system's sprintf.
No functional changes.
This continues the work in #3735.
|
| |/ /
| |
| |
| |
| | |
Use line buffering (instead of block buffering) so that messages arrive
immediately in systemd-journald, tail -f debug.log, and the like.
|
| |\ \
| | |
| | |
| | |
| | | |
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prints the actual version of BerkeleyDB that is linked against, if
wallet support is enabled.
Useful for troubleshooting.
For example:
2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)
2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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...)
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- introduce DEFAULT_SCRIPTCHECK_THREADS in main.h
- only show values from -"MAX_HW_THREADS" up to 16 for -par, as it
makes no sense to try to leave more "cores free" than the system
supports anyway
- use the new constant in optionsdialog and remove defaults from
.ui file
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
9e2872c Adjust branding in datadir lock error message (Michagogo)
d30d379 Slightly tweak error when unable to bind port (Michagogo)
|
| | |/ |
|
| |/
|
|
|
| |
Now that the wallet can be selected using -wallet it is important
to log which wallet is being used for later troubleshooting.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amend to d5f1e72. It turns out that BerkelyDB was including inttypes.h
indirectly, so we cannot fix this with just macros.
Trivial commit: apply the following script to all .cpp and .h files:
# Middle
sed -i 's/"PRIx64"/x/g' "$1"
sed -i 's/"PRIu64"/u/g' "$1"
sed -i 's/"PRId64"/d/g' "$1"
# Initial
sed -i 's/PRIx64"/"x/g' "$1"
sed -i 's/PRIu64"/"u/g' "$1"
sed -i 's/PRId64"/"d/g' "$1"
# Trailing
sed -i 's/"PRIx64/x"/g' "$1"
sed -i 's/"PRIu64/u"/g' "$1"
sed -i 's/"PRId64/d"/g' "$1"
After this commit, `git grep` for PRI.64 should turn up nothing except
the defines in util.h.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As the tinyformat-based formatting system (introduced in b77dfdc) is
type-safe, no special format characters are needed to specify sizes.
Tinyformat can support (ignore) the C99 prefixes such as "ll" but
chokes on MSVC's inttypes.h defines prefixes such as "I64X". So don't
include inttypes.h and define our own for compatibility.
(an alternative would be to sweep the entire codebase using sed -i to
get rid of the size specifiers but this has less diff impact)
|
| |
|
|
| |
- adds nDefaultDbCache, nMaxDbCache and nMinDbCache in txdb.h
|
| | |
|
| |\
| |
| |
| | |
d54e819 Log warnings when bootstrap files are specified but cannot be opened (Wladimir J. van der Laan)
|
| | |
| |
| |
| |
| |
| |
| | |
- Log a warning when bootstrap files are specified using `-loadblock`
but cannot be opened.
- Log a warning when bootstrap.dat exists in the home directory
but cannot be opened.
|
| |\ \
| | |
| | |
| | | |
5770254 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does. (gubatron)
|
| | |/
| |
| |
| |
| |
| | |
in 2014.
contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
|
| | |
| |
| |
| |
| | |
This diagnostic tool removes all "tx" records from the wallet db,
then forces a full rescan, to rebuild "tx" records accurately.
|
| |/ |
|
| |\
| |
| |
| | |
df966d1 log parameter interactions to debug.log (Philip Kaufmann)
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the block processing logic from "try to atomically switch
to a new block" to a continuous "(dis)connect a block, aiming for the
assumed best chain".
This means the smallest atomic operations on the chainstate become
individual block connections or disconnections, instead of entire
reorganizations. It may mean that we try to reorganize to one block,
fail, and rereorganize again to the old block. This is slower, but
doesn't require unbounded RAM.
It also means that a ConnectBlock which fails may be no longer called
from the ProcessBlock which knows which node sent it. To deal with that,
a mapBlockSource is kept, and invalid blocks cause asynchronous "reject"
messages and banning (if necessary).
|
| |
|
|
|
|
|
| |
After the tinyformat switch sprintf() family functions support passing
actual std::string objects.
Remove unnecessary c_str calls (236 of them) in logging and formatting.
|
| |\
| |
| |
| | |
8b9adca Allow `-noserver` with bitcoind (Wladimir J. van der Laan)
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Allow running bitcoind without server.
- Default to -server mode (of course) for bitcoind with SoftSetBoolArg
- Remove fForceServer argument from AppInit2
- Move fDaemon to a static variable in bitcoind
|
| |\ \
| |/
|/|
| | |
1ad2636 qt: Prevent non-functional GUI from popping up during Init (Wladimir J. van der Laan)
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When a InitError or InitWarning happens, the
GUI pops up but is unusable (until Init finishes).
This is caused by showNormalIfMinimized. Add a message
flag to skip this call for Init errors or warnings.
|
| | | |
|
| |\ \
| | |
| | |
| | | |
9e9056c Remove -logtodebugger (Wladimir J. van der Laan)
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| | |
`-logtodebugger` is a strange, obscure, WIN32-only (mostly MSVC) thing.
Let's clean up the options a bit get rid of it.
test_bitcoin was using fLogToDebugger as a way to prevent logging to
debug.log. For this, add a boolean (not exposed as option) fLogToDebugLog that
defaults to true and is disabled in the tests.
|
| | |
| |
| |
| |
| | |
Moved includes of "db.h" into #ifdef ENABLE_WALLET blocks or remove
them.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
c3a7f51 Move `verifymessage` from rpcwallet to rpcmisc (Wladimir J. van der Laan)
723a03d Move `createmultisig` from rpcwallet to rpcmisc (Wladimir J. van der Laan)
452955f Move `validateaddress` from rpcwallet to rpcmisc (Wladimir J. van der Laan)
cd7fa8b Move `nTransactionFee` from main.cpp to wallet.cpp (Wladimir J. van der Laan)
a943bde Move `settxfee` from rpcblockchain to rpcwallet (Wladimir J. van der Laan)
16bc9aa Move `getinfo` from rpcnet to rpcmisc (Wladimir J. van der Laan)
652e156 add new RPC implementation file `rpcmisc.cpp` (Wladimir J. van der Laan)
|
| | |/
| |
| |
| |
| | |
Transaction fee is only used by the wallet.
No need for it to be in main.cpp.
|
| |\ \
| | |
| | |
| | | |
06eb2f2 Seperate out wallet options in help message (Wladimir J. van der Laan)
|
| | |/
| |
| |
| |
| |
| |
| | |
Seperate out the wallet options in HelpMessage, and
don't show them if compiled with --disable-wallet.
Also add documentation for `-disablewallet` option.
|
| |/ |
|