/sputnikvm-ffi

C and golang bindings for SputnikVM.

Primary LanguageGoApache License 2.0Apache-2.0

SputnikVM FFI Bindings

This repo contains C and Go bindings for the SputnikVM core library.

Usage

C

In c folder, run make build. It will generate an object file libsputnikvm.so, and you can use the header file sputnikvm.h to interact with it. You can find the generated documentation file for sputnikvm.h here.

Go

Import the sputnikvm library to your application:

import "github.com/ETCDEVTeam/sputnikvm-ffi/go/sputnikvm"

Build a static library for the C FFI, which will give you an libsputnikvm.a file:

cd c
make build

When building your Go application, pass CGO_LDFLAGS to link the C library.

CGO_LDFLAGS="/path/to/libsputnikvm.a -ldl" go build .

Refer to GoDoc for documentation of the Go bindings.