175 Commits

Author SHA1 Message Date
Patrick Lodder
7237da74b8
update inline copyright years
adds a line when no copyright for Dogecoin Core Developers exists
but the file has been edited by us, to the last year found in git
log, or extends the year range on an existing line when a file
has been modified since the year previously listed.

Excludes subtrees.
2024-02-25 13:12:26 -05:00
Patrick Lodder
f6e25d5382
update checkpoints, chainwork, assumevalid for 1.14.7
Adds checkpoint and assumevalid for mainnet block 5050000:

- hash: e7d4577405223918491477db725a393bcfc349d8ee63b0a4fde23cbfbfd81dea
- work: 000000000000000000000000000000000000000000000e993d2aa86cf246a49b
- txs: 226128837
- timestamp: 1705383360 (2024-01-16)

Compares tx delta with block from 2023-01-16, 4556625:

- hash: 269ad8789a2792c9e6db17a3c98314d3c3931407689fa730075c9909511100e0
- txs: 92752025

(226128837 - 92752025) / 31536000 = 4.23 tx/sec

---

Adds checkpoint and assumevalid for testnet block 5900000:

- hash: 199bea6a442310589cbb50a193a30b097c228bd5a0f21af21e4e53dd57c382d3
- work: 00000000000000000000000000000000000000000000000000540f2f62ff9a26
- txs: 7391928
- timestamp: 1703511130

Because testnet has seen increased mining for 9 months or so but this
has since ceased, the tx delta was calculated over the whole period since
last checkpoint:

(7391928 - 5353803) / (1703511130 - 1657647467) = 0.04 tx/s
2024-02-15 16:43:36 -05:00
chromatic
4cf5285ab0
Merge pull request #3045 from patricklodder/1.14.6-copyright
Update copyright years
2022-07-17 12:24:39 -07:00
Patrick Lodder
87bd548807
Update copyright headers in files
Detected changes since fork from Bitcoin Core 0.14 and either
updated the Dogecoin Core developer copyright, or added a line
for it.

Script can be found at:

https://gist.github.com/patricklodder/210a449896ece9ca4a8f872328198e3f
2022-07-16 20:18:50 +02:00
Patrick Lodder
43c0008fb7
update checkpoints, chainwork, assumevalid for mainnet and testnet
ed7d266dcbd8bb8af80f9ccb8deb3e18f9cc3f6972912680feeb37b090f8cee0 is
the new mainnet checkpoint at height 4303965, with a total tx count
of 86433645.

Calculated the tx volume between block 3793538 and 4288126 which is
exactly 1 year of volume.

Cumulative chainwork is 0x07dc8ab65fc32f953c4a

---

af23c3e750bb4f2ce091235f006e7e4e2af453d4c866282e7870471dcfeb4382 is
the new testnet checkpoint at height 3976284, with a total tx count
of 5353803.

The tx volume did not significantly change (0.024 to 0.026) so that
remains unchanged.

Cumulative chainwork is 0x3e3c33bc605e5d
2022-07-16 17:26:23 +02:00
chromatic
565280f457 Remove alert system
While looking at the network code, we realized this code is unused and
largely unmaintained. Given issue #2231, and its removal in 1.21, it's
time to remove it now.

This has the nice benefit of removing a single point of failure/control
(because it depends on a keypair to send alerts).

