Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/sigmaspace-io/ergo-lib-go
- Owner: sigmaspace-io
- License: cc0-1.0
- Created: 2023-01-15T20:23:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:37:06.000Z (9 months ago)
- Last Synced: 2024-04-13T16:37:48.325Z (9 months ago)
- Topics: bindings, ergo, ergoplatform, go, golang
- Language: Go
- Homepage:
- Size: 41.3 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - ergo-lib-go - rust (Repositories)
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