Nethermind.Zkvm.Abstractions
1.0.0-preview.4
See the version list below for details.
dotnet add package Nethermind.Zkvm.Abstractions --version 1.0.0-preview.4
NuGet\Install-Package Nethermind.Zkvm.Abstractions -Version 1.0.0-preview.4
<PackageReference Include="Nethermind.Zkvm.Abstractions" Version="1.0.0-preview.4" />
<PackageVersion Include="Nethermind.Zkvm.Abstractions" Version="1.0.0-preview.4" />
<PackageReference Include="Nethermind.Zkvm.Abstractions" />
paket add Nethermind.Zkvm.Abstractions --version 1.0.0-preview.4
#r "nuget: Nethermind.Zkvm.Abstractions, 1.0.0-preview.4"
#:package Nethermind.Zkvm.Abstractions@1.0.0-preview.4
#addin nuget:?package=Nethermind.Zkvm.Abstractions&version=1.0.0-preview.4&prerelease
#tool nuget:?package=Nethermind.Zkvm.Abstractions&version=1.0.0-preview.4&prerelease
Nethermind zkVM abstractions
C# bindings for the zkVM Standards for Ethereum.
The library targets guest programs compiled with Native AOT and statically linked against a zkVM that implements the standard C interfaces. All native functions resolve at link time.
API
Accelerators: cryptographic accelerators, such as Keccak-256, SHA-256, RIPEMD-160, BLAKE2f, BLS12-381, BN254, secp256k1, secp256r1, KZG point evaluation and ModExp.IO: input and output of the guest program.
Span-based methods validate buffer lengths before the native call and throw ArgumentOutOfRangeException on mismatch. Methods that return Accelerators.Status leave failure handling to the caller, since invalid input is an expected outcome for curve operations and signature recovery. The remaining standard accelerators throw CryptographicException on failure.
ZisK
Building with -p:Zisk=true adds APIs not covered by the standards, backed by ZisK-specific functions:
Accelerators.KeccakF: Keccak-f[1600] permutation (eth-act/zkvm-standards#23).Accelerators.Sha256F: SHA-256 compression of one block.Accelerators.Memmove: a direct call to thememmoveprecompile, skipping corelib's wrapper.Accelerators.AddMod256,MulMod256,ReduceMod256andDivRem256: 256-bit modular arithmetic and division.IO.PrintLine: writes to the standard output (eth-act/zkvm-standards#21). Without ZisK, it throwsNotImplementedException.
The pointer- and ref-based methods are unchecked for hot paths; the caller guarantees the buffer sizes, alignment and non-aliasing described in their docs. DivRem256 never returns if the divisor is zero.
The published package is built with ZisK support, so these APIs are visible to every consumer but work only on ZisK.
License
This project is licensed under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Nethermind.Zkvm.Abstractions:
| Repository | Stars |
|---|---|
|
NethermindEth/nethermind
A robust, high-performance execution client for Ethereum node operators.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview.8 | 481 | 10/16/2026 |
| 1.0.0-preview.7 | 1,226 | 10/15/2026 |
| 1.0.0-preview.6 | 2,243 | 10/13/2026 |
| 1.0.0-preview.5 | 6,746 | 10/5/2026 |
| 1.0.0-preview.4 | 1,162 | 10/5/2026 |
| 1.0.0-preview.3 | 3,864 | 9/30/2026 |