Commit Graph

296 Commits

Author SHA1 Message Date
Zahary Karadjov a99977b772 Progress towards #991; Enable the distinct ssz.List type 2020-05-19 15:53:03 +03:00
tersec 8432932c11
update to spec v0.11.2 to keep compatible with Schlesi (#1036)
* update to spec v0.11.2 to keep compatible with Schlesi

* update spec/state_transition_epoch spec references to v0.11.2

* bump other spec refs
2020-05-18 23:05:27 +00:00
Dmitriy Ryajov 398166369b bump libp2p to latest master 2020-05-18 21:51:03 +00:00
Jacek Sieka 6be7d64e8c
bump libp2p (#1031) 2020-05-18 10:11:21 +02:00
Ștefan Talpalaru c232fd0b3d
bump vendor/nimbus-build-system 2020-05-15 14:27:21 +02:00
Jacek Sieka 6c9e2d98a8 bump libp2p 2020-05-14 16:41:19 +03:00
Jacek Sieka a605c7244e simplify libp2p snappy
* handle a few more exceptions gracefully (in libp2p also)
* unify libp2p varint parsing
* decompress directly into seq
* avoid seq slice
* stop oversized snappy processing earlier (lowers risk)
2020-05-14 16:41:19 +03:00
Viktor Kirilov 926d1c546e updated news, also no longer allowing event handlers to raise anything other than a Defect in the Web3 API 2020-05-14 14:10:26 +03:00
Zahary Karadjov e537ed94d6
Bump some modules 2020-05-13 12:19:58 +03:00
Zahary Karadjov 75c1c6a95c Enable Snappy by default (using LibP2P steams for now)
This refactors the newly added Snappy streaming back-ends trying to
make them more similar and to reduce the code duplication to a minimum.
2020-05-13 12:18:42 +03:00
Zahary Karadjov f055fad08a Make the Snappy FastStreams integration optional by duplicating it for LibP2P streams 2020-05-13 12:18:42 +03:00
Zahary Karadjov 7e846a0bce Implement sszSize 2020-05-13 12:18:42 +03:00
Zahary Karadjov dbe0010504 Bump nim-snappy 2020-05-13 12:18:42 +03:00
Zahary Karadjov 15f0153441 Cosmetic improvements 2020-05-13 12:18:42 +03:00
Zahary Karadjov 9538b60704 Integrate the async Snappy implementation 2020-05-13 12:18:42 +03:00
Zahary Karadjov a739d7e8d6 Adapt SSZ to the latest FastStreams API 2020-05-13 12:18:42 +03:00
Jacek Sieka 0d1a602cf5
bump libp2p 2020-05-11 21:06:58 +02:00
Ștefan Talpalaru 2d78523423
fix Grafana dashboards (#1006)
* fix Grafana dashboards

and refactor a couple of scripts

* start.sh: allow running standalone script
2020-05-11 18:35:53 +00:00
Jacek Sieka fb2e0ddbec
sync fixes (#1005)
* sync fixes

* fix Status message finalized info
* work around sync starting before initial status exchange
* don't fail block on deposit signature check failure (fixes #989)
* print ForkDigest and Version nicely
* dump incoming blocks
* fix crash when libp2p peer connection is closed
* update chunk size to 16 to work around missing blocks when syncing

* bump libp2p

* bump libp2p

* better deposit skip message
2020-05-11 18:08:52 +00:00
Ștefan Talpalaru a7a50824a1
more metrics (#1004) 2020-05-11 06:25:49 +00:00
Jacek Sieka 592d6f65c3
bump (#1001) 2020-05-09 16:47:14 +02:00
Ștefan Talpalaru c572f61129
bump vendor/nim-metrics 2020-05-09 01:13:57 +02:00
Ștefan Talpalaru fc9d6bc1b3
enable SO_REUSEADDR in libp2p transports 2020-05-08 21:50:20 +02:00
Eugene Kabanov 3ffd0d7216
Fix gossip messages not delivered. (#983) 2020-05-06 15:42:59 +00:00
Jacek Sieka e65f5c86da
vendor: bump (#954) 2020-04-30 18:27:04 +02:00
Zahary Karadjov 667bdf066a Bump Chronicles to fix a minor bug; Add a placeholder for disabled topics 2020-04-28 13:49:30 +03:00
Zahary Karadjov 7237a370ba Implement https://github.com/status-im/nim-beacon-chain/issues/872
Please see the newly added 'schlesi-dev' Makefile target.
It demonstrates how the log level can be specified for individual topics.

Additionally, when connecting to testnets like 'schlesi' there will be
two additional log files produced in the working directory:

* json-log.txt
* text-log.txt (in the textblocks format)
2020-04-28 13:49:30 +03:00
Jacek Sieka 898df9ba45
kvstore: port to nim-eth (#938) 2020-04-27 18:36:28 +02:00
Zahary Karadjov 740b76d152 Spec-compliant implementation of Eth1 monitoring; Eth1-enabled local sim
BEWARE! This commit will trigger a stack overflow during local sim
2020-04-26 13:04:53 +03:00
Jacek Sieka fe30b24aba
bump (#929) 2020-04-24 11:47:51 +02:00
Viktor Kirilov 0079242457 again exported the right overloads for serializing hashes properly to json (and not as byte arrays) and updating nim-eth 2020-04-23 20:46:13 +03:00
Jacek Sieka 6729d3c032
kvstore: fix raising, be harsher on database errors (#923)
* kvstore: fix raising, be harsher on database errors

* bump stew/serialization
2020-04-23 08:27:35 +02:00
Zahary Karadjov ae9ca33aca
Disable the faststreams destructors 2020-04-22 21:33:04 +03:00
Jacek Sieka ed74770451
spec: regulate exceptions (#913)
* spec: regulate exceptions

* a few more simple raises
2020-04-22 07:53:02 +02:00
Ștefan Talpalaru 2f74951c04
bump submodules (#912) 2020-04-21 16:54:32 +02:00
Giovanni Petrantoni b441a373db Bump libp2p submodule 2020-04-21 10:46:21 +09:00
Ștefan Talpalaru 1babc00255
new initial submodule update strategy (#904)
* new initial submodule update strategy

* Azure: fix command order
2020-04-19 01:25:21 +02:00
Jacek Sieka 8b6c51e78d
secp: convenience api (#897) 2020-04-17 15:29:49 +02:00
Ștefan Talpalaru 6975869ad6
bump submodules (#899) 2020-04-17 01:04:46 +02:00
Zahary Karadjov e7259ce7ec
Bump faststreams 2020-04-17 00:23:11 +03:00
Zahary Karadjov a4830976ab
hotfix: fix the selecting of the syncing protocol handlers 2020-04-16 15:01:19 +03:00
Ștefan Talpalaru 7b8d6ea61c
bump vendor/nimbus-build-system (#894)
* bump vendor/nimbus-build-system

* change beacon_node banner

* beacon_node: update copyright years

* version.nim is imported in beacon_chain.nimble
2020-04-16 00:20:27 +02:00
Zahary Karadjov 99f9bc4eee Fix the inspector build 2020-04-16 01:01:18 +03:00
Zahary Karadjov 672f690bf6 Implement most of the v0.11.1 networking changes 2020-04-16 01:01:18 +03:00
Zahary Karadjov 8d639d9bd7 Avoid accidental memory allocations in SSZ 2020-04-16 01:01:18 +03:00
Zahary Karadjov ca49494356 Fix test_fixture_ssz_generic_types 2020-04-16 01:01:18 +03:00
Zahary Karadjov f34fd46e3a Add snappy and protobuf-serialization; Use the latest FastStreams API 2020-04-16 01:01:18 +03:00
Ștefan Talpalaru 7435c2010f
remove last traces of Go support
You'll have to run `chmod -R 755 vendor/go && rm -rf vendor/go` locally.
2020-04-15 14:38:42 +02:00
Ștefan Talpalaru b7a32a17ba
bump submodules
and remove failing syncManagerGroupRecoveryTest
2020-04-14 18:21:56 +02:00
Jacek Sieka bf2355d877
bump modules (#885) 2020-04-13 08:57:55 +02:00
Jacek Sieka afa08c8e3c
crypto: cleanup (#882)
* crypto: cleanup

* fix several Defect-on-user-input
* make crypto interface more similar to secp
* use `crypto.nim` in all of nbc

* digest: raises

* fix

* vendor
2020-04-11 10:51:07 +02:00
Ștefan Talpalaru a7fe5e4218
Azure: change NimBinaries cache key
- also bump submodules to match "devel"
2020-04-08 17:33:13 +02:00
Ștefan Talpalaru 2308dc9520
bump Nim target commit to latest devel 2020-04-08 14:36:03 +02:00
Zahary Karadjov 779349c11d
Compile NBC with Nim 1.2 RC 2020-04-03 22:04:03 +03:00
Jacek Sieka d180724d41
Bump eth (#857)
* vendor: bump stew
* vendor: bump nim-eth
* vendor: bump web3 too
2020-04-03 11:12:38 +02:00
Ștefan Talpalaru eaf4594f77
bump submodules 2020-04-01 23:05:49 +02:00
Ștefan Talpalaru 3ccb2dcb88
Merge branch 'discv5-ip-checks' into bump 2020-04-01 22:48:17 +02:00
Dmitriy Ryajov f811ed63be
use pkill in start.sh to fix mac os (#845) 2020-04-01 10:53:05 +00:00
Ștefan Talpalaru 3239b62904
move "--import:libbacktrace" to config.nims
This simplifies the `./env.sh nim c -r ...` scenario.
2020-03-31 14:53:41 +02:00
kdeme 8b9c8a692e
Discv5: Don't pass ip address when external ip is not known 2020-03-31 12:02:13 +02:00
tersec f5f939bd31
0.11.1 beacon chain spec update (#836)
* initial 0.11.1 spec commit; no test regressions and finalizes in eth2_network_simulation

* with BLS 0.10/0.11 available, stop skipping attester slashing, proposer slashing, and voluntary exist operations fixture tests

* switch param orders to group state.{fork, genesis_validators_root}; bump spec/datatypes spec version for network purposes

* mark attestation construction and broadcast and some minimal/mainnet constants as 0.11.1-compatible; remove phase 1 sharding constants from minimal which don't exist in that preset
2020-03-30 11:31:44 +00:00
Dmitriy Ryajov 9b07b87ca5
bump libp2p (#837)
Both `make eth2_network_simulation` and `./scripts/launch_local_testnet.sh --nodes 4 --disable-htop -- --verify-finalization --stop-at-epoch=7` work locally.
2020-03-28 19:20:52 +00:00
Zahary Karadjov 86a3bea1ec Use the latest Chronos and Libp2p 2020-03-24 22:14:40 +02:00
kdeme b80a5b90df Adjustments to store bootnode enrs in discovery object + bump nim-eth 2020-03-24 22:14:40 +02:00
Ștefan Talpalaru 1752e1c2b6 bump submodules 2020-03-23 14:57:26 +02:00
Zahary Karadjov 5868afe341
Restore compilation with -d:p2pdump 2020-03-22 19:28:11 +02:00
Zahary Karadjov d589cb7964 Fix the build with Json logging enabled 2020-03-22 19:00:09 +02:00
Zahary Karadjov 7d2381240f Bump nim-eth and nim-json-rpc 2020-03-22 19:00:09 +02:00
Ștefan Talpalaru 4f0caeceed
Merge branch 'bump' into devel 2020-03-18 20:20:10 +01:00
tersec 2a2d6ea6f7
remove vestiges of rocksdb (#813) 2020-03-18 19:43:51 +01:00
Ștefan Talpalaru b0e7e248d5
bump submodules 2020-03-18 17:20:34 +01:00
Dustin Brody 75003c22e1 drop 0.10.1 EF test vectors 2020-03-17 12:06:56 +02:00
tersec 33687c3e41
remove lmdb (#809) 2020-03-14 11:33:37 +01:00
Zed f7862a4cc2 Update testutils submodule 2020-03-13 14:38:59 +00:00
Mamy André-Ratsimbazafy 04234bf90e Fix second stack-smashing (https://github.com/status-im/nim-blscurve/issues/43#issuecomment-598357932) 2020-03-13 12:20:41 +00:00
Mamy André-Ratsimbazafy 28dc8a6a29 Fix mock signatures/validator keys and stack smashing 2020-03-13 12:20:41 +00:00
Mamy André-Ratsimbazafy 985298be1e update blscurve with privtopub, serialize and exportRaw primitives 2020-03-13 12:20:41 +00:00
Mamy André-Ratsimbazafy c418bf2b24 Update vendor/nim-blscurve 2020-03-13 12:20:41 +00:00
Dustin Brody 158f3a5c13 bump EF test vectors to 0.11.0 (keeping 0.10.1) and clean up leftover tests/official/fixtures/ directory 2020-03-13 11:40:05 +00:00
Ștefan Talpalaru 68f166800d bump vendor/nim-metrics 2020-03-13 08:21:36 +00:00
Ștefan Talpalaru 1caafba79c
Merge pull request #803 from status-im/misc/bump-libp2p
bumping libp2p to latest master
2020-03-12 01:57:11 +01:00
Dmitriy Ryajov 8d6bfd7ce7 bumping chronos to latest master 2020-03-11 10:53:36 -06:00
kdeme 2e5899c6d7 Bump nim-eth for discv5 fixes 2020-03-11 16:05:11 +00:00
Dmitriy Ryajov 50df0051a8 bumping libp2p to latest master 2020-03-11 10:02:28 -06:00
Jacek Sieka cf2dd002f6
bump stew 2020-03-10 12:54:06 +01:00
Jacek Sieka 1f1f06e8d9
Revert "bump modules"
This reverts commit e93bb880cf.
2020-03-06 23:46:34 +01:00
Jacek Sieka e93bb880cf
bump modules 2020-03-06 23:12:25 +01:00
Jacek Sieka 435ce15b04
bump modules 2020-03-05 17:52:26 +01:00
kdeme 02717a6354 Use randomNodes from discv5 instead of lookup 2020-03-05 13:17:34 +02:00
Zahary Karadjov 2623ac191f
Force the nodes in the local sim to announce 127.0.0.1 in discovery 2020-02-27 20:45:26 +02:00
Ștefan Talpalaru c2c570fcb0
bump submodules
plus a few small modifications
2020-02-26 01:14:20 +01:00
Zahary Karadjov e4ed51a144
Add nim-testutils 2020-02-24 15:39:50 +02:00
Ștefan Talpalaru 8b8a99135f
bump vendor/nim-eth
and improve htop processes in launch_local_testnet.sh
2020-02-23 01:56:29 +01:00
Zahary Karadjov fa0f3b4468
Use the specified extip address in the advertised ENR records 2020-02-22 20:54:15 +02:00
Dmitriy Ryajov 08915ed597 bump libp2p and increase bootstrap timeout 2020-02-21 12:03:19 -06:00
Ștefan Talpalaru c10d53faaf
bump submodules 2020-02-21 01:35:54 +01:00
Ștefan Talpalaru fbb16d8aa3
bump vendor/nim-libbacktrace 2020-02-20 22:06:40 +01:00
Jacek Sieka c25f8d4adf
sqlite kvstore backend (#749) 2020-02-20 11:49:34 +01:00
Zahary Karadjov 55886ff0ac
More proper fix replacing hotfix 052a6ac3bc
nim-eth was bumped to take advantage of a fixed `==` for public eth keys
2020-02-19 11:59:38 +02:00
Zahary Karadjov 2d53f42fc4 Switch to the merged PR in Chronos and nim-eth 2020-02-18 12:53:49 +02:00
Zahary Karadjov b2d5aba749 Advertise the TCP port of the bootstrap node properly 2020-02-18 12:53:49 +02:00
Zahary Karadjov 2c814db750 Temporary switch to supporting only ENR bootstrap addresses
Turns out the DiscV5 code relies heavily on the presence of ENR
records at the moment, so we cannot drive it with ENodes. @kdeme
is working on refactoring that will relax these requirements.
2020-02-18 12:53:49 +02:00
Zahary Karadjov d2f59ebab9 Switch to ENR records in the bootstrap_nodes.txt file 2020-02-18 12:53:49 +02:00
Zahary Karadjov a620c83916 Handle status bar spanning multiple lines (relevant for the Tmux network sim) 2020-02-18 12:53:49 +02:00
Ștefan Talpalaru 14b207e22d
bump vendor/nim-libp2p 2020-02-18 01:13:53 +01:00
Mamy André-Ratsimbazafy 59bfc1c7b5 Rebrand "fixtures" -> scenario + move to "vendor" 2020-02-17 15:26:11 +00:00
Ștefan Talpalaru e72dfeed73
nim-libbacktrace: don't build the C++ wrapper 2020-02-15 12:58:58 +01:00
Ștefan Talpalaru e5629ebc1f
bump vendor/nim-libbacktrace 2020-02-14 12:50:59 +01:00
Ștefan Talpalaru 06322385d9
lightweight stack traces
- plus some light test runner refactoring and some Makefile cosmetic changes
- compile tools with LOG_LEVEL=TRACE in CI
- bump a couple of submodules
2020-02-13 17:54:53 +01:00
Ștefan Talpalaru 1ce6d6bf31
fix Azure Pipelines 64-bit build 2020-02-12 02:05:24 +01:00
Ștefan Talpalaru 649d691081
bump submodules 2020-02-11 23:16:02 +01:00
Ștefan Talpalaru b2b284dd25
fork NimYAML
because of https://github.com/flyx/NimYAML/issues/77
2020-02-11 22:21:07 +01:00
Jacek Sieka 5cea471c4b
bump libp2p 2020-02-08 20:19:33 +01:00
Dmitriy Ryajov 0bc16518ed bumping libp2p to latest 2020-02-05 20:59:32 +01:00
Zahary Karadjov d634eba3fd
Produce a json log file in the data dir of each node in the local network sim 2020-02-04 16:09:21 +01:00
Ștefan Talpalaru 2a7ef4e5e5
Nim 1.0.6 2020-01-31 22:26:10 +01:00
Ștefan Talpalaru 28264aa293
Nim 1.0.6 RC 2020-01-31 22:26:07 +01:00
Zahary Karadjov 1f1a244f3f Implement more checks and wire up the invalid SSZ tests 2020-01-29 10:10:28 +02:00
Zahary Karadjov 70a387d1c7
Bump Chronos 2020-01-28 22:29:18 +02:00
Zahary Karadjov 257771d9af
Bump Chronos 2020-01-28 00:59:37 +02:00
Jacek Sieka 4568d290b4
result -> stew/result 2020-01-24 09:36:04 +01:00
Zahary Karadjov 9daa10ee6d Bump modules 2020-01-21 01:26:57 +02:00
Zahary Karadjov 4848b12050 Detect and use Lighthouse's boot_enr.yaml files 2020-01-21 01:26:57 +02:00
Zahary Karadjov 52878405b7 Integrate Discovery V5 and support ENR bootstrap records 2020-01-21 01:26:57 +02:00
Zahary Karadjov ff140689da Bump nim-libp2p and nim-eth (switched to enr branch) 2020-01-21 01:26:57 +02:00
Jacek Sieka 2a67ac3c05 trie -> kv store
* simplify data storage to key-value, tries are not relevant for NBC
* locked-down version of lmdb dependency
* easier to build / maintain on various platforms
2020-01-20 13:39:37 +00:00
Ștefan Talpalaru 6a9baf9688
bump vendor/nim-libp2p 2020-01-13 19:53:42 +01:00
Jacek Sieka 746659bdc6
bump stew, fix warnings (#655) 2019-12-20 14:25:33 +01:00
Jacek Sieka b994da78a7 Move some attestation/block logic out of beacon node
* state data cache in block pool
* keep head state around
* more attestation logic in attestation pool
* first fork choice tests (!)
* fix fork choice (it's still likely broken / out of date)
2019-12-19 16:17:45 +00:00
Ștefan Talpalaru bc8264a043
bump nim-eth & nim-nat-traversal 2019-12-12 02:35:15 +01:00
Ștefan Talpalaru 6dd54393ed
bump vendor/nim-nat-traversal 2019-12-10 16:46:31 +01:00
Jacek Sieka 2d5605524a
bump submodules 2019-12-10 15:52:15 +01:00
Jacek Sieka a3145f0f5c cleanups
* move stuff out of beaconnode
* fix use-after-free in query
2019-12-10 14:47:52 +00:00
Zahary Karadjov 10e6d4842f Local sim finalizes with native LibP2P 2019-12-10 15:02:16 +02:00
Zahary Karadjov 889031453f The beacon node can be compiled with the LibP2P native back-end
This hasn't been tested yet even in local sim.
2019-12-10 15:02:16 +02:00
Ștefan Talpalaru f8e2496b06
bump vendor/nimbus-build-system [skip ci] 2019-12-03 17:18:35 +01:00
Zahary Karadjov ee2448b221 Simple validator onboarding
On your very first connection to each testnet, you'll be asked to
become a validator. Please consult our private repo for a Goerli
Eth1 private key that you can use for deposits.

Other changes:

* Added a simple wrapper ./connect-to-testnet script calling the
  nims file in the correct environment. No extension was used to
  make the command the same on Unix and Windows.

* Bumped a number of modules with fixes from this week

* `make testnet0` and `make testnet1` will no longer delete your
  existing database. This is considered a more appropriate behavior
  for testing forward sync.
2019-12-03 02:23:17 +02:00
Ștefan Talpalaru 7682a010a9 remove getCurrentExceptionMsg() 2019-12-02 22:06:42 +02:00
Ștefan Talpalaru 84c189fd1b Nim 1.0.4 (#604)
* Nim 1.0.4

* Azure: try to fix cache key

* mock_validator_keys.nim: fix index out of bounds

* Travis: make Nim building verbose
2019-11-29 10:17:18 +01:00
Ștefan Talpalaru d5f20846ad Jenkinsfile setup 2019-11-28 17:32:46 +02:00
Zahary Karadjov 34ed2b0fa4 Bump nim-eth 2019-11-26 02:45:25 +02:00
Yuriy Glukhov 2e875ea17e Better connection error handling in MainchainMonitor 2019-11-25 13:45:53 +02:00
Ștefan Talpalaru 38077162b9
bump vendor/nimbus-build-system 2019-11-18 09:18:20 +01:00
Ștefan Talpalaru 99164bbfdd
bump vendor/nim-nat-traversal and vendor/nimbus-build-system 2019-11-14 17:52:01 +01:00
Zahary Karadjov 5a6a8e9520 Finalizing setup for testnet1; Auto-restart of the docker containers after testnet resets 2019-11-12 19:08:12 +00:00
Zahary Karadjov 7fe18732d5 Bump confutils 2019-11-12 19:08:12 +00:00
Zahary Karadjov ac5aabd569 Use the latest confutils 2019-11-11 23:29:36 +00:00
Zahary Karadjov fb180a1313 A `query` CLI command for inspecting the state of the database (WIP) 2019-11-11 23:29:36 +00:00
Ștefan Talpalaru 3192d1fb4d
bump vendor/nim-metrics 2019-11-10 18:57:51 +01:00
Ștefan Talpalaru c1a63035b9 beacon_node: "--version" option [skip ci]
fixes #466
2019-11-09 17:43:42 +00:00