Zipwire.ProofPack.Ethereum
0.2.2
See the version list below for details.
dotnet add package Zipwire.ProofPack.Ethereum --version 0.2.2
NuGet\Install-Package Zipwire.ProofPack.Ethereum -Version 0.2.2
<PackageReference Include="Zipwire.ProofPack.Ethereum" Version="0.2.2" />
<PackageVersion Include="Zipwire.ProofPack.Ethereum" Version="0.2.2" />
<PackageReference Include="Zipwire.ProofPack.Ethereum" />
paket add Zipwire.ProofPack.Ethereum --version 0.2.2
#r "nuget: Zipwire.ProofPack.Ethereum, 0.2.2"
#:package Zipwire.ProofPack.Ethereum@0.2.2
#addin nuget:?package=Zipwire.ProofPack.Ethereum&version=0.2.2
#tool nuget:?package=Zipwire.ProofPack.Ethereum&version=0.2.2
Zipwire.ProofPack.Ethereum
Ethereum integration for ProofPack: verifiable data exchange with EAS attestation support.
Overview
This package extends the core ProofPack library to support:
- Ethereum L1 and L2 attestation verification (EAS)
- ES256K JWS signing and verification
- Utilities for working with Ethereum addresses and keys
Note: This package provides complete EAS attestation verification along with Ethereum-based signing and verification (ES256K). Supports Base Sepolia and other EAS-enabled networks.
Features
- Sign and verify ProofPack envelopes using Ethereum keys (ES256K)
- Ethereum curve and hasher support
- EAS (Ethereum Attestation Service) integration: Complete attestation verification with factory pattern support for multiple networks
- Designed for composability with the core ProofPack library
Installation
dotnet add package Zipwire.ProofPack.Ethereum
Usage Example
using Zipwire.ProofPack.Ethereum;
// Create a signer with your Ethereum private key
var signer = new ES256KJwsSigner(privateKey);
// Sign a ProofPack envelope (see core library for envelope creation)
var signed = await signer.SignAsync(header, payload);
// Verify a signed envelope
var verifier = new ES256KJwsVerifier(expectedSignerAddress);
var result = await verifier.VerifyAsync(signed);
Requirements
- .NET Standard 2.1 or later
- .NET 7.0 or later (for running tests)
Documentation
EAS Attestation Verification
This package provides comprehensive EAS attestation verification:
using Zipwire.ProofPack.Ethereum;
// Configure EAS networks
var networkConfig = new EasNetworkConfiguration(
"Base Sepolia",
"base-sepolia-provider",
"https://sepolia.base.org",
loggerFactory);
// Create attestation verifier
var verifier = new EasAttestationVerifier(new[] { networkConfig });
// Use with AttestedMerkleExchangeReader
var verificationContext = AttestedMerkleExchangeVerificationContext.WithAttestationVerifierFactory(
maxAge: TimeSpan.FromDays(30),
jwsVerifiers: verifiers,
signatureRequirement: JwsSignatureRequirement.All,
hasValidNonce: nonce => Task.FromResult(true),
attestationVerifierFactory: factory);
var reader = new AttestedMerkleExchangeReader();
var result = await reader.ReadAsync(jwsJson, verificationContext);
License
MIT — see LICENSE
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Base64UrlEncoder (>= 1.0.1 && < 2.0.0)
- Evoq.Ethereum (>= 3.2.0 && < 4.0.0)
- Evoq.Ethereum.EAS (>= 3.3.0 && < 4.0.0)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Zipwire.ProofPack (>= 0.2.2 && < 0.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 0.2.2 of Zipwire.ProofPack.Ethereum.
- Enhanced ES256K signature format support with JWS compatibility
- Added ES256KSignatureFormat enum with Ethereum and JWS options
- Updated ES256KJwsSigner to support both signature formats
- Maintains backward compatibility with existing Ethereum format
- Improved cross-platform compatibility for ES256K JWS signatures
- Added format conversion support for RFC 8812 compliance