TonSdk.Adnl
0.2.1
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.1
This package targets .NET Standard 2.1. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package TonSdk.Adnl --version 0.2.1
NuGet\Install-Package TonSdk.Adnl -Version 0.2.1
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="TonSdk.Adnl" Version="0.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TonSdk.Adnl --version 0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: TonSdk.Adnl, 0.2.1"
#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.
// Install TonSdk.Adnl as a Cake Addin #addin nuget:?package=TonSdk.Adnl&version=0.2.1 // Install TonSdk.Adnl as a Cake Tool #tool nuget:?package=TonSdk.Adnl&version=0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
TonSdk.Adnl
Overview example
// Define constants for the ADNL client configuration
private static readonly int AdnlHost = 84478511; // Host ID for ADNL client
private static readonly int AdnlPort = 19949; // Port number for ADNL client
private static readonly string AdnlPubKey = "n4VDnSCUuSpjnCyUk9e3QOOd6o0ItSWYbTnW3Wnn8wk="; // Public key for ADNL client
// Initialize the ADNL client with the predefined settings
AdnlClientTcp client = new AdnlClientTcp(AdnlHost, AdnlPort, AdnlPubKey);
// Subscribe to various client events
client.Connected += OnClientConnected; // Event when client connected, but not ready
client.Ready += OnClientReady; // Event when client is ready
client.Closed += OnClientClosed; // Event when client connection closes
client.DataReceived += OnDataReceived; // Event when data is received
client.ErrorOccurred += OnErrorOccured; // Event when an error occurs
// Connect the client and wait for input before closing
await client.Connect();
// Event handlers for the ADNL client
private static void OnClientConnected()
{
Console.WriteLine("Connected");
}
private static void OnClientClosed()
{
Console.WriteLine("Closed");
}
private static void OnDataReceived(byte[] data)
{
Console.WriteLine("Data Received");
Console.WriteLine(Utils.BytesToHex(data));
}
private static async void OnClientReady()
{
Console.WriteLine("Ready");
// Send a predefined byte array (TL) to the client
byte[] tlGettime = Utils.HexToBytes("7af98bb435263e6c95d6fecb497dfd0aa5f031e7d412986b5ce720496db512052e8f2d100cdf068c7904345aad16000000000000");
await client.Write(tlGettime);
}
private static void OnErrorOccured(Exception ex)
{
throw ex;
}
Write byte data method
// Write byte array via NetworkStream. Should be predefined by using TL Schemes
// TL docs: https://core.telegram.org/mtproto/TL or https://docs.ton.org/develop/data-formats/tl
await client.Write(byte[] data);
End connection method
// Close and Dispose connection to Liteserver
client.End();
LiteClient overview example
// Initialize the Lite client with the predefined settings
LiteClient liteClient = new LiteClient(AdnlHost, AdnlPort, AdnlPubKey);
// Connect the client
await liteClient.Connect();
// It is optimal to send a ping packet once every 5 seconds.
// This is necessary to maintain the connection while no data is being transmitted,
// otherwise the server may terminate the connection.
await client.PingPong();
// RunSmcMethod example
Address destination = new Address("xxx");
RunSmcMethodResult result = await liteClient.RunSmcMethod(destination, "seqno", Array.Empty<byte>(), new RunSmcOptions()
{ Result = true });
// GetMasterChainInfo example
MasterChainInfo mcInfo = await liteClient.GetMasterChainInfo();
BlockIdExtended blockId = mcInfo.LastBlockId;
// Disconnect the client
liteClient.Disconnect();
Donation
continuation.ton
License
MIT License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. |
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- TonSdk.Core (>= 0.3.3)
-
net6.0
- TonSdk.Core (>= 0.3.3)
-
net7.0
- TonSdk.Core (>= 0.3.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TonSdk.Adnl:
Package | Downloads |
---|---|
TonSdk.Client
Ton Client library for work with HTTP API and Lite Servers. |
GitHub repositories
This package is not used by any popular GitHub repositories.