85 Commits

Author SHA1 Message Date
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
Mamy Ratsimbazafy
753d5af447
Test vectors: use tarballs, allow multiple spec versions for progressive spec updates (#514)
* update test submodule [skip ci]

* rename the process_lfs script to setup_official_tests [skip ci]

* clarify that the existing LFS is for json files [skip ci]

* Update again to use download/unpack function library

* update the test downloading script [skip ci]

* Update EF fixtures with new test path

* fix symlink order

* Fix relative:absolute symlink issue

* add symlink existence check

* setup_official_tests.sh: refactoring
2019-11-01 09:44:16 +01:00
Zahary Karadjov
efa063d4bc
Safer handling of the git operations in the eth2-testnets repo [skip ci] 2019-10-31 20:07:48 +02:00
Yuriy Glukhov
abbe4075fa Fixed deposit contract deployment 2019-10-30 17:23:34 +02:00
Ștefan Talpalaru
7fa7c8ee53
Merge branch 'CI' 2019-10-29 21:28:14 +01:00
Zahary Karadjov
068cc8066e
Store the testnet metadata in the official eth2-clients repo [skip ci] 2019-10-29 20:22:25 +02:00
Zahary Karadjov
6664f1689f
Use SSZ genesis files
Multi-client testing requires more portable formats, and SSZ is
much better specified than our flavour of Json.

Tools like ncli and zcli can be now used to inspect the contents
of the SSZ files.
2019-10-29 19:16:32 +02:00
Zahary Karadjov
efa6d2d08e
Fix some obsolete paths and delete obsolete scripts 2019-10-29 19:16:32 +02:00
Zahary Karadjov
1ef9f458ac
Remove hard-coded variables from the manage_testnet_hosts script 2019-10-29 19:16:32 +02:00
Zahary Karadjov
3da4d4f23a
Remove some obsolete code 2019-10-29 19:16:32 +02:00
Zahary Karadjov
f5fb4277b4
Testnet reset script fixes 2019-10-29 19:16:32 +02:00
Zahary Karadjov
f1ea0cec32
Add support for testnets with mixed quickstart/random deposits 2019-10-29 19:16:32 +02:00
Ștefan Talpalaru
49b67f58fc
Travis: ARM64 build
Azure changes:

- use newer caching task
- add the branch name to cache keys
- install the 64-bit MinGW-w64 ourselves

Homebrew fix
2019-10-29 16:10:43 +01:00
Zahary Karadjov
b244f35731
Make the deposit contract metadata file optional 2019-10-29 02:27:13 +02:00
Zahary Karadjov
734ab64da8
Unix-style command-line params for the 'deposit_contract' binary 2019-10-29 02:20:47 +02:00
Zahary Karadjov
f92db449e1
nims script for connecting to testnets published in the eth2-testnets repo
See https://github.com/ethereum/eth2.0-pm/pull/93 for more info
2019-10-29 01:07:31 +02:00
Zahary Karadjov
ba0037738b
Removed all code related to the old network metadata files
Also switched to a more "standard" naming convention for the
command-line parameters.
2019-10-29 01:04:52 +02:00
Yuriy Glukhov
9d3889cbab
WIP Goerli testnet 2019-10-28 15:51:17 +02:00
Zahary Karadjov
df7531f9bf
More testnet scripts fixes cherry-picked from the interop branch 2019-09-26 19:07:38 +03:00
Zahary Karadjov
0eaa433e84
Automated scripts for resetting the Status testnets
For detailed instructions, please see

https://github.com/status-im/nimbus-private/blob/master/testnets-maintenance.md
2019-09-26 18:58:51 +03:00
Zahary Karadjov
e59bb6ecab
Switch testnet1 to the minimal preset, so it's compatible with interop clients 2019-09-26 18:58:51 +03:00
Jacek Sieka
65ff8f2886
remove networkId (unused) 2019-09-11 20:29:57 -04:00
Jacek Sieka
7b73b40bab interop updates
* add interop launcher scripts
* stick validator_keygen into beacon_node
* fix lmd ghost slot number on missing block
* use mocked eth1data when producing blocks
* use bls public key method for withdrawal credentials
* fix deposit domain
* prefer lowercase for a bunch of toHex
* build simulation binary in data folder to avoid data types confusion
2019-09-02 22:14:18 +03:00
Mamy Ratsimbazafy
1ec4c5aef7
Prepare for v0.8.3 tests: submodules + LFS script + Appveyor updates (#368)
* Update fixtures to 0.8.3

* v0.8.1 tests use new test path

* LFS caching: handle multiple versions of json_tests

* Enable paths > 260 characters in appveyor

* Appveyor: use git clone core.longpaths + the env variable at startup

* improve process_lfs.sh and cleanup submodules
2019-08-30 17:50:46 +02:00