A Hybrid C++/JS Neo3 SDK

Igor Machado
NeoResearch
Published in
1 min readMay 30, 2020

About one year ago the neopt project has started, aiming to provide Neo blockchain components for all kinds of devices. This project quickly branched into other independent subprojects, that were proven useful to Neo community projects in different languages, such as JS and Python.

Now, neopt project matured and gave birth to three new projects:

By using C++ as a strong basis for both high-performance and low-level portability, we may reach microcontrollers and low-energy devices, while also being able to provide libraries for a JavaScript SDK. We use Emscripten SDK to “convert” neo-cpp-core (in C++) into lib-neopt-core (in C++/JS), and then bundle a JS/WASM version of lib-neopt-core.

We then use lib-neopt-core in JS/WASM, linked together with secure cryptography libraries written natively in JavaScript, finally providing easy access to Neo3 latest features for both C++ and JS developers. The neopt-sdk is one of the products of this process, already used by https://neocompiler.io experimental neo3 support.

We believe that this solid basis will quickly evolve into more components being provided to community developers, where NeoVM (v3) is likely to be the next target.

You can also experiment it in a online demo. Website will be updated as soon as more features are made available for C++/JS/WASM conversion.

--

--