Nethereum Native Packages Validation
Cross-platform validation tests for Nethereum native NuGet packages. These tests consume the packages as a real NuGet consumer would, verifying that native binaries load and work correctly on all supported platforms.
| Package |
Native Library |
Platforms |
| Nethereum.Signer.Bls.Herumi |
BLS12-381 signatures via Herumi |
win-x64, linux-x64, linux-arm64, osx-x64, osx-arm64 |
| Nethereum.ZkProofs.RapidSnark |
Groth16 proof generation via rapidsnark |
win-x64, linux-x64, linux-arm64, osx-x64, osx-arm64 |
| Nethereum.CircomWitnessCalc |
Circom witness generation via circom-witnesscalc |
win-x64, linux-x64, linux-arm64, osx-x64, osx-arm64 |
| Runner |
OS |
Architecture |
| ubuntu-latest |
Linux |
x64 |
| ubuntu-24.04-arm |
Linux |
ARM64 |
| windows-latest |
Windows |
x64 |
| macos-15 |
macOS |
ARM64 (Apple Silicon) |
| macos-13 |
macOS |
x64 (Intel) |
dotnet test test/BlsHerumi.Tests/
dotnet test test/RapidSnark.Tests/
dotnet test test/CircomWitnessCalc.Tests/
- Copy new .nupkg files into nativeartifacts/
- Update Version in each test .csproj if the version changed
- Push — CI will validate across all platforms
- RapidSnark: test/RapidSnark.Tests/TestData/ contains a small multiplier circuit zkey, witness, and verification key
- CircomWitnessCalc: test/CircomWitnessCalc.Tests/TestData/ contains a compiled multiplier circuit graph
Source circuit: c <== a * b (minimal Groth16 circuit for validation)