Ton.Crypto 0.0.12

There is a newer version of this package available.
See the version list below for details.
dotnet add package Ton.Crypto --version 0.0.12
                    
NuGet\Install-Package Ton.Crypto -Version 0.0.12
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ton.Crypto" Version="0.0.12" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ton.Crypto" Version="0.0.12" />
                    
Directory.Packages.props
<PackageReference Include="Ton.Crypto" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ton.Crypto --version 0.0.12
                    
#r "nuget: Ton.Crypto, 0.0.12"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ton.Crypto@0.0.12
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ton.Crypto&version=0.0.12
                    
Install as a Cake Addin
#tool nuget:?package=Ton.Crypto&version=0.0.12
                    
Install as a Cake Tool

Ton.NET

Modern .NET SDK for TON blockchain with 1:1 API compatibility with official JavaScript SDKs.

Packages

Package Description Version
Ton.Core Core types, addresses, cells, BOC NuGet
Ton.Crypto Cryptography, mnemonics, Ed25519 NuGet
Ton.Client HTTP clients, wallets, jettons NuGet

Installation

dotnet add package Ton.Core
dotnet add package Ton.Crypto
dotnet add package Ton.Client

Quick Start

using Ton.Core.Addresses;

// Parse and work with TON addresses
var address = Address.Parse("EQAs9VlT6S776tq3unJcP5Ogsj-ELLunLXuOb1EKcOQi4wJB");
Console.WriteLine($"Workchain: {address.WorkChain}");
Console.WriteLine($"Raw: {address.ToRawString()}");

// Convert between formats
var raw = "0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3";
var friendly = Address.Parse(raw).ToString();
Console.WriteLine($"Friendly: {friendly}");

// Validate addresses
bool isFriendly = Address.IsFriendly("EQAs9VlT...");
bool isRaw = Address.IsRaw("0:2cf55953...");

Features

✅ Ton.Core (v0.0.1)

  • ✅ Address type (immutable, full compatibility with JS)
  • ✅ CRC-16 checksum
  • ⏳ BitString, BitReader, BitBuilder
  • ⏳ Cell, Builder, Slice
  • ⏳ Dictionary
  • ⏳ Tuple types
  • ⏳ TL-B schemas (Message, Transaction, Account, etc.)

⏳ Ton.Crypto (v0.0.1 - Coming Soon)

  • ⏳ Mnemonic (BIP39)
  • ⏳ Ed25519 signing
  • ⏳ SHA-256/512, HMAC, PBKDF2
  • ⏳ HD wallets

⏳ Ton.Client (v0.0.1 - Coming Soon)

  • ⏳ HTTP API clients
  • ⏳ Wallet contracts (V1-V5)
  • ⏳ Jetton support
  • ⏳ Multisig
  • ⏳ Fee computation

API Compatibility

This SDK maintains 1:1 API compatibility with official TON JavaScript SDKs:

API naming follows C# conventions (PascalCase) while preserving the same method signatures and behavior.

Development Status

🚧 Early Development - Currently implementing Phase 1 (Core types). API may change before 1.0.0 release.

See API_INVENTORY.md for detailed implementation roadmap.

Requirements

  • .NET 9.0 or later

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! This is a ground-up rewrite focused on:

  • Clean, modern C# code
  • Full test coverage
  • Complete API compatibility with JS SDKs
  • Comprehensive documentation
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Ton.Crypto:

Package Downloads
Ton.HttpClient

TON blockchain HTTP client library for .NET - Toncenter API v2/v4, wallet contracts (V1-V5), jettons, multisig. 1:1 API compatibility with @ton/ton JavaScript library.

Ton.Contracts

TON smart contract implementations for .NET - Wallet contracts (V1-V5), Jettons, and NFTs. 1:1 API compatibility with @ton/ton JavaScript library.

Ton.Adnl

ADNL (Abstract Datagram Network Layer) client for TON blockchain - Direct node communication with TL serialization, encryption, and auto-generated schema. Enables lite client implementation for TON.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.7 707 12/2/2025
0.2.6 367 11/16/2025
0.2.5 251 11/6/2025
0.2.4 257 10/30/2025
0.2.3 248 10/30/2025
0.2.2 243 10/29/2025
0.2.1 247 10/29/2025
0.2.0 218 10/29/2025
0.1.5 228 10/28/2025
0.1.4 213 10/28/2025
0.1.3 192 10/27/2025
0.1.2 194 10/27/2025
0.1.1 186 10/27/2025
0.1.0 163 10/26/2025
0.0.13 158 10/26/2025
0.0.12 156 10/26/2025
0.0.11 159 10/26/2025
0.0.10 157 10/26/2025
0.0.9 161 10/26/2025
0.0.8 158 10/26/2025
0.0.7 161 10/26/2025
0.0.6 157 10/26/2025
0.0.5 162 10/26/2025
0.0.4 161 10/26/2025
0.0.3 160 10/26/2025