Luke Dashjr
340f0876ea
collect more info on tx pooling and block finding for getmininginfo
2012-01-12 19:47:39 -05:00
Gavin Andresen
3f64fa1369
Merge pull request #743 from gavinandresen/blocknotify
...
-blocknotify : run a command when best-block changes
2012-01-12 06:31:25 -08:00
Pieter Wuille
67a42f929b
Network stack refactor
...
This introduces CNetAddr and CService, respectively wrapping an
(IPv6) IP address and an IP+port combination. This functionality used
to be part of CAddress, which also contains network flags and
connection attempt information. These extra fields are however not
always necessary.
These classes, along with logic for creating connections and doing
name lookups, are moved to netbase.{h,cpp}, which does not depend on
headers.h.
Furthermore, CNetAddr is mostly IPv6-ready, though IPv6
functionality is not yet enabled for the application itself.
2012-01-06 18:55:37 +01:00
Gavin Andresen
d237f62c23
-blocknotify=command argument, implemented using system() and boost::thread
2012-01-03 15:48:59 -05:00
Gavin Andresen
61977f956c
Check all prevout.n if one transaction provides multiple inputs
2011-12-25 10:32:05 -05:00
Gavin Andresen
60835d9627
assert condition in previous commit was backwards
2011-12-25 10:08:01 -05:00
Gavin Andresen
6996a9d713
Check for valid prevout.n in FetchInputs.
...
IsStandardInputs could crash if given invalid input index.
2011-12-25 08:45:09 -05:00
Gavin Andresen
fe358165e3
Be more conservative: check all transactions in blocks after last checkpoint.
2011-12-23 17:13:10 -05:00
Wladimir J. van der Laan
bde280b9a4
Revert "Use standard C99 (and Qt) types for 64-bit integers"
...
This reverts commit 21d9f36781
.
2011-12-21 22:33:19 +01:00
Luke Dashjr
21d9f36781
Use standard C99 (and Qt) types for 64-bit integers
2011-12-20 16:52:59 -05:00
Gavin Andresen
781c06c0f5
Merge pull request #677 from luke-jr/minfee_modes
...
API: GetMinFee modes
2011-12-20 13:09:18 -08:00
Gavin Andresen
595925592d
Merge branch 'op_eval'
2011-12-20 14:43:31 -05:00
Gavin Andresen
9ef7fa3447
Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and explicity init static var
2011-12-19 19:10:34 -05:00
Gavin Andresen
26ce92b352
Use std::numeric_limits<> for typesafe INT_MAX/etc
2011-12-19 19:10:34 -05:00
Gavin Andresen
9e470585b3
Update bitcoin address numbers for latest luke-jr/sipa scheme
2011-12-19 13:24:51 -05:00
Gavin Andresen
2a45a494b0
Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript
...
so it takes a flag for how to interpret OP_EVAL.
Also increased IsStandard size of scriptSigs to 500 bytes, so
a 3-of-3 multisig transaction IsStandard.
2011-12-19 13:24:48 -05:00
Gavin Andresen
d7062ef1bd
Put OP_EVAL string in coinbase of generated blocks
2011-12-19 13:24:48 -05:00
Gavin Andresen
e679ec969c
OP_EVAL implementation
...
OP_EVAL is a new opcode that evaluates an item on the stack as a script.
It enables a new type of bitcoin address that needs an arbitrarily
complex script to redeem.
2011-12-19 12:40:19 -05:00
Gavin Andresen
99a289f531
Merge pull request #574 from sipa/dumpprivkey
...
Dumpprivkey
2011-12-19 07:27:25 -08:00
Gavin Andresen
f8ded588a2
Implement BIP 14 : separate protocol version from client version
2011-12-19 10:24:23 -05:00
Pieter Wuille
30ab2c9c46
Preparations for key import/export
2011-12-17 21:49:48 +01:00
Luke Dashjr
dbbf1d4a48
GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelay
2011-12-14 01:07:43 -05:00
Luke Dashjr
a880b29cab
Bugfix: fForRelay should be false when deciding required fee to include in blocks
...
During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the
approach of dropping the relay and block-inclusion fee to 0.0005 BTC
immediately, and only delayed adjusting the sending fee for the next release.
Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same
problem in the future. However, the block inclusion code was left setting
fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as
intended) only permitted for real relaying.
2011-12-14 01:06:21 -05:00
Gavin Andresen
10fd7f6689
Orphan block fill-up-memory attack prevention
2011-12-01 13:53:38 -05:00
Gavin Andresen
eb5fff9e16
Moved checkpoints out of main, to prep for using them to help prevent DoS attacks
2011-12-01 12:18:50 -05:00
Pieter Wuille
d825e6a31b
Some extra comments
2011-11-07 00:11:34 +01:00
Gavin Andresen
32ebde4612
Merge pull request #564 from luke-jr/optimize_remove_CheckWork_delay
...
Remove 2 second sleep from CheckWork
2011-10-06 07:54:50 -07:00
Gavin Andresen
b898c8fce6
Merge branch 'no-cryptopp' of https://github.com/tcatm/bitcoin
2011-10-05 10:38:10 -04:00
David Joel Schwartz
514b18722a
Remove 2 second sleep from CheckWork
2011-10-04 00:04:43 -04:00
Forrest Voight
074d584a04
Added RPC call 'getmemorypool' that provides everything needed to construct a block with a custom generation transaction and submit a solution
...
getmemorypool [data]
If [data] is not specified, returns data needed to construct a block to work on:
"version" : block version
"previousblockhash" : hash of current highest block
"transactions" : contents of non-coinbase transactions that should be included in the next block
"coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees
"time" : timestamp appropriate for next block
"bits" : compressed target of next block
If [data] is specified, tries to solve the block and returns true if it was successful.
2011-10-01 14:42:54 -04:00
Nils Schneider
6ccff2cbde
remove cryptopp dependency, add simple unittest for SHA256Transform()
2011-09-30 20:00:22 +02:00
Wladimir J. van der Laan
002a4dcad0
Merge branch 'master' of https://github.com/bitcoin/bitcoin
...
Conflicts:
.gitignore (used upstream version)
bitcoin-qt.pro
2011-09-28 21:52:32 +02:00
Wladimir J. van der Laan
a8b95ce6ed
use median filter for peer-reported reported number of blocks
...
- fixes problem that one misconfigured or malicious node can mess up progress bar
- implementation in src/util.h
- testcase in src/test/util_tests.cpp
2011-09-28 21:35:58 +02:00
Gavin Andresen
a8c108bca1
Remove DoS penalty for SigOpCount or immature transactions
2011-09-27 11:19:57 -04:00
Gavin Andresen
b14bd4df58
Skip verifying transaction signatures during initial block-chain download
2011-09-26 09:20:22 -04:00
Gavin Andresen
17e2c24645
Merge pull request #517 from gavinandresen/DoSprevention
...
Denial-of-service prevention
2011-09-26 06:06:16 -07:00
Gavin Andresen
f7f2a36925
Merge pull request #521 from laanwj/qt
...
Qt GUI
2011-09-26 06:05:11 -07:00
Wladimir J. van der Laan
0961c2fc0d
Merge branch 'master' of https://github.com/bitcoin/bitcoin
2011-09-23 13:42:04 +02:00
Gavin Andresen
806704c237
More denial-of-service misbehavior detection: version/addr/inv/getdata messages
2011-09-21 12:50:13 -04:00
Gavin Andresen
3e52aaf212
Transaction/Block denial-of-service detection/response
2011-09-21 12:50:12 -04:00
Nils Schneider
59090133c0
log low-level network messages only when fDebug is set
2011-09-17 18:29:41 +02:00
Wladimir J. van der Laan
5dd7318db7
Merge branch 'master' of https://github.com/bitcoin/bitcoin
2011-09-16 06:55:47 +02:00
Wladimir J. van der Laan
d33cc2b5e3
clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks
2011-09-11 10:49:30 +02:00
Wladimir J. van der Laan
a0d2f9a12d
Merge branch 'master' of https://github.com/bitcoin/bitcoin
...
Conflicts:
.gitignore
2011-09-07 18:57:11 +02:00
Gavin Andresen
5a3dea451d
Merge branch 'unique_coinbase' of git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin into unique_coinbase
2011-09-07 10:51:57 -04:00
Luke Dashjr
83f4cd156e
Bugfix: Use timestamp in coinbase rather than "bits", needed to ensure coinbase txn is unique even if address is the same
2011-09-06 16:43:40 -04:00
Luke Dashjr
b760e25458
Merge branch 'getwork_dedupe' into unique_coinbase
2011-09-06 16:43:32 -04:00
Gavin Andresen
e077cce617
Optimize database writes for transactions with lots of TxIns.
...
Patch from ArtForz, who discovered the problem.
2011-09-05 14:33:07 -04:00
Wladimir J. van der Laan
0a70a3f4d8
Merge branch 'master' of https://github.com/bitcoin/bitcoin
2011-09-03 09:09:34 +02:00
Gavin Andresen
ec74e8a443
Versions 0.3.20 THROUGH 0.3.23 have trouble with blockchain downloads; avoid them
2011-09-02 12:56:10 -04:00