Commit Graph

20 Commits

Author SHA1 Message Date
Zahary Karadjov 137eb97766 Initial implementation of the merge spec
Includes a simple test harness for the merge interop M1 milestone

This aims to enable connecting nimbus-eth2 to nimbus-eth1 within
the testing protocol described here:

https://github.com/status-im/nimbus-eth2/blob/amphora-merge-interop/docs/interop_merge.md

To execute the work-in-progress test, please run:

In terminal 1:
tests/amphora/launch-nimbus.sh

In terminal 2:
tests/amphora/check-merge-test-vectors.sh
2022-01-24 09:44:39 +02:00
Ștefan Talpalaru 0c34a8e365
CI: use MSYS2 on Windows 2021-04-09 17:19:40 +07:00
Jordan Hrycaj 8e9364873b
restore test reports
why:
  currently outdated, so accidentally removed & hidden
2021-03-23 16:24:12 +00:00
Jordan Hrycaj de24b544c4
generate docs (and other niceties ..) for nimbus sub-directory
why:
  * easy browsing of prototype docs, allows to follow links with
    a web browser on the local file system
  * some md & png files may contain additional documentation

overview:
  * separate nimbus/makefile, try "make -C nimbus" for instructions
  * running "make -C nimbus docs" will do the job
  * x-ref file in nimbus/docs/theindex.html
  * additional md and png files in nimbus/docs/ex/.. subdirectory

details:
  * a newer nim compiler provides better referencing when available, in
    particular the back link to the indices are not provided by the 1.2.10
    nim compiler (automatically handled by makefile)
  * make patterns are used to update files only when the timestamp changes
  * should provide "discount" markdown generator, otherwise fallback
    to <pre/> encapsulated text file
2021-03-19 15:59:59 +00:00
Ștefan Talpalaru 73e9199ebf
new initial submodule update strategy (#494)
* new initial submodule update strategy

* Azure: increase timeout

* Makefile: change comment [skip ci]
2020-04-18 14:56:40 +02:00
Ștefan Talpalaru 1d7e14dc1b
refactor the C and Go wrapper build system
- moved "nimbus/api" to "wrappers"
- renamed files
- replaced the build scripts with Makefile targets
- set the rpath relative to the test binary's location so it can look
  for libnimbus.so there at runtime
- libnimbus.so.0 required on Linux, apparently
- compiled all the Nimbus code with `--app:lib`, not just one file (this
  required skipping a proc in "nimbus/config.nim" because it uses an API
  that's unavailable in libraries)
- removed static linking from the Go wrapper. It doesn't make sense at a
  global level, when using a shared Nimbus library. To selectively link
  static libraries, we should probably be specifying them as *.a. I did
  build a static libnimbus.a, as a test, but it insisted on dlopen-ing a
  shared version of itself which looked too ugly to continue.
2019-08-02 18:13:47 +02:00
Jacek Sieka 3c2daa8b80
Expose simple whisper api to C / go (#331)
* dummy c lib

* go stuffz

* Compile secp

* Compile as shared library

* Build with debug info

* Prelude exposed fns with setupForeignThreadGc() (naive)

To avoid GC/thread issues causing segmentation fault when running from Go.

* Add logging, fix lib path and gomaxprocs to make debuggable

* lock to os thread

* Address basic feedback and mark TODOs

* Use normal secp (shared lib flow now)

* api: cleanup, move to api folder
2019-07-31 10:05:22 +02:00
Ștefan Talpalaru 12d18a1fd6 build p2pd and run some client tests
(with `make V=0 test-libp2p-daemon`)
2019-02-27 13:33:18 +02:00
Ștefan Talpalaru 90dcb20d35 let the Makefile manage the symlink 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 16296cbe72 add submodules 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru ede45648e7 Premix-related changes
- build all tools using the Makefile and place them in ./build
- add copyright header to Makefile
- premix/readme.md edited to fix some errors, improve descriptions and
  document Makefile usage
- link the Premix documentation in the main README.md
- also build `hunter` in the nimble tests
- refactored the file and directory search so all debugging tools can be run
  from the top-level dir like this: `./build/<tool> ...`
- write all JSON debugging data in the current directory
- add JSON files generated in the top-level dir to .gitignore
- Nimbus now exits with an exception after dumping debug data and
  running `premix` on it
2019-01-28 12:38:23 +02:00
Ștefan Talpalaru bd9d15d947 new build system
- isolate dependencies (both Git repos and ".nimble" dir) in "vendor"
- ensure that everything is compiled using our version of Nim with
  something as simple as "make"
- pull the latest changes with "make update"
- re-create Nimble's package dir and re-build the Nim compiler automatically when needed
- "env.sh" script that can be used to prefix any command that needs to use
  "nim" or "nimble" from our Nim repo
- move the top level nim.cfg to nimbus/nim.cfg so it doesn't apply to
  deps
- "fetch-dlls" `make` target for Windows to get precompiled Snappy, RocksDB and SQLite DLLs
2019-01-09 14:25:00 +02:00
zah 277301701c
Remove some obsolete lines from .gitignore 2018-11-26 18:52:00 +02:00
Ștefan Talpalaru e9cc399775 enable global gitignore rules 2018-11-26 18:50:51 +02:00
Jacek Sieka 592f8bf061
vscode: add default build task 2018-08-22 21:43:22 -06:00
Yuriy Glukhov 8bdf09683b Hash256/EthAddrres refactoring 2018-05-30 19:11:15 +03:00
mratsim f0d74a4758 update .gitignore 2018-04-03 18:23:24 +02:00
Alexander Ivanov 211d46e39e Finish the first memory impl and tests, stack tests, fixes validation 2018-02-06 21:20:06 +02:00
Alexander Ivanov e6e3f09ebd Start using the new rlpFields macro 2018-01-30 12:51:13 +02:00
Jarrad 4aa2a479dd
Initial commit 2018-01-04 06:08:24 +00:00