This code restores the pre-alert behavior before the merge of PR #1470.
2022-06-14 17:09:57 -07:00
Ross Nicoll
5280e456f5
Refresh checkpoints for 1.14.5 2021-11-02 20:36:47 +00:00
Ross Nicoll
14a7cd1ba1
Add updated 1.14.5 checkpoints 2021-09-24 22:50:17 +01:00
Ross Nicoll
5d0769fc7e
Refresh blockchain checkpoints 2021-08-15 00:28:54 +01:00
Dakoda Greaves
f4f7759649 initialize fixed seeds
seed initialization was commented out on mainnet
and testnet.
2021-07-23 13:07:29 -07:00
Carsen Klock
dda4b51d89
Update chainparams.cpp (#1751)
Removed Denarius (D) seeders for Dogecoin.
2021-02-21 08:19:17 +00:00
Ross Nicoll
58ce7f5405 Add testnet checkpoints 2021-02-14 13:36:15 +00:00
Ross Nicoll
7f754bbf05 Add live checkpoints 2021-02-14 13:36:15 +00:00
Patrick Lodder
0c600d7f9d
Fixate BIP65 softfork heights
- Re-introduce Params.BIP65Height
- Fixate block 1854705 for testnet
- Fixate block 3464751 for mainnet
- Fixate block 1351 for regtest
- Stop using IsSuperMajority() in validation for BIP65
- Simplify RPC SoftForkMajorityDesc
2021-02-13 17:24:55 +01:00
Carsen Klock
0f4815d2b7
Removed Comments
Doges, just do not forgot who made Dogecoin great again

DENARIUS (D) https://denarius.io
2021-01-30 19:03:25 -07:00
Carsen Klock
ad8d1eadae
Added new denarius.pro seeders for DOGE
D helping D
2021-01-29 16:34:45 -07:00
rllola
8fbd1680bb Added coments on chain parameters for regtest 2019-07-12 21:36:26 +00:00
langerhans
ccd17d1b48 Update chainparams with more recent data 2019-04-14 18:32:15 +02:00
Ross Nicoll
199cf694ef Update miner confirmation window
* Update miner confirmation window to 240 for Dogecoin main net, and update related values.
* Re-enable PoW tests with Dogecoin values.
* Update version bit tests based on Dogecoin mining values.
2018-09-23 21:22:58 +01:00
Ross Nicoll
41c868f47e Re-introduce alert functionality (#1470)
Re-introduce alert functionality removed from Bitcoin upstream
2018-09-19 22:11:47 +01:00
Ross Nicoll
9c3a11b248 Clean up RPC tests (#1465)
* Enable full block tests
* Fix invalidblocktest
* Move watch only address funding to immediately before it's used, so node 0 doesn't spend the output before it checks it later.
* Fix `fundrawtransaction` tests and sanitize fee calculation at the same time
* Correct resolution of chain parameters when validating tx inputs, especially from previous coinbase transactions
* Set block versions on full block tests so that the generated blocks are AuxPoW compatible
2018-09-19 22:11:47 +01:00
Ross Nicoll
a9db76f39d Insert Dogecoin testnet merkle tree root value (#1469) 2018-09-19 22:11:47 +01:00
Ross Nicoll
b6b5ee7502 Update RPC tests for Dogecoin (#1431)
* Make most of the RPC tests pass
* Add AUXPoW rpc tests
- Tests the auxpow rpc interface `getauxblock`
- Tests consensus constraints for auxpow:
  - Minimum block height
  - Valid scrypt proof of work
  - Foreign chain ID
2018-09-19 22:11:47 +01:00
Ross Nicoll
7b81f4de0a Move COINBASE_MATURITY to the consensus parameters (#1426) 2018-09-19 21:09:16 +01:00
Ross Nicoll
7d647782dd Update checkpoints and chain work (#1410)
* Update checkpoints and chain work

* Correct checkpoint syntax

* Correct timestamp of last checkpoint block
2018-09-19 19:24:06 +01:00
Max K
60f8ff05e4 Fix 1.14 unit tests (#1408)
* Fix BlockEncodings test by setting a legacy block version

* Fix RPC test by adding missing RPC call

* Add missing regtest genesis hashes
2018-09-19 19:24:06 +01:00
Ross Nicoll
1be681a1b9 Modify chain consensus parameters to be height aware (#1396)
* Modify chain consensus parameters to be height aware
* Correct implementation of simplified rewards in parameters
* Correct max money
* Use base block version in IsSuperMajority() instead of full version
* Correct mining of blocks in AuxPoW tests
* Add in missing pre-AuxPoW consensus checks
2018-09-19 19:24:06 +01:00
Ross Nicoll
a89d54c4b2 Change BIP65/66 enforcement to match Dogecoin (#1403)
* Introduce first estimates at BIP lock-in blocks

* Introduce Dogecoin BIP parameters

* Re-introduce supermajority rules for BIP65

* Add BIP65 supermajority rules

* Tighten v3 block constraints

* Don't enforce coinbase in v2 blocks

* Correct testnet majority params

* Change to using base version when checking supermajority
2018-09-19 19:23:29 +01:00
Ross Nicoll
92054123b8 Set SegWit timeout to zero to disable it (#1405) 2018-09-19 19:23:29 +01:00
Ross Nicoll
bc8cca4896 Merge AuxPoW support from Namecore
Changes are as below:

Wrap CBlockHeader::nVersion into a new class (CBlockVersion).  This allows to take care of interpreting the field into a base version, auxpow flag and the chain ID.

Update getauxblock.py for new 'generate' RPC call.

Add 'auxpow' to block JSON.

Accept auxpow as PoW verification.

Add unit tests for auxpow verification.

Add check for memory-layout of CBlockVersion.

Weaken auxpow chain ID checks for the testnet.

Allow Params() to overrule when to check the auxpow chain ID and for legacy blocks.  Use this to disable the checks on testnet.

Introduce CPureBlockHeader.

Split the block header part that is used by auxpow and the "real" block header (that uses auxpow) to resolve the cyclic dependency between the two.

Differentiate between uint256 and arith_uint256.

This change was done upstream, modify the auxpow code.

Add missing lock in auxpow_tests.

Fix REST header check for auxpow headers.

Those can be longer, thus take that into account.  Also perform the check actually on an auxpow header.

Correctly set the coinbase for getauxblock results.

Call IncrementExtraNonce in getauxblock so that the coinbase is actually initialised with the stuff it should be.  (BIP30 block height and COINBASE_FLAGS.)

Implement getauxblock plus regression test.

Turn auxpow test into FIXTURE test.

This allows using of the Params() calls.

Move CMerkleTx code to auxpow.cpp.

Otherwise we get linker errors when building without wallet.

Fix rebase with BIP66.

Update the code to handle BIP66's nVersion=3.

Enforce that auxpow parent blocks have no auxpow block version.

This is for compatibility with namecoind.  See also https://github.com/namecoin/namecoin/pull/199.

Move auxpow-related parameters to Consensus::Params.
2018-09-19 19:22:45 +01:00
Ross Nicoll
42aa48ea69 Annotate work to be done to Dogecoin-ify 2018-09-19 19:21:49 +01:00
Ross Nicoll
64af132fdb Replace consensus values with Dogecoin equivalents
* Replace chain parameters with Dogecoin values
* Update maximum coins to match Dogecoin
* Disable version 2 block requirement
* Update coinbase maturity to match Dogecoin
2018-09-19 19:21:48 +01:00
Gregory Maxwell
3f78e460ba Update nMinimumChainWork and defaultAssumeValid. 2017-02-16 19:31:03 +00:00
Jonas Schnelli
ca9955e706
Remove bitseed.xf2.org form the dns seed list 2017-02-09 11:28:01 +01:00
Gregory Maxwell
e440ac7ef3 Introduce assumevalid setting to skip presumed valid scripts.
This disentangles the script validation skipping from checkpoints.

A new option is introduced "assumevalid" which specifies a block whos
 ancestors we assume all have valid scriptsigs and so we do not check
 them when they are also burried under the best header by two weeks
 worth of work.

Unlike checkpoints this has no influence on consensus unless you set
 it to a block with an invalid history.  Because of this it can be
 easily be updated without risk of influencing the network consensus.

This results in a massive IBD speedup.

This approach was independently recommended by Peter Todd and Luke-Jr
 since POW based signature skipping (see PR#9180) does not have the
 verifiable properties of a specific hash and may create bad incentives.

The downside is that, like checkpoints, the defaults bitrot and older
 releases will sync slower.  On the plus side users can provide their
 own value here, and if they set it to something crazy all that will
 happen is more time will be spend validating signatures.

Checkblocks and checklevel are also moved to the hidden debug options:
 Especially now that checkblocks has a low default there is little need
 to change these settings, and users frequently misunderstand them as
 influencing security or IBD speed.  By hiding them we offset the
 space added by this new option.
2017-01-13 15:42:24 +00:00
Pieter Wuille
df3637177a Update estimated transaction count data 2017-01-11 08:21:40 -08:00
Pieter Wuille
e356d9a758 Shorten variable names and switch to tx/s 2017-01-11 08:21:37 -08:00
Pieter Wuille
3641141c8f Move tx estimation data out of CCheckPointData 2017-01-04 13:18:49 -08:00
isle2983
27765b6403 Increment MIT Licence copyright header year on files modified in 2016
Edited via:

$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pieter Wuille
b4e4ba475a Introduce convenience type CTransactionRef 2016-11-19 17:53:23 -08:00
Pieter Wuille
1662b437b3 Make CBlock::vtx a vector of shared_ptr<CTransaction> 2016-11-19 17:51:09 -08:00
Gregory Maxwell
fd46136dfa IBD check uses minimumchain work instead of checkpoints.
This introduces a 'minimum chain work' chainparam which is intended
 to be the known amount of work in the chain for the network at the
 time of software release.  If you don't have this much work, you're
 not yet caught up.

This is used instead of the count of blocks test from checkpoints.

This criteria is trivial to keep updated as there is no element of
subjectivity, trust, or position dependence to it. It is also a more
reliable metric of sync status than a block count.
2016-11-02 01:47:02 +00:00
Wladimir J. van der Laan
dd07c6b2cc
Merge #8921: RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC
b26a7b5 RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC (Jorge Timón)
2016-10-18 13:31:59 +02:00
Jorge Timón
b26a7b5377
RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC 2016-10-18 13:17:38 +02:00
Christian Decker
2449e12681 My DNS seed supports filtering
Currently supports filtering by any combination of the 4 least
significant bits.
2016-10-17 13:33:53 -04:00
Matt Corallo
ffb4713920 Add x9 service bit support to dnsseed.bluematt.me 2016-10-17 13:33:52 -04:00
Matt Corallo
504c72ad34 Comment that most dnsseeds only support some service bits combos 2016-10-17 13:33:25 -04:00
Pieter Wuille
f9c23dea97 Define start and end time for segwit deployment 2016-10-17 14:15:57 +02:00
Jonas Schnelli
40a95cfd8f
Set jonasschnellis dns-seeder filter flag 2016-08-24 09:06:56 +02:00
Wladimir J. van der Laan
37d83bb0a9
Merge #8391: Consensus: Remove ISM
122786d Consensus: Remove ISM (NicolasDorier)
2016-08-04 12:20:35 +02:00