
Security News
New Website “Is It Really FOSS?” Tracks Transparency in Open Source Distribution Models
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
Ruby wrapper around C bindings for ErgoLib from Sigma-Rust
This project wraps the C bindings of Sigma-Rust and so they are required for using this gem. As the Sigma-Rust API changes over time, gem versions are tied to specific Sigma-Rust versions.
Sigma_rb Version | Sigma-Rust Version |
---|---|
0.2.0 | 0.18.0 |
0.1.3 - 0.1.5 | 0.16.0 |
Checkout the supported Sigma-Rust version on the releases page .
I will provide instructions below but it may be worth reading over the directions in Sigma-Rust too
Sigma-Rust uses Rust to generate these C bindings and so you will need Rust. I recommend downloading the nightly version of Rust as you will need nightly Rust for the next step.
After checking out the proper Sigma-Rust and starting at it's root directory:
cd bindings/ergo-lib-c
cargo build --release -p ergo-lib-c
This will build a release version of libergo.a
located at target/release/libergo.a
from the root directory. You will need to copy/move this to a C LIBRARY search path on your system. For my system I can use /usr/local/lib
. This usually depends on OS.
sudo cp ../../target/release/libergo.a /usr/local/lib/
While still in the bindings/ergo-lib_c
directory you can generate the header file with:
cbindgen --config cbindgen.toml --crate ergo-lib-c --output h/ergo_lib.h
You will need to copy/move this header to a C INCLUDE search path. On my system I can use /usr/local/include
.
sudo cp h/ergo_lib.h /usr/local/include/
Once you have libergo.a
and ergo_lib.h
downloaded and placed in locations your C compiler can find you should be able to to install the gem.
In Gemfile
gem 'sigma_rb', '0.1.3'
Run bundle to install
bundle
After a successful install you can use it by requiring sigma
require 'sigma'
puts Sigma::BoxValue.units_per_ergo
Check out tests/sigma
for usage examples. The transaction tests are probably the most involved, located at tests/sigma/transaction_test.rb.
Generated documentation can be viewed on RubyDoc.
Thank you to the Ergo Development community for consistent words of encouragement. Big thanks to Sigma-Rust maintainers for providing the C bindings which made this possible. Thank you to the iOS bindings developers as it was a constant reference for this work.
FAQs
Unknown package
We found that sigma_rb demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.