Commit graph

1452 commits

Author SHA1 Message Date
Yeastplume
01df981a1d
[t4] fix header test sizes (#1756) 2018-10-16 14:39:51 +01:00
yeastplume
11bed215c1 rustfmt 2018-10-16 13:19:28 +01:00
yeastplume
f38d62287f use secondary pow size for min header size calc 2018-10-16 13:19:09 +01:00
hashmap
466ce986a6
Use round robin for peer selection in body sync
We select a peer to ask a block randomly. Peer's send channel has
capacity 10. If we need too many blocks we limit number of blocks to asks as a number of peers
* 10, which means that there is some probability (pretty high) that we
will overflow send buffer capacity.
This fix freezes a peer list (which gives also some performance boost)
and create a cycle iteraror to equally distribute requests among the
peers.
There is a risk that a peer may be disconnected while we are sending a
request to the chanel, but stricltly speaking it was possible in the old
code too, perhaps with a lower probability.
Fixes #1748
2018-10-16 12:14:17 +02:00
hashmap
5bcc4508fd
Merge pull request #1755 from yeastplume/t4-test-fix-1
fix tests, update new genesis block, change p2p header magic number
2018-10-16 11:57:27 +02:00
yeastplume
4bb31dbdb4 update new genesis block, change p2p msg magic number 2018-10-16 10:16:54 +01:00
Quentin Le Sceller
da3a6bb019
Change position of seeding_type (#1754) 2018-10-15 21:25:58 -04:00
Quentin Le Sceller
ac2dba9b07
Change position of seeding_type (#1753) 2018-10-15 21:25:46 -04:00
Ignotus Peverell
d0ed5cd4a3
Minor boundary adjustments for 2nd PoW scaling 2018-10-16 00:42:32 +00:00
John Tromp
34646ddf51 [T4] Rename all shiftsize / cuckoo_size to edge_bits and change value for T4 (#1752)
* replace all size_shift / cuckoo_size by edge_bits and change some constants for T4
* replace remaining occurrences of sizeshift
2018-10-15 16:14:23 -07:00
Ignotus Peverell
a41022f1e3
Fix last tests broken by secondary PoW factor adjustment 2018-10-15 22:53:28 +00:00
Ignotus Peverell
3c6b5a0a9c
Fix chain tests missing difficulty scaling 2018-10-15 22:24:13 +00:00
Ignotus Peverell
eeb7680981
Secondary PoW factor adjustment adjustments 2018-10-15 21:18:00 +00:00
John Tromp
45a5655cec obsolete easiness et.al (#1750) 2018-10-15 20:24:36 +01:00
Antioch Peverell
86c1d7683b
The Header MMR (One MMR To Rule Them All) (#1716) (#1747)
* header MMR in use within txhashset itself
works with fast sync
not yet in place for initial header sync

* add the (currently unused) sync_head mmr

* use sync MMR during fast sync
rebuild header MMR after we validate full txhashset after download

* support missing header MMR (rebuild as necessary) for legacy nodes

* rename to HashOnly

* cleanup backend.append()

* simplify vec_backend to match simpler append api
2018-10-15 19:24:01 +01:00
Antioch Peverell
8b7a20f8b0
The Header MMR (One MMR To Rule Them All) (#1716)
* header MMR in use within txhashset itself
works with fast sync
not yet in place for initial header sync

* add the (currently unused) sync_head mmr

* use sync MMR during fast sync
rebuild header MMR after we validate full txhashset after download

* support missing header MMR (rebuild as necessary) for legacy nodes

* rustfmt

* comments/docs

* rustfmt

* cleanup DBBackend

* cleanup DBBackend

* cleanup

* rename to HashOnly

* rustfmt

* cleanup backend.append()

* simply pmmr append api
no need to pass position when appending

* cleanup

* simplify vec_backend to match simpler append api

* rustfmt

* docs/comments

* rustfmt

* cleanup
2018-10-15 17:16:34 +01:00
jaspervdm
5afca1697b Change network code for extended keys (#1743) 2018-10-15 11:40:53 +01:00
yeastplume
9423865f92 update cargo versioning 2018-10-15 10:34:33 +00:00
Yeastplume
13facfac4b
pre-testnet4 genesis values (#1744) 2018-10-15 11:14:49 +01:00
Gary Yu
3b0006934e
suppress the test error of test_start_api (#1740)
* Use secp crate directly without extra use statement (#1738)

(cherry picked from commit 80d28f94ea)

* suppress the test error of test_start_api. Note: this is not a fix.

(cherry picked from commit 6f29685daf)
2018-10-14 21:15:38 +08:00
Gary Yu
6f29685daf
suppress the test error of test_start_api (#1739)
* suppress the test error of test_start_api. Note: this is not a fix.
2018-10-14 20:41:10 +08:00
RJ Rybarczyk
80d28f94ea Use secp crate directly without extra use statement (#1738) 2018-10-14 20:40:15 +08:00
Gary Yu
2e6a242827
small improvement on the servers test (#1737)
* cherry-pick from master for #1736
2018-10-14 20:13:49 +08:00
Gary Yu
6f4eb8dd2e
small improvement on the servers test (#1736)
* small improve on the servers test, to avoid Travis-CI failure on "job exceeded the maximum log length"

* rustfmt
2018-10-14 17:01:34 +08:00
Ignotus Peverell
00be540e0c Fix small txhashset download timeouts (#1735) 2018-10-14 15:25:17 +08:00
Ignotus Peverell
43f4f92730
[T4] Secondary proof of work difficulty adjustments (#1709)
* First pass at secondary proof of work difficulty adjustments
* Core and chain test fixes
* Next difficulty calc now needs a height. Scaling calculation fixes. Setting scaling on mined block.
* Change factor to u32 instead of u64.
* Cleanup structs used by next_difficulty
* Fix header size calc with u32 scaling
2018-10-13 13:57:01 -07:00
Gary Yu
e9f62b74d5 [T4] change compaction check trigger to 1 day and cut_through_horizon to 1 week (#1721)
* change chain compaction trigger from 2000 to 10080
* change CUT_THROUGH_HORIZON from 2 days to 1 week
* roll the dice to trigger the compaction
2018-10-13 09:34:16 -07:00
Gary Yu
9a716aea72
feature: txhashset downloading progress display on tui (#1729) (#1730)
(cherry picked from commit 5c0eb11a7d)
2018-10-13 10:12:13 +08:00
Antioch Peverell
4dff68ab61 Remove kernel sum header (#1723)
We maintain this locally in block_sums in the db (sums can be rebuilt from local data)
2018-10-12 18:15:29 -07:00
Ignotus Peverell
805cc24e73
Removed kernel sum from header. Fixes #1568 2018-10-13 00:57:08 +00:00
Gary Yu
5c0eb11a7d feature: txhashset downloading progress display on tui (#1729) 2018-10-12 15:53:50 -07:00
Gary Yu
3fb4669d0a
small speed optimization for header sync (#1728)
* fix: avoid a confusing log when fastsync start (#1720)

(cherry picked from commit 4f462cdfdc)

* small speed optimization for header sync (#1719)

(cherry picked from commit d3589d1bf5)
2018-10-12 08:44:35 +08:00
Antioch Peverell
9adbaf55a1
reset_sync_head on setup_head, no need for reset_head (#1725) 2018-10-11 13:13:03 +01:00
Antioch Peverell
df0dc91891
Chain init reset sync head (#1724)
* fix: binary auto release feature broken (#1714)

* fix a mistake on script

* reset_sync_head on setup_head, no need for reset_head
2018-10-11 12:28:07 +01:00
Gary Yu
d3589d1bf5
small speed optimization for header sync (#1719) 2018-10-11 16:47:27 +08:00
Gary Yu
4f462cdfdc
fix: avoid a confusing log when fastsync start (#1720) 2018-10-11 12:38:13 +08:00
Yeastplume
d756da062a [T4] warning cleanup (#1713)
* clean up warnings
* rustfmt
2018-10-10 08:56:15 -07:00
Gary Yu
a9c514d774
fix: binary auto release feature broken (#1714)
* fix a mistake on script
2018-10-10 19:02:29 +08:00
jaspervdm
e69b2ace70 [T4] Update transaction schematic (#1712)
* Update transaction schematic

* Fix typo
2018-10-10 11:28:36 +01:00
Yeastplume
6c8c483172
[T4 ONLY] BIP32 Wallet Compliance - Aggsig Updates - Bulletproof Updates (#1501)
* change keychain to use bip32 paths

* convert keychain to use bip32

* change identifier to be serialisation of 4-level bip32 path

* wallet changes compiling, pass parent key into all wallet functions

* rustfmt

* fix tests in chain

* rustfmt

* core tests passing

* rustfmt

* pool tests

* rustfmt

* fixing wallet tests

* rustfmt

* remove file wallet

* wallet tests compiling

* rustfmt

* remove db_migrate

* successful tx exchange test using BIP32 paths

* rustfmt

* fix wallet derivation paths to m/0/0/0

* wallet test fixed again, working with default path

* rustfmt

* fix server tests

* rustfmt

* make parent_id a trait on walletbackend

* rustfmt

* add ability for wallet to switch between multiple named accounts, and tests (not complete)

* rustfmt

* account switching tests in place and passing

* rustfmt

* compile and test with latest libsecp changes

* added public key sum to calculated e for aggsig

* rustfmt

* Update secp to 26

* bulletproof bip32 path integration

* rustfmt

* wallet restore updated with bip32 paths, also restores accounts

* rustfmt

* rustfmt

* remove old extkey

* remove old extkey

* rustfmt

* add wallet account commands

* rustfmt

* update wallet documentation

* rustfmt

* merge from master

* update libsecp tag

* merge from upstream and fix server test

* rustfmt

* rustfmt

* merge from master

* update latest libsecp merge

* fix commitment to zero value generation
2018-10-10 10:11:01 +01:00
Yeastplume
92f826a917
[T4 ONLY] T4 PoW changes (#1663)
* T4 PoW changes

* rustfmt

* adjust sizeshift depending on pow type during ser/deser

* update block size tests for cuckatoo sizeshift
2018-10-10 10:09:44 +01:00
Gary Yu
fa656ca44a
chain difficulty_iter don't need a WriteTransaction batch (#1710) 2018-10-10 16:49:07 +08:00
Gary Yu
009baa1b91
fix: panic at get_locator (#1711) 2018-10-10 16:48:41 +08:00
Gary Yu
0a96949fd6
docs: contributing.md twitter link for the council (#1708) 2018-10-10 09:52:06 +08:00
wimel
991cffd0c7 Translate intro.md to spanish (#1707)
* Create intro_ES.md, translate intro.md to spanish

* Create fast-sync_ES.md, translate fast-sync.md to spanish
2018-10-10 08:10:23 +08:00
Antioch Peverell
d10f373911
Batch cache (#1706)
* leverage the cache for reads via the batch
add additional block_sums cache

* rustfmt
2018-10-09 22:48:21 +01:00
Antioch Peverell
4a1e3c27bb
sleep for 10s in syncer when not syncing (#1705) 2018-10-09 21:50:55 +01:00
Ignotus Peverell
01735544ac
Readme twitter link for the council 2018-10-09 18:39:34 +00:00
wimel
eee16c3e48 Create build_ES.md (#1703) 2018-10-09 16:55:05 +01:00
Antioch Peverell
a676eb1b39
Replace RefCell with RwLock in OneTime (and cleanup Weak usage) (#1694)
* rustfmt

* use RwLock in OneTime (and not RefCell)

* rustfmt

* put weak refs back and cleanup

* rustfmt

* revert weak in adapters
2018-10-09 16:53:57 +01:00