Commit Graph

108 Commits

Author SHA1 Message Date
Mamy André-Ratsimbazafy 37446302b2 Use the new nim-eth2-scenarios path for the test vectors 2020-02-17 15:26:11 +00: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 82447e22b2
cleanup [skip ci] 2020-02-11 18:43:57 +01:00
Ștefan Talpalaru 8df447d497
Docker: optimise container beacon_node for server CPU [skip ci]
This means that we can no longer do "docker run" locally, so we compile
a local beacon_node with the same flags as the container one.
2020-02-11 18:41:25 +01:00
Ștefan Talpalaru d78a7f4a6a
Merge branch 'runtimeloglevel' into devel 2020-02-09 03:38:14 +01:00
Ștefan Talpalaru 6007b01d47
testnet: don't use -march=native when building the Docker image [skip ci]
(because we run that Docker image both locally and remotely, we can't
use the server's "-march" either)
- reduce the genesis offset to 5 minutes
2020-02-09 03:22:42 +01:00
Stefan Talpalaru 7feaa11372
make testnetX: propagate LOG_LEVEL to beacon_node runtime [skip ci]
This allows running `make LOG_LEVEL=TRACE testnet1` and having that log
level also enabled at runtime, not just at compile time.
2020-02-08 00:57:48 +01:00
Jacek Sieka 521b0ed6ba
Clean 20200205 (#729)
* beacon node code cleanup
* rudimentary error checking on mainnet monitor
* start client even when sending deposit
* work around missing block number exception
* connect to testnet with web3 url
* pretty-print digests in json
2020-02-07 08:13:38 +01:00
Stefan Talpalaru a37aa3b86d `make testnet1`: switch the local node to the Nim libp2p
so we can debug it without having to also consider Go-Nim libp2p
interoperability issues
2020-02-06 13:36:28 +01:00
Zahary Karadjov 0d9503ee49
Allow run-time switching to the TRACE log level 2020-02-03 17:06:35 +01:00
Zahary Karadjov 2cb1cc69ba Fix shell script error triggered by braces in testnet names 2020-01-29 10:10:28 +02:00
Zahary Karadjov b1c247fa4a
Change the testnet servers domain names 2020-01-28 22:28:52 +02:00
Zahary Karadjov 7781536576
Handle the option of not resetting the network properly 2020-01-22 21:11:15 +02:00
Ștefan Talpalaru 7e36ba4f4e launch_local_testnet.sh 2020-01-22 13:44:58 +00:00
Zahary Karadjov c65575d105 Improved logging related to bootstrap nodes 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 095b271bd4 Implement a loader for custom const presets
The loader has been tested with the presets published by Lighthouse.
You can try connecting to one of their testnets by running:

cd nim-beacon-chain
./connect-to-testnet lighthouse/testnet0
2020-01-21 01:26:57 +02:00
Ștefan Talpalaru 13b9f61f6f
reset_testnet.sh: `make build` moved earlier [skip ci] 2020-01-13 14:48:19 +01:00
Ștefan Talpalaru 05f0950f41
cosmetic change [skip ci] 2020-01-13 14:40:40 +01:00
Ștefan Talpalaru cc1c3f9181
reset_testnet.sh: restart the nodes [skip ci]
Watchtower seems broken, so we need to restart them explicitly.
2020-01-13 13:55:09 +01:00
Ștefan Talpalaru c6f8fdab13
reset_testnet.sh: add newline [skip ci] 2020-01-13 13:37:50 +01:00
Ștefan Talpalaru 6e1b60de36
reset_testnet.sh: avoid "unbound variable" error [skip ci] 2020-01-13 13:21:22 +01:00
Ștefan Talpalaru c39ca5b5c3
reset_testnet.sh: push the Docker image right after building it [skip ci]
and let Watchtower manage container restart
2020-01-13 12:58:16 +01:00
Zahary Karadjov 6ae4070d3f Slightly safer testnet reset detection 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 3d2fde0cd4 alternative prompt solution and noise reduction 2019-12-05 10:43:41 +00:00
Ștefan Talpalaru 40648b463a connect_to_testnet.nims: default to "n" on the interactive prompt [skip ci] 2019-12-05 10:43:41 +00:00
Jacek Sieka afc0686b36 save ssz dummps during processing (#471) 2019-12-03 11:32:27 +00: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
Zahary Karadjov 7617e293a9 Make testnet1 identical to testnet0 2019-11-26 02:45:25 +02:00
Jacek Sieka fd4de5de0f
start untangling beaconnode (#589)
* Move BeaconNode type to its own file (fewer imports)
* disentangle sync protocol/request manager
* fix some old nimisms
* de-fear some logs
* simplify eth1 data production
* add stack tracing to release builds
* drop release compile flag for testnet
2019-11-25 15:36:25 +01:00
Ștefan Talpalaru e46e9b12a2 remove last traces of git-lfs usage 2019-11-22 14:15:04 +00:00
Dustin Brody 2fdfba1f34 don't need git-lfs anymore, since test vector download moved to curl from github; remove some unused OS/xz detection code from test vector download script 2019-11-21 09:50:03 +00:00
Zahary Karadjov 67991065d6
Cache the Nim build in docker; Use unique keys for the testnet bootstrap nodes 2019-11-19 02:05:46 +02:00
Ștefan Talpalaru f4273f7b89 Docker changes [skip ci]
- use a Debian Bullseye image
- use the distro's packages whenever possible
- cache as much as possible of the Git repos and tool binaries locally
- restrict Docker image pushing to specific branches; no build
  restrictions, to allow for easy development
2019-11-18 18:09:23 +00:00
Mamy André-Ratsimbazafy f98dd9b1bf Bump: only keep 0.9.1 tests, remove LFS 2019-11-14 12:48:34 +00:00
Zahary Karadjov 9af418c30d
Bugfix: the testnet nim flags were not being passed to Docker properly [skip ci] 2019-11-13 01:28:00 +00:00
Zahary Karadjov f40675509a Make all testnet env file values optional [skip CI]
Also removes some usages of SHARD_COUNT
2019-11-12 23:43:38 +00: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
Ștefan Talpalaru 6c021f8c12
connect_to_testnet.nims: fix warning and enforce verbosity [skip ci] 2019-11-12 15:57:33 +01:00
Zahary Karadjov 88010a1cd1 Allow running the reset_testnet script outside of the Nimbus env [skip ci] 2019-11-11 23:29:36 +00:00
Zahary Karadjov f5e9b9a922 Allow running local nodes without attached validators
The number of user nodes is now specified with `USER_NODES`.

To make the instructions more stable, the "numeric id" of the user
nodes will be starting from 0 (so you can always use `run_node.sh 0`
to start a user node).

If you specify a node index above the total number of nodes, you'll
launch a node without any validators attached (this is useful for
testing the sync for example).
2019-11-11 23:29:36 +00:00
Zahary Karadjov 22591deced Safer testnet restarts; Working CLI queries for inspecting the genesis states
When the connect_to_testnet script is invoked it will first verify that
the genesis file of the testnet hasn't changed. If it has changed, any
previously created database associated with the testnet will be erased.

To facilitate this, the genesis file of each network is written to the
data folder of the beacon node. The beacon node will refuse to start if
it detects a discrepancy between the data folder and any state snapshot
specified on the command-line.

Since the testnet sharing spec requires us to use SSZ snapshots, the Json
support is now phased out. To help with the transition and to preserve the
functionality of the multinet scripts, the beacon node now supports a CLI
query command that can extract any data from the genesis state. This is
based on new developments in the SSZ navigators.
2019-11-11 23:29:36 +00:00
Zahary Karadjov 9d858eef90 Switch testnet1 to a preset that is harder to finalize 2019-11-11 23:29:36 +00:00
Zahary Karadjov 13068c6b57 Safer testnet resets
* Delete the node database on all containers when resetting a testnet
* Add a simple mechanism for switching the URL of the eth2-testnets repo
* More flexible code for validator assignments
2019-11-11 23:29:36 +00:00
Ștefan Talpalaru 0794337ba6
simplify handling of eth2-clients/eth2-testnets repo [skip ci] 2019-11-07 21:10:59 +01:00
Yuriy Glukhov 568e669b1c Fixed deposit/contract 2019-11-07 17:23:06 +00:00
Ștefan Talpalaru e8a64e4206
Dockerfile: less verbosity, faster build [skip ci] 2019-11-07 02:32:59 +01:00
Ștefan Talpalaru 35da46cc3c
Makefile: "testnetX" targets verbosity level [skip ci] 2019-11-05 23:54:52 +01:00
Zahary Karadjov 14374504cf
Finalization experiements
* Switched to FloodSub
* Testnet0 switched to the minimal preset. All validators deployed on the master node.
2019-11-05 03:13:16 +02:00