Commit Graph

4251 Commits

Author SHA1 Message Date
Cozz Lovan
9bec9feb87 Coin Control Features for Bitcoin 0.8.5
* fix transaction timezone display bug in output selection
* excluding Bitcoin 0.9 changes for #3008 and #2945
* merged src/wallet.cpp for nMinimumInputValue (mininput)
2013-11-22 23:54:13 -10:00
Mike Hearn
ab48dd1d17 Add some additional logging to give extra network insight. 2013-11-22 13:08:02 +01:00
Wladimir J. van der Laan
99f3d18b62 qt: GUI support for -disablewallet mode
Rebased-from: 8121047b20f6486bf049e642c3e6ca61682ffdd9
2013-11-14 00:44:49 -10:00
Warren Togami
cdd76fa878 Litecoin: getworkex: CreateNewBlock() scriptPubKey argument instead of key 2013-11-14 00:44:49 -10:00
Jeff Garzik
4e111e0a8f Add -disablewallet option, to disable wallet support (and BDB)
Conflicts:
	src/init.cpp

Rebased-from: 5d4f3a1f0cbdf52257b41ea09d175c0018ad9434
2013-11-14 00:44:49 -10:00
Jeff Garzik
ebabf7571f init.cpp: cosmetic indent changes, preparing for no-wallet
Rebased-from: 520cc05b89aae5fed155482d5fa66b4290487d55

Conflicts:
	src/init.cpp
2013-11-14 00:44:49 -10:00
Jeff Garzik
a7909372bd RPC validateaddress: test pwalletMain for NULL (no-wallet mode)
Conflicts:
	src/rpcwallet.cpp

Rebased-from: b878f6a92436e3facd700e2e10c04f541cd6421b
2013-11-14 00:44:49 -10:00
Jeff Garzik
a288878a00 Support absence of wallet (pwalletMain==NULL) in several locations,
notably RPC.

Conflicts:
	src/init.cpp
	src/rpcmining.cpp
	src/rpcwallet.cpp
	src/bitcoinrpc.cpp

Rebased-from: 541a7fcd515a27ebaa3ae5f1a9a698dab3db6ead
2013-11-14 00:44:49 -10:00
Jeff Garzik
fbf54fb6da miner: constify CreateNewBlock() arg scriptPubKeyIn
Conflicts:
	src/miner.cpp
	src/miner.h

Rebased-from: ad7d7cde5d30bcbfa7803c90daac7297b8a55e42
2013-11-14 00:44:49 -10:00
Jeff Garzik
6333bf9629 RPC: getblocktemplate does not require a key, to create a block template
getblocktemplate only uses certain portions of the coinbase transaction,
notably ignoring the coinbase TX output entirely.

Use CreateNewBlock() rather than CreateNewBlockWithKey(), eliminating
the needless key passing.

Should be zero behavior changes.
2013-11-14 00:44:49 -10:00
Jeff Garzik
b3060a26d0 CreateNewBlock() now takes scriptPubKey argument,
rather than a key.

CreateNewBlockWithKey() helper is added to restore existing functionality,
making this an equivalent-transformation change.

Conflicts:
	src/miner.cpp
	src/miner.h

