51 Commits

Author SHA1 Message Date
Ștefan Talpalaru
33ad3c05fe
connect_to_testnet.nims: add "--buildOnly" and "--runOnly" opts [skip ci]
and "--writeLogFile"
2020-06-24 12:54:17 +02:00
tersec
1b3c19dc21
default to v0.12.1 beacon chain spec, keeping witti working (#1222)
* default to v0.12.1 beacon chain spec, keeping witti working

* a couple of fixes that help for the Onyx testnet
2020-06-23 19:40:44 +00:00
Zahary Karadjov
7211a99086 Smooth out the differences between Ganache and Infura; Working local sim and Altona target 2020-06-22 17:30:04 +03:00
Zahary Karadjov
1def383ad1 Reword the Tmux setup to handle all simulation scenarios in more visible way 2020-06-22 17:30:04 +03:00
Zahary Karadjov
e9d68e2f7b Add simulation mode that bootstraps from an Eth1 ganache instance 2020-06-22 17:30:04 +03:00
Ștefan Talpalaru
3a3d3f9bde
timestamps in log files 2020-06-17 16:44:48 +02:00
Ștefan Talpalaru
673eeb6a65
connect_to_testnet.nims changes [skip ci]
- remove `--dev-build` option
- unconditionally write the "nbc.log" file, but do it after a chdir to
  dataDir because Chronicles doesn't seem to support proper paths for
  "file(...)" in sink definitions
- change base RPC port (9090 -> 9190) because 9090 is the default
  Prometheus daemon listening port
2020-06-17 16:03:34 +02:00
Jacek Sieka
8fbbd59885
metric names (#1188)
* fix metric names to not clash with native libp2p metrics
* run testnet node with rpc enabled by default
2020-06-17 13:04:24 +02:00
Ștefan Talpalaru
f5ec1bc5bb
support multiple local Witti nodes [skip ci] 2020-06-11 18:42:58 +02:00
Ștefan Talpalaru
421378b92d
connect_to_testnet.nims: mkDir dataDir 2020-06-11 17:37:27 +02:00
Zahary Karadjov
a8113cf2bc Restore the local sim to a working state 2020-06-11 17:40:08 +03:00
Zahary Karadjov
17343442ea Implement more of the KeyStore spec and integrate it in the beacon node 2020-06-11 17:40:08 +03:00
Ștefan Talpalaru
8e648da399
connect_to_testnet.nims: don't die when GNU getopts is missing 2020-06-11 04:11:30 +02:00
Ștefan Talpalaru
e2025c5752
Prometheus & Grafana refactoring
- moved "process_dashboard.nim" in "tools/"
- README: made Witti the documented testnet and added instructions for
  getting metrics out of the local node
- moved Prometheus config file generation in its own script
- the static Grafana dashboard definition now covers all nodes, using
  a variable; only the remote testnet dashboards need to be dynamically
  generated
- "launch_local_testnet.sh" no longer needs a "--grafana" option
2020-06-10 19:55:26 +02:00
Ștefan Talpalaru
b0a7cb17eb
connect_to_testnet.nims: enable metrics [skip ci]
you still need to pass NIMFLAGS="-d:insecure" to Make
2020-05-27 22:35:40 +02:00
Jacek Sieka
30f84224a4 create dumpdir in beaconnode binary 2020-05-20 11:03:24 +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
Zahary Karadjov
fada11e1e9 Address review comments
* Create a json log named "nbc.log" only when the --dev-build option
  is specified to the connect_to_testnet script.

  This option is specified for the targets "testnet0", "testnet1"
  and "schlesi-dev"
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
Zahary Karadjov
80b538452e Updated the custom preset loader to the latest spec; Working makefile target for connecting to the Schlesi testnet 2020-04-27 23:22:54 +03:00
Zahary Karadjov
f0b1fffefc
Fix the connect_to_testnet script 2020-04-27 00:06:22 +03: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
Ștefan Talpalaru
39a893ea90
use the right preset in "make testnet{0,1}" [skip ci] (#932)
...and stop pretending to handle the preset in "connect_to_testnet.nims".
2020-04-24 17:28:03 +02:00
Ștefan Talpalaru
8af4ee9dbc connect_to_testnet.nims: don't hide makeDeposits failure [skip ci] 2020-04-18 16:17:18 +03:00
Zahary Karadjov
0c018cb68a Mechanically remove all mentions of the daemon from the code 2020-03-23 14:59:33 +02:00
Zahary Karadjov
d2b7ee27de The RPC service listens on localhost by default 2020-03-22 19:00:09 +02:00
Ștefan Talpalaru
0b05fecedc
make SCRIPT_PARAMS="--skipGoerliKey" testnet1 2020-02-25 02:49:47 +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
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
Zahary Karadjov
6ae4070d3f Slightly safer testnet reset detection 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
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
6c021f8c12
connect_to_testnet.nims: fix warning and enforce verbosity [skip ci] 2019-11-12 15:57:33 +01: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
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
Ștefan Talpalaru
35da46cc3c
Makefile: "testnetX" targets verbosity level [skip ci] 2019-11-05 23:54:52 +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
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
1ef9f458ac
Remove hard-coded variables from the manage_testnet_hosts script 2019-10-29 19:16:32 +02:00
Zahary Karadjov
b244f35731
Make the deposit contract metadata file optional 2019-10-29 02:27:13 +02:00