Hyperledger.Ursa.BbsSignatures
0.1.0-pre.1
Prefix Reserved
See the version list below for details.
dotnet add package Hyperledger.Ursa.BbsSignatures --version 0.1.0-pre.1
NuGet\Install-Package Hyperledger.Ursa.BbsSignatures -Version 0.1.0-pre.1
<PackageReference Include="Hyperledger.Ursa.BbsSignatures" Version="0.1.0-pre.1" />
paket add Hyperledger.Ursa.BbsSignatures --version 0.1.0-pre.1
#r "nuget: Hyperledger.Ursa.BbsSignatures, 0.1.0-pre.1"
// Install Hyperledger.Ursa.BbsSignatures as a Cake Addin #addin nuget:?package=Hyperledger.Ursa.BbsSignatures&version=0.1.0-pre.1&prerelease // Install Hyperledger.Ursa.BbsSignatures as a Cake Tool #tool nuget:?package=Hyperledger.Ursa.BbsSignatures&version=0.1.0-pre.1&prerelease
BBS Signatures for .NET Core
This is a .NET wrapper for the C callable BBS+ Signatures package. The library depends on the native platform implementations of the BBS+ FFI wrapper. These are bundled with the package available on Nuget.
Requirements
- .NET Core SDK 3.1 or newer
- Optionally, if you'd like to build the BBS+ library yourself
- Install Rust
- Follow installation instructions at https://github.com/mattrglobal/ffi-bbs-signatures
Usage
Install the nuget package in your project
Install-Package Hyperledger.Ursa.BbsSignatures
All functions are exposed through the BbsSignatureService
.
using Hyperledger.Ursa.BbsSignatures;
/// ...
var bbsService = new BbsSignatureService();
var keyPair = service.GenerateBlsKey();
Building the project
To build the project locally, it's required that the native libraries are present in the
dotnet/libs
directory. You can run [TODO: this script] to download the latest libraries from github.
Using Visual Studio or Visual Studio for Mac, simply build the solution.
Using msbuild
msbuild ./wrappers/dotnet/BbsSignatures.sln
Using NET CLI
you must run msbuild
or use an IDE that uses it, like Visual Studio or Visual Studio for Mac. The main project depends on MSBuild.Sdk.Extras
package to produce Xamarin specific packages, for this reason, you must specify the target framework when building with CLI
dotnet build --framework netstandard2.1 ./wrappers/dotnet/src/Hyperledger.Ursa.BbsSignatures
msbuild /p:Configuration=Release src/
To build for a specific target use
msbuild /p:Configuration=Release /p:TargetFramework=netstandard2.1 ./wrappers/dotnet/src/BbsSignatures/BbsSignatures.csproj
Test runners
There are three test runners included with the solution. Tests use NUnit runners for the following platforms
- NET Core App
- iOS using
MonoTouch.NUnitLite
- Android using
Xamarin.Android.NUnitLite
To run the tests for NET Core app, you can use dotnet
tool
dotnet test ./wrappers/dotnet
Demo
There's a full end-to-end integration test available that showcases the use of each of the library methods.
Roadmap
- Support for BBS+ signature schemes using JSON-LD credentials (Q3, 2020)
- Support for WASM runtime using Mono (Q4, 2020)
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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. monoandroid10 is compatible. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. xamarinios10 is compatible. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
Xamarin.iOS 1.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0 | 544 | 8/28/2020 |
0.1.0-pre.1 | 288 | 10/10/2020 |