Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sigmaspace-io/ergo-lib-go

Go wrapper around C bindings for ErgoLib from sigma-rust
https://github.com/sigmaspace-io/ergo-lib-go

bindings ergo ergoplatform go golang

Last synced: about 2 months ago
JSON representation

Go wrapper around C bindings for ErgoLib from sigma-rust

Awesome Lists containing this project

README

        

# ergo-lib-go
Go wrapper around C bindings for ErgoLib from [sigma-rust](https://github.com/ergoplatform/sigma-rust)

### Install
```
go get -u github.com/sigmaspace-io/ergo-lib-go
```

### Supported Platforms
This library makes heavy use of cgo. A set of precompiled shared library objects are provided. For the time being the following platforms are supported and tested against:



Platform
Architecture
Triple
Supported
Tested




Linux
amd64
x86_64-unknown-linux-gnu




aarch64
aarch64-unknown-linux-gnu




Darwin
amd64
x86_64-apple-darwin




aarch64
aarch64-apple-darwin




Windows
amd64
x86_64-pc-windows-gnu



### Supported sigma-rust versions



sigma-rust Version
ergo-lib-go Version




v0.26.0
v0.26.0


v0.28.0
v0.28.0

### Library
The libraries under `lib` were compiled from `sigma-rust` with the following commands:
```shell
cargo build -p ergo-lib-c --release --target x86_64-apple-darwin
cargo build -p ergo-lib-c --release --target aarch64-apple-darwin
cross build -p ergo-lib-c --release --target x86_64-unknown-linux-gnu
cross build -p ergo-lib-c --release --target aarch64-unknown-linux-gnu
cross build -p ergo-lib-c --release --target x86_64-pc-windows-gnu
```
```shell
rustup run nightly-2024-01-26 cbindgen --config cbindgen.toml --crate ergo-lib-c --output h/ergo_lib.h
```
### Credits
* [go-ergo](https://github.com/ross-weir/go-ergo) from [ross-weir](https://github.com/ross-weir) for initial code and examples
* [wasmer-go](https://github.com/wasmerio/wasmer-go) for package structure