Dzeta.TonSdk.Adnl
0.7.0
Prefix Reserved
dotnet add package Dzeta.TonSdk.Adnl --version 0.7.0
NuGet\Install-Package Dzeta.TonSdk.Adnl -Version 0.7.0
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="Dzeta.TonSdk.Adnl" Version="0.7.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dzeta.TonSdk.Adnl" Version="0.7.0" />
<PackageReference Include="Dzeta.TonSdk.Adnl" />
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 Dzeta.TonSdk.Adnl --version 0.7.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Dzeta.TonSdk.Adnl, 0.7.0"
#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 Dzeta.TonSdk.Adnl@0.7.0
#: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=Dzeta.TonSdk.Adnl&version=0.7.0
#tool nuget:?package=Dzeta.TonSdk.Adnl&version=0.7.0
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 | 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 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 is compatible. 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. net9.0 was computed. 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.
-
net6.0
- Dzeta.TonSdk.Core (>= 0.5.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
-
net8.0
- Dzeta.TonSdk.Core (>= 0.5.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.