Virtual Machine for the NEO blockchain written in C++
neo-hypervm aims to be a virtual machine in C++ 100% compatible with the NEO standard.
- Neo.HyperVM - C++ Native Virtual Machine
- NeoVM.Interop - Interoperability for C# calls
- NeoVM.Interop.Tests - Unit Tests
- Neo.HyperVM.Benchmarks - Benchmarks
For debugging the native source make sure to append the following line in **/Properties/launchSettings.json
"nativeDebugging": true
Copy binaries or create a symbolic link, also you can set NEO_HYPERVM_PATH
environment variable with the path of the native library
cd C:\neo-hypervm\tests\NeoVM.Interop.Tests\bin\Debug\netcoreapp2.0
mkdir Windows
cd Windows
mkdir x86
mkdir x64
cd x86
cmd /c mklink Neo.HyperVM.dll C:\neo-hypervm\src\Neo.HyperVM\Win32\Debug\Neo.HyperVM.dll
cd ../x64
cmd /c mklink Neo.HyperVM.dll C:\neo-hypervm\src\Neo.HyperVM\x64\Debug\NeoVM.dll
You can see the benchmarks here
There is a Makefile
in the root of the project. To build the VM
source:
make
For cross compiling x86 from x64
apt-get install g++-multilib
Feel free to contribute to this project after reading the contributing guidelines.
Before starting to work on a certain topic, create an new issue first, describing the feauture/topic you are going to implement and remember to use development branch.
- Open-source MIT