Skip to content

neo-hypervm aims to be a virtual machine in C ++ 100% compatible with the NEO standard.

License

Notifications You must be signed in to change notification settings

shargon/neo-hypervm

 
 

Repository files navigation

neo-hypervm

Virtual Machine for the NEO blockchain written in C++

Overview

neo-hypervm aims to be a virtual machine in C++ 100% compatible with the NEO standard.

Projects

  • Neo.HyperVM - C++ Native Virtual Machine
  • NeoVM.Interop - Interoperability for C# calls
  • NeoVM.Interop.Tests - Unit Tests
  • Neo.HyperVM.Benchmarks - Benchmarks

Installation

Visual studio (Windows Users)

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_PATHenvironment 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

Benchmarks

You can see the benchmarks here

Other

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

Contributing

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.

License

  • Open-source MIT

About

neo-hypervm aims to be a virtual machine in C ++ 100% compatible with the NEO standard.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 72.0%
  • C++ 13.3%
  • C# 12.5%
  • Makefile 1.9%
  • Shell 0.2%
  • Objective-C 0.1%