Rebased-from: fcc32b7b9ce5bc310cbad677da7e7bca3a01459a
2013-11-14 00:44:49 -10:00
Jeff Garzik
02aa46394d RPC: add 'verifychain', to verify chain database at runtime 2013-11-14 00:44:48 -10:00
Jeff Garzik
0e65e7bd07 Minor miner fixes (hey hey it's fun to say)
* Fix UpdateCoins() definition in main.h
* Remove pwalletMain reference from BitcoinMiner(), as it is passed
  a wallet argument.

Conflicts:
	src/main.h

Rebased-from: 18946846d5
2013-11-14 00:44:48 -10:00
Jeff Garzik
e2bc2dff95 Pass check level, check depth to VerifyDB() 2013-11-14 00:44:48 -10:00
Wladimir J. van der Laan
5edaa52176 Move pMiningKey init out of StartRPCThreads
This commit decouples the pMiningKey initialization and shutdown from the RPC
threads.

`getwork` and `getblocktemplate` rely on pMiningKey, and can also be ran
from the debug window in the UI even when the RPC server is not running.

Solves issue #2706.

Conflicts:
	src/rpcmining.cpp
2013-11-14 00:44:48 -10:00
Jeff Garzik
8687a0ebbc RPC: add getbestblockhash, to return tip of best chain 2013-11-14 00:44:48 -10:00
Warren Togami
892b16f07a Litecoin: s/BitcoinMiner/LitecoinMiner/ and detect scrypt implementation 2013-11-14 00:44:48 -10:00
Warren Togami
d4c56161ae Revert "Litecoin: Remove native coin generation."
This reverts commit 94bf538131.

Conflicts:
	src/init.cpp
2013-11-14 00:44:48 -10:00
Warren Togami
ea24796726 Merge pull request #86 from wtogami/clangfix
Remove redundant insert method in serialize.
2013-11-12 10:46:48 -08:00
Warren Togami
0801244768 Upgrade to Bitcoin LevelDB 1.13
Merge commit '2a6cdcf6e57922fec0219b5966df85c8417d6ba3' into master-0.8
2013-11-10 21:13:38 -10:00
Warren Togami
2a6cdcf6e5 Squashed 'src/leveldb/' changes from be1b0ff..be91006
936b461 Merge upstream LevelDB 1.13.
748539c LevelDB 1.13

git-subtree-dir: src/leveldb
git-subtree-split: be9100673b05cec1662a54d0b7a59e4317fdda86
2013-11-10 21:13:38 -10:00
Pieter Wuille
3efed50982 Remove redundant insert method in serialize.
This seems to cause problems on recent clang, and looks totally
redundant and unused.

The const_iterator version is identical to the vector::const_iterator
one (which is a typedef thereof). Marking it private (instead of
removing) compiles fine, so this version is effectively unused even.
2013-11-08 15:45:58 -10:00
Warren Togami
d05e36e2ef Merge pull request #84 from pooler/logtimestamp_def
make -logtimestamps default on and rework help-message
2013-11-08 17:31:11 -08:00
Warren Togami
b64e8648be Merge pull request #85 from pooler/processgetdata
Reduce latency in network processing
2013-11-08 17:30:45 -08:00
Patrick Strateman
9229434811 process received messages one at a time without sleeping between messages 2013-11-06 21:52:14 +01:00
Philip Kaufmann
e56355b980 make -logtimestamps default on and rework help-message 2013-11-05 21:49:43 +01:00
Warren Togami
1d63195f3f Litecoin: mingw32 -mstackrealign to prevent SSE2 misalignment crashes 2013-11-02 10:11:16 -10:00
Luke Dashjr
2b22cea3a1 RPC: getblock(): Accept 2nd "verbose" parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility 2013-11-01 03:53:27 -10:00
Warren Togami
40805d0918
Disconnect nodes older than protocol version 70002 (Litecoin 0.8.3.7)
Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
2013-10-30 17:16:30 -10:00
Warren Togami
4423dcabd2 Litecoin: Restore USE_BUILD_INFO=1 in gitian-win32.yml 2013-10-30 15:16:27 -10:00
Warren Togami
803ed8f5e0
Litecoin: SSE2 scrypt unit test coverage 2013-10-26 15:27:35 -10:00
Warren Togami
0fef3d3fdd Litecoin: Upgrade gitian win32 to Precise 12.04 and boost-1.54
mingw upgrade allows more hardening, compiler bug fixes and possibily win64 later.
Rename deps .zip files to be more consistent in revision format.

Litecoin: Reuse bitcoin-0.9 win32 deps.
2013-10-26 15:26:25 -10:00
Warren Togami
cd8eeccc2d Litecoin: Runtime detection of SSE2 32bit x86 for Scrypt
* x86_64 and Intel MacOS X always uses scrypt-sse2, non-x86 uses scrypt-generic.
* x86 (not Mac) detects cpuid features and chooses sse2 or generic during runtime.

How to Build with SSE2 Support
==============================
* make litecoind with USE_SSE2=1
* qmake with USE_SSE2=1
2013-10-26 15:26:25 -10:00
pooler
4b82dceb7b Litecoin: Add a simplified SSE2 version of scrypt
pooler: Ported from tarsnap upstream, fixed aliasing issue
cfields: break apart sse2/non-sse2 into separate objects
2013-10-26 15:26:25 -10:00
Peter Todd
3689088c6d
Enable NODE_BLOOM by default
Also change behavior to simply disconnect peers, rather than DoS-ban
them.
2013-10-26 02:41:03 -04:00
Ashley Holman
4e0f31f9a0 Don't store or send blocks forked before last checkpoint. 2013-10-24 15:18:28 -10:00
Philip Kaufmann
3cb290066e special case DoS value == 0 in ProcessMessage()
- prevents unneeded log messages, which could make users think something
  bad was happening

Squashed: style-police code cleanup
2013-10-22 12:28:12 -10:00
phelixbtc
25c4b8732c Porting MinGW multithreading bugfix to makefile.mingw
Original fix:
https://github.com/bitcoin/bitcoin/commit
/8864019f6d88b13d3442843d9e6ebeb8dd938831
2013-10-22 12:04:22 -10:00
David Hill
7f1782105f Hurricane Electric uses block 2001:470::, not 2011:470:: 2013-10-14 17:45:44 -10:00
Philip Kaufmann
ffd7439799 exclude CreatePidFile() function on WIN32 as it is unused 2013-10-09 20:26:09 -10:00
Philip Kaufmann
513ec560d4 log start and end of Shutdown()
- could be helpful when debugging shutdown related problems

Rebased-by:   Warren Togami <wtogami@gmail.com>
Rebased-from: ced3c24816
2013-10-04 00:26:19 -10:00
Charlie Lee
3100416cb1 Fix compiler warning for getnetworkhashps. 2013-09-17 11:13:07 +08:00
Gregory Maxwell
0e81091263 More fixes for blockchain corruption on OSX.
As we'd previously learned, OSX's fsync is a data eating lie.

Since 0.8.4 we're still getting some reports of disk corruption on
 OSX but now all of it looks like the block files have gotten out of
 sync with the database. It turns out that we were still using fsync()
 on the block files, so this isn't surprising.
2013-09-16 10:50:43 -10:00
Warren Togami
36661955ad Silence useless warning in src/json/json_spirit_writer_template.h to make important warnings easier to see.
warning: typedef ‘Char_type’ locally defined but not used [-Wunused-local-typedefs]
2013-09-14 15:10:29 -10:00
Charlie Lee
08ed7a26a9 For getnetworkhashps, use min/max to calculate the block times. 2013-09-14 02:06:24 +08:00
Charlie Lee
603a53712d Merge pull request #69 from pooler/master-0.8
Use nChainWork in GetNetworkHashPS()
2013-09-13 02:44:22 -07:00
Warren Togami
329f177677 Litecoin version 0.8.5.1 2013-09-11 17:46:33 -10:00
Pieter Wuille
1a9a2d0880 Fix out-of-bounds check 2013-09-11 17:17:16 -10:00
Gregory Maxwell
2a22054025 Longer term workaround for chainstate corruption from negative versions.
This also makes negative transaction versions non-standard.

This avoids an issue triggered in Bitcoin block 256818 where transactions with
negative version numbers were incorrectly serialized into the UTXO set.

On restart nodes detect the inconsistency and refuse to start so long as
a block with these transactions is inside the self-consistency check
window, logging "coin database inconsistencies found". The software
recommends reindexing, but reindexing does not correct the problem.

This should be fixed by changing the chainstate serialization, but
working around it seems harmless for now because the version is not
used by any network rule currently.

A patch free workaround is to start with -checklevel=2 which skips
the consistency checks, but the IsStandard change is important for
miners in order to protect unpatched nodes.
2013-09-09 00:14:43 -10:00
pooler
bfb4d29fa9 Use nChainWork in GetNetworkHashPS() 2013-08-29 18:21:44 +02:00