Secret.NET
Last updated
Last updated
Secret.NET (full port of the secret.js Client) is a .NET SDK for writing applications that interact with the Secret Network blockchain.
Written in C# / .NET 6 including MAUI Support.
Can be used in MAUI Apps on Android, iOS, Windows and Mac.
Provides simple abstractions over core data structures.
Supports every possible message and transaction type.
Exposes every possible query type.
Handles input/output encryption/decryption for Secret Contracts.
The SDK has a wallet built in and does not currently require / support external wallets.
Custom APIs / clients for specific smart contracts can be easily created and the additional packages for tokens / SNIP20 or NFT / SNIP721 (see below) can serve as an example for this.
You can find the source code and full version of the docs at https://github.com/0xxCodemonkey/SecretNET/
In addition the following complementary packages are available, which act as a layer on top of the Secret.NET:
SecretNET.Token supports all methods of the reference implementation of the SNIP20 contract.
SecretNET.NFT supports all methods of the reference implementation of the SNIP721 contract.
All packages are available via NuGet and can be easily installed nuget.exe
-CLI:
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML.
Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.
.NET MAUI is open-source and is the evolution of Xamarin.Forms, extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility.
Using .NET MAUI, you can create multi-platform apps using a single project, but you can add platform-specific source code and resources if necessary. One of the key aims of .NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base.
.NET MAUI is for developers who want to:
Write cross-platform apps in XAML and C#, from a single shared code-base in Visual Studio.
Share UI layout and design across platforms.
Share code, tests, and business logic across platforms.
Secret.NET unfortunately cannot be connected to localsecret (Docker) yet, as the docker image currently does not provide an encrypted connection on gRPC-web port 9091. As far as I know, .NET cannot be connected to an unencrypted port via gRPC-web unless it offers HTTP/2 exclusively, which is not the case with localsecret (it also runs HTTP 1.1 on port 9091). See here and here.