Jack Grigg
51eb5273f5
Equihash: Pass each obtained solution to a callback for immediate checking
...
Closes #1143
2016-07-27 19:15:49 +12:00
Jack Grigg
2dbabb1159
Make Equihash solvers cancellable
...
The miner only cancels the solver when chainActive.Tip() changes.
Closes #1055
2016-07-20 19:17:02 +12:00
Simon
ea26d328fc
Add founders reward to output.
2016-07-14 13:08:34 -07:00
Simon
933bff472d
Narrow scope of lock.
2016-07-11 22:01:15 -07:00
Simon
1db13d5063
Replace index with height in help message for getblocksubsidy RPC call.
2016-07-11 21:53:09 -07:00
Simon
1b114e54c4
Add getblocksubsidy RPC command to return the block reward for a given
...
block, taking into account the mining slow start.
2016-06-27 13:04:33 -07:00
Jack Grigg
cdec0b923e
Fix bug in network hashrate lookup window configuration
2016-06-16 21:26:49 +12:00
Jack Grigg
5e207f4ea5
Improve comments per review
2016-06-16 10:45:19 +12:00
Jack Grigg
f2c48e15e5
Implement new difficulty algorithm ( #931 )
...
The algorithm is based on DigiShield v3/v4.
2016-06-15 09:48:42 +12:00
Jack Grigg
e95747288a
Use template parameters to statically initialise Equihash
2016-05-24 23:16:50 +12:00
Taylor Hornby
aaf6495948
Rename bitcoin.conf and bitcoind.pid to zcash.conf and zcashd.pid in qa/ and src/
2016-05-03 14:01:01 -06:00
Jack Grigg
fdda3c5085
Use Equihash for Proof-of-Work
...
The main and test networks are configured to use parameters that are currently
low-memory but usable with the basic solver; they will be increased once the
solver is optimised. The regtest network is configured to have extremely low
memory usage for speed.
Note that Bitcoin's double-hasher is used for the difficulty check. This does
not match the paper, but is simpler than changing the block header
serialization. Single hashing is kept for the EquiHash solver because there is
no requirement on execution time there, only on memory usage.
2016-04-08 13:56:00 +12:00
MarcoFalke
a33cd5ba86
[trivial] Fix rpc message "help generate"
2015-10-14 08:20:37 +00:00
Suhas Daftuar
304892fc03
Be stricter in processing unrequested blocks
...
AcceptBlock will no longer process an unrequested block, unless it has not
been previously processed and has more work than chainActive.Tip()
Github-Pull: #5875
Rebased-From: 9be0e6837b878f72bd087ce32b7a2f2ffb2fd544
2015-06-03 16:23:46 +02:00
jtimon
da29ecbcc6
Consensus: MOVEONLY: Move CValidationState from main consensus/validation
2015-05-15 16:05:28 +02:00
Philip Kaufmann
59b149ff82
remove unneeded incude of wallet/db.h from rpcmining.cpp
2015-05-14 01:02:01 -04:00
Wladimir J. van der Laan
1d9d314573
Merge pull request #5696
...
691161d Consensus: Create consensus/consensus.h with some constants (jtimon)
2015-04-26 14:42:09 +02:00
Wladimir J. van der Laan
27ce808fb5
tests: Error when setgenerate is used on regtest
...
Ever since #5957 there has been the problem that older RPC test cases
(as can be found plenty in open pulls) use setgenerate() on regtest,
assuming a different interpretation of the arguments. Directly
generating a number of blocks has been split off into a new method
`generate` - however using `setgenerate` with the previous arguments will
result in spawning an unreasonable number of threads, and well, simply
not work as expected without clear indication of the error.
Add an error to point the user at the right method.
2015-04-21 10:14:06 +02:00
jtimon
691161d419
Consensus: Create consensus/consensus.h with some constants
2015-04-20 21:27:51 +02:00
Jorge Timón
bebe7282ff
Chainparams: Refactor: Remove redundant AllowMinDifficultyBlocks() getter
2015-04-15 14:31:44 +02:00
Wladimir J. van der Laan
622e3c9c39
Merge pull request #5999
...
e8e8904 Chainparams: Cleanup: Delete CChainParams getters to attributes from Consensus::Params (Jorge Timón)
2015-04-15 12:00:09 +02:00
Matt Corallo
eb63bf86cf
Fix missing lock in submitblock
2015-04-13 11:29:44 -07:00
Jorge Timón
e8e8904dda
Chainparams: Cleanup: Delete CChainParams getters to attributes from Consensus::Params
2015-04-13 18:39:53 +02:00
Wladimir J. van der Laan
48265f3cf4
Revert mining changes in #5957
...
This reverts commit e2edf95cd3 6b04508e37 0df67f1f7a ,
except the changes to the RPC tests.
A `generate` RPC call is introduced based on the old code.
2015-04-10 07:51:27 +02:00
Pieter Wuille
e2edf95cd3
Bugfix: make CreateNewBlock return pindexPrev
2015-04-01 11:47:10 -07:00
Pieter Wuille
6b04508e37
Introduce separate 'generate' RPC call
2015-04-01 11:47:10 -07:00
Jorge Timón
d698ef690f
Consensus: Refactor: Decouple pow.o from chainparams.o
2015-03-26 00:47:51 +01:00
Wladimir J. van der Laan
cbb2cf5522
Fix --disable-wallet build after merge of #5681
2015-03-24 22:15:04 +01:00
Jonas Schnelli
50c72f23ad
[Move Only] Move wallet related things to src/wallet/
...
could once be renamed from /src/wallet to /src/legacywallet.
2015-03-12 14:13:02 +01:00
Shaul Kfir
e5ece053da
Rename Interval() to DifficultyAdjustmentInterval()
2015-02-17 08:46:51 -05:00
Wladimir J. van der Laan
7225577f6b
Merge pull request #5739
...
f4b2078 Replace difficulty readjustment blocks with Interval() (Shaul Kfir)
2015-02-09 12:48:38 +01:00
Jonas Schnelli
17115d0a34
fix getblocktemplate lock issue
...
getblocktemplate didn't have a wallet lock before #5711 and IMO there is no need for LEAVE/ENTER critical section.
2015-02-04 16:34:34 +01:00
Shaul Kfir
f4b2078f72
Replace difficulty readjustment blocks with Interval()
2015-02-02 14:36:00 -05:00
Eric Lombrozo
4401b2d7c5
Removed main.h dependency from rpcserver.cpp
...
Rebased by @laanwj:
- update for RPC methods added since 84d13ee : setmocktime,
invalidateblock, reconsiderblock. Only the first, setmocktime, required a change,
the other two are thread safe.
2015-01-28 07:41:54 +01:00
Wladimir J. van der Laan
40e96a3016
Merge pull request #5599
...
0cc0d8d Get rid of the internal miner's hashmeter (jtimon)
2015-01-24 16:00:40 +01:00
Wladimir J. van der Laan
734f85c4f0
Use arith_uint256 where necessary
...
Also add conversion from/to uint256 where needed.
2015-01-05 15:45:35 +01:00
jtimon
0cc0d8d60b
Get rid of the internal miner's hashmeter
2015-01-04 21:04:55 +01:00
Wladimir J. van der Laan
a5eb61d9ef
Merge pull request #5499
...
7f71813 Bugfix: prioritisetransaction: Do some basic sanity checking on txid (Luke Dashjr)
2014-12-31 10:50:06 +01:00
Luke Dashjr
a15dba5dff
en: Avoid ambiguous language regarding when transactions confirm
2014-12-23 22:07:10 +00:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
...
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Luke Dashjr
7f71813919
Bugfix: prioritisetransaction: Do some basic sanity checking on txid
...
Besides giving a nicer error, this also prevents logging arbitrary data (which could have been used to exploit log readers) into debug.log
2014-12-17 09:37:58 +00:00
Luke Dashjr
8a20cd3c51
prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC
2014-12-01 14:18:07 +00:00
Wladimir J. van der Laan
f24bcce2ac
Merge pull request #1816
...
b867e40 CreateNewBlock: Stick height in coinbase so we pass template sanity check (Luke Dashjr)
60755db submitblock: Check for duplicate submissions explicitly (Luke Dashjr)
bc6cb41 QA RPC tests: Add tests block block proposals (Luke Dashjr)
9765a50 Implement BIP 23 Block Proposal (Luke Dashjr)
3dcbb9b Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock (Luke Dashjr)
132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test (Luke Dashjr)
df08a62 TestBlockValidity function for CBlock proposals (used by CreateNewBlock) (Luke Dashjr)
4ea1be7 CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock (Luke Dashjr)
a48f2d6 Abstract context-dependent block checking from acceptance (Luke Dashjr)
2014-11-24 14:43:10 +01:00
Michael Ford
72fb3d295a
Update comments in src/rpc* to be doxygen compatible
2014-11-20 10:19:39 +08:00
Luke Dashjr
60755dbf76
submitblock: Check for duplicate submissions explicitly
2014-11-20 00:15:17 +00:00
Luke Dashjr
9765a50cbd
Implement BIP 23 Block Proposal
2014-11-20 00:15:16 +00:00
Luke Dashjr
3dcbb9b6b4
Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock
2014-11-18 19:20:10 +00:00
Gavin Andresen
18379875bf
Optimize -regtest setgenerate block generation
...
Speed up generating blocks in regression test mode, by moving
block-creating and nonce-finding directly into the setgenerate
RPC call (instead of starting up a mining thread and waiting for
it to find a block).
This makes the forknotify RPC test three times quicker, for
example (10 seconds runtime instead of 30 seconds, assuming
the initial blockchain cache is already built).
2014-11-14 13:42:15 -05:00
Wladimir J. van der Laan
ff17816abf
Merge pull request #3727
...
e69a587 RPC: submitblock: Support for returning specific rejection reasons (Luke Dashjr)
2014-11-03 20:55:46 +01:00
Wladimir J. van der Laan
84d26d3a36
Merge pull request #5106
...
1bea2bb Rename ProcessBlock to ProcessNewBlock to indicate change of behaviour, and document it (Luke Dashjr)
d29a291 Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock (Luke Dashjr)
f877aaa Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check (Luke Dashjr)
24e8896 Add CValidationInterface::BlockChecked notification (Luke Dashjr)
2014-11-03 12:22:45 +01:00