Skip to content

.NET Client for TVM based networks (Acki Nacki, TON, Everscale, Venom)

License

Notifications You must be signed in to change notification settings

TvmBrotherhood/tvm-sdk-dotnet

Repository files navigation

TvmSdk Chat on Telegram Chat on Telegram

TVM SDK .NET Client

Client library for DApp development in TVM blockchains (TON, Acki Nacki, Venom Blockchain, Everscale.

  • Built with latest .NET 9
  • Client is automatically generated using Roslyn from api.json (see TVM SDK Client Generator)
  • Uses System.Text.Json serializer with polymorphism
  • Classes and modules has good built-in documentation

Installation

dotnet add package TvmSdk

Prerequisites

API

JSON schema

Usage examples

Basic usage

using System.Text;
using TvmSdk;
using TvmSdk.Modules.Crypto;

using var client = new TvmClient();
var text = "example of sha256";
var textBase64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(text));
var result = await client.Crypto.Sha256(new ParamsOfHash
{
    Data = textBase64
});
var sha256 = result.Hash;

Console.WriteLine($"SHA256 of text '{text}' is: {sha256}");
// SHA256 of text 'example of sha256' is: 59357a7b134da94ac14e18fe2f20b0c1815786a15c4e840a29e32de1842a655b

More of examples you can find in examples and tests

More documentation is available here

TODO list

  • Add usage examples
    • Simple console application
    • Complex example with contract and network usage - DePool election transaction automatic approval (It is already developed but needs refactoring)
    • Unity in game example
    • Blazor
    • MAUI
  • Add more tests
  • Add dotnet standard support
  • Generate API classes automatically + TvmClient
  • Add benchmarks