Commit Graph

143 Commits

Author SHA1 Message Date
Zahary Karadjov 01ea66f24e Some documentation and better defaults 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 4275abbefe Makefile targets for ctail and ntu 2020-06-22 17:30:04 +03:00
Ștefan Talpalaru ed054d601f
Azure: reduce 32-bit Windows job runtime (#1168)
* Azure: lighten the load on 32-bit

* disable mainnet tests on 32-bit Windows
2020-06-14 04:25:19 +02:00
Ștefan Talpalaru f5ec1bc5bb
support multiple local Witti nodes [skip ci] 2020-06-11 18:42:58 +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
Jacek Sieka 061be037d1 ncli_db: database tool
includes a benchmark tool for now
2020-05-28 17:43:02 +00:00
Jacek Sieka f53b55cbe0 SSZ cleanup
* be stricter about SSZ length prefix
* compute zeroHash list at compile time
* remove SSZ schema stuff
* move SSZ navigation to ncli
* cleanup a few leftover openArray uses
2020-05-28 19:15:16 +03:00
Ștefan Talpalaru 489565b5ab
Makefile: small testnet targets refactoring (#1078) 2020-05-28 06:28:10 +02:00
kdeme a857168c38 Add witti make targets 2020-05-27 13:49:18 +03:00
Viktor Kirilov 8760494c72 first batch of work towards the VC/BN split:
- we have a new binary which connects via RPC to the respective BN and has an internal clock - waking it up on every slot
- the BN has a new option called --external-validators and currently in order to have the VC binaries to run we need to pass EXTERNAL_VALIDATORS=yes to make
- factored some code out of beacon_node.nim for easier reuse in validator_api.nim and validator_client.nim
- the VC loads its associated private keys from the datadir for its BN
- most of the validator API calls have been implemented as a stub.
- the VC polls its BN at the start of each epoch - getting a list of all active validators for the current epoch - and then continues to request blocks and sign them with its appropriate validators when necessary
2020-05-25 16:23:15 +03:00
Mamy Ratsimbazafy 1916e1d2da
Revive nbench (#1022)
* Fix nbench compilation with HashedBeaconState

* Add nbench to tooling

* use newClone - fix 265e01e404 (r425198575)

* Detail advance_slot and hashTreeRoot

* Report throughput

* Fallback for ARM

* windows does not support inline ASM
2020-05-15 00:54:10 +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 01e9df97cb
cleanups (#962)
* remove broken serialized_sizes
* actually use sszdump module
* avoid bitops
* fix stack_sizes module name
2020-05-04 07:38:14 +02:00
Ștefan Talpalaru 3ac01140c6
Merge pull request #959 from status-im/publish
Makefile: add "publish-book" target
2020-05-02 20:57:23 +02:00
Ștefan Talpalaru 150aeaee74
make schlesi: fix NIMFLAGS and verbosity handling 2020-05-02 16:58:42 +02:00
Ștefan Talpalaru fa7d64c291
Makefile fix 2020-05-02 16:46:24 +02:00
Ștefan Talpalaru 43679bd04f
Makefile: add "publish-book" target
See https://github.com/rust-lang/mdBook/blob/master/book-example/src/continuous-integration.md#deploying-to-github-pages-manually
2020-05-02 16:30:34 +02:00
Jacek Sieka a3e098cf92
block pool simulator (#956)
* block pool simulator

like state_sim, but more
2020-05-01 17:51:24 +02: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 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 28d6cd2524
avoid memory allocations and copies when loading states (#942)
* rolls back some of the ref changes
* adds utility to calculate stack sizes
* works around bugs in nim exception handling and rvo
2020-04-28 10:08:32 +02: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
Ș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 9974b4bd7b
Jenkins: frak it, we're doing it live 2020-04-19 13:36:11 +02: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
Ș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
Ș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
Zahary Karadjov d7c36a677e Remove p2pd from the build recipes 2020-03-23 14:59:33 +02:00
Mamy André-Ratsimbazafy 47ccae4ad6 Disable compilation of bench_bls_sig_agggregation 2020-03-13 12:20:41 +00:00
cheatfate abcc71daa0 Add logtrace to Makefile. 2020-03-11 17:26:30 +00:00
Ștefan Talpalaru 929fcf0036
eth2_network_simulation: propagate LOG_LEVEL [skip ci]
also add a "--log-level" option to launch_local_testnet.sh
2020-03-09 01:37:57 +01:00
Ștefan Talpalaru e533e9f344
Makefile: build libnfuzz in the default target 2020-03-05 18:56:07 +01:00
Ștefan Talpalaru 0b05fecedc
make SCRIPT_PARAMS="--skipGoerliKey" testnet1 2020-02-25 02:49:47 +01:00
Ștefan Talpalaru ad36808b7d
Make: add USE_LIBBACKTRACE flag 2020-02-20 17:41:10 +01:00
Ștefan Talpalaru 4d62f3f1e1
Merge branch 'simstart' into devel 2020-02-15 13:02:30 +01:00
Ștefan Talpalaru e72dfeed73
nim-libbacktrace: don't build the C++ wrapper 2020-02-15 12:58:58 +01:00
Ștefan Talpalaru 98160d3227
tests/simulation/start.sh: refactoring [skip ci]
to avoid NIMFLAGS duplication
2020-02-14 13:35:23 +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
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
Dustin Brody 79893cd241 rm ncli_signing_root 2019-12-17 00:06:03 +02:00
Jacek Sieka 784932274e
build inspector always 2019-12-15 18:46:20 +01:00
Ștefan Talpalaru c7f6b70e8a
Makefile: cosmetic changes 2019-12-04 15:40:36 +01:00
Ștefan Talpalaru 45e2e41c1a
change format of Unicode characters
This makes Azure Pipelines happy.
2019-12-03 23:02:36 +01:00
Ștefan Talpalaru 0b783780be
third time's a charm 2019-12-03 20:39:54 +01:00
Ștefan Talpalaru 68fe8129d7
Azure: try another fix 2019-12-03 20:24:58 +01:00
Ștefan Talpalaru afb6aa4229
fix Azure 2019-12-03 20:11:28 +01:00
Mamy Ratsimbazafy 52cdb73e96
Fix instr when cloning from scratch (#621)
* Fix build instruction (make update deps is not enough on first install)

* use underline instead of bold

* Alternative fix

* Makefile: fix the default target on fresh clone

* fix ANSI escape code bleeding into my shell prompt
2019-12-03 19:52:54 +01:00
kdeme 5a51676a18 Address review comments 2019-12-03 14:33:47 +02:00
kdeme 3b3a2b10f1 First attempt to have some fuzz tests exported for the fuzzing framework 2019-12-03 14:33:47 +02: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 d5f20846ad Jenkinsfile setup 2019-11-28 17:32:46 +02:00
Ștefan Talpalaru e46e9b12a2 remove last traces of git-lfs usage 2019-11-22 14:15:04 +00:00
Ștefan Talpalaru 69154f4885
Makefile: "testnetX" target cleans up by default, before starting [skip ci] 2019-11-14 22:45:47 +01:00
Ștefan Talpalaru 48d7f656b5
Makefile: fix clean-testnet* targets [skip ci] 2019-11-12 23:20:12 +01:00
Ștefan Talpalaru 6c021f8c12
connect_to_testnet.nims: fix warning and enforce verbosity [skip ci] 2019-11-12 15:57:33 +01:00
Ștefan Talpalaru 35da46cc3c
Makefile: "testnetX" targets verbosity level [skip ci] 2019-11-05 23:54:52 +01: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 efa6d2d08e
Fix some obsolete paths and delete obsolete scripts 2019-10-29 19:16:32 +02:00
Yuriy Glukhov 9d3889cbab
WIP Goerli testnet 2019-10-28 15:51:17 +02:00
Ștefan Talpalaru 3a2fc249a2
simulation: metric visualisation 2019-10-23 20:57:59 +02:00
Jacek Sieka 2b20bf9bed
ncli: move to separate folder 2019-09-28 18:23:02 +02:00
Ștefan Talpalaru f5b0474aa2
Makefile: define SHELL for when submodules haven't been fetched yet [skip ci] 2019-09-10 02:50:09 +02:00
Jacek Sieka ea8ef2d6ed
add p2pd to deps target 2019-09-05 14:30:24 +02:00
Ștefan Talpalaru 94ade77c99
move "go-checks" to nimbus-build-system [skip ci] 2019-09-05 13:58:42 +02:00
Ștefan Talpalaru 83e01b00aa
remove unused variable [skip ci] 2019-09-05 13:18:18 +02:00
Ștefan Talpalaru 33a9370c99
improve tests/simulation/start.sh and friends [skip ci] 2019-09-05 12:55:47 +02:00
Ștefan Talpalaru 9547553066
Makefile: "nat-libs" is now included in "deps" 2019-09-04 19:19:39 +02: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
Ștefan Talpalaru 60dfa7081b
move build_p2pd.sh to nimbus-build-system 2019-08-25 15:44:45 +02:00
Ștefan Talpalaru 5dc6f60b08
process_lfs.sh: better verbosity handling 2019-08-24 03:54:04 +02:00
Ștefan Talpalaru 69ac78b2e0 new build system and submodules
- better p2pd building, with CI caching
2019-08-23 14:36:29 +03:00
Ștefan Talpalaru 6a4d27f4ac
Makefile: allow disabling the LFS script 2019-08-14 23:53:48 +02:00
Ștefan Talpalaru 28efbbd70f
undo the Makefile change 2019-08-14 23:16:39 +02:00
Ștefan Talpalaru 94a819a5c7
Makefile: try to fix Go version detection in `sanity-checks`
- set the Go version to 1.12.x for Travis
2019-08-14 22:23:33 +02:00
Ștefan Talpalaru 7fff9a09fc handle LFS fixtures for the test suite (#339)
* handle LFS fixtures for the test suite

* test_fixture_ssz_static.nim: allow the tests to fail properly

- switch to a debug build for the failing tests

* try -d:debug
2019-08-14 13:19:17 +02:00
Ștefan Talpalaru 2e9004a1c9
Makefile: add "p2pd" as a dep for "$(TOOLS)"
This also covers "eth2_network_simulation" since it depends on a couple
of those tools.
2019-07-23 17:28:04 +02:00
Ștefan Talpalaru 44af08cc86
beacon node wrapper script
Bonus: `make NIMFLAGS="--stackTrace:on" testnet1` now works as expected
2019-07-11 13:52:59 +02:00
Ștefan Talpalaru d554374409
Makefile: mark the "p2pd" target as phony 2019-07-11 12:28:11 +02:00
Ștefan Talpalaru 2768a3e89e
Ctrl+C handling and:
- added a "quitProc" for shutting down the p2pd process, after seeing it
  survive an unhandled exception (this required a global var for the
  DaemonApi instance)
- Makefile testnet0/1 targets now depend on the "p2pd" binary
- prefixed the testnet command line in the build script message with
  "../../env.sh" so it can find the superproject's "p2pd"
2019-07-11 04:36:07 +02:00
Ștefan Talpalaru 8b2fd73e25
Makefile: more sanity checks 2019-04-19 22:11:24 +02:00
Ștefan Talpalaru 53012b9a25
NAT traversal 2019-04-18 15:48:17 +02:00
Ștefan Talpalaru 86832d3b4d
clean_eth2_network_simulation_files: also delete validators 2019-04-17 17:54:28 +02:00
Ștefan Talpalaru 59bb4a5a18
Makefile: don't delete any DLLs in the `clean` target 2019-04-13 00:15:38 +02:00
Ștefan Talpalaru 9dcf1334f2
Makefile: workaround for Windows 10 with WSL enabled 2019-04-11 16:01:28 +02:00
Ștefan Talpalaru d0f8171fb4
Makefile: low verbosity by default 2019-03-29 18:21:14 +01:00
zah e16d8faee2 Switch to a two-steps build process (#228) 2019-03-29 10:44:19 -06:00
Ștefan Talpalaru 8107297f2e
Makefile: `testnet0` no longer cleans the cache. 2019-03-29 16:55:46 +01:00
Ștefan Talpalaru 2fd9f93e69
Makefile: silence an eventual compiler build in the `deps` target 2019-03-29 15:32:36 +01:00
Ștefan Talpalaru 5cdb8d1c2f
Makefile: mark phony targets and clean the "clean" target 2019-03-29 03:17:08 +01:00
Ștefan Talpalaru 819992a786
Makefile: testnet targets wrapping connect_to_testnet.sh
- also moved the binary into the "build" directory
2019-03-28 23:19:12 +01:00
Ștefan Talpalaru f8fbe0ff3b Makefile that only works in a Git submodule (#210)
- updated README.md
- beacon_chain.nimble: accept compilation flags as params
- nim.cfg: enable `--opt:speed` at the top level
- simulation scripts: allow overriding GIT_ROOT and do some refactoring
2019-03-28 09:18:59 -06:00