nimbus-eth1/wrappers
Ș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
..
README.md refactor the C and Go wrapper build system 2019-08-02 18:13:47 +02:00
wrapper.c refactor the C and Go wrapper build system 2019-08-02 18:13:47 +02:00
wrapper.go refactor the C and Go wrapper build system 2019-08-02 18:13:47 +02:00
wrapper.h refactor the C and Go wrapper build system 2019-08-02 18:13:47 +02:00
wrapper.nim refactor the C and Go wrapper build system 2019-08-02 18:13:47 +02:00

README.md

This folder contains an experimental C wrapper for using parts of the Nimbus code from C/Go in the Status console client:

https://github.com/status-im/status-console-client/

It serves mainly as a proof-of-concept for now - there are several unresolved issues surrounding threading, inter-language communication, callbacks etc.

To build the wrappers and the test programs, run from the top level directory:

make wrappers

Now you can run the test programs:

build/C_wrapper_test
build/go_wrapper_test