You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠ Uses `System.Text.Json` package **v7.0.1** (from `net7.0`) - it makes [de]serialization much simpler (because of [Polymorphic serialization](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/polymorphism)). It only updates `System.Text.Encodings.Web` (v6.0 -> v7.0) as a transitive dependency, which I think is acceptable.
9
11
12
+
10
13
## Features
11
14
12
-
* Read account balance and transaction history;
13
-
* Operate with keys and mnemonics;
14
-
* Send TON to different account;
15
-
* Send arbitrary message to account;
16
-
* Read and parse smartcontract data, call get-methods;
17
-
* Read DNS data (resolve to ADNL);
18
-
* Work with BOCs and Cells (read and parse using Slices, compose using CellBuilder);
15
+
* Read account balance and transaction history [(sample)](/TonLibDotNet.Demo/Samples/AccountBalanceAndTransactions.cs);
16
+
* Operate with keys and mnemonics [(sample)](/TonLibDotNet.Demo/Samples/KeysAndMnemonics.cs);
17
+
* Send TON to different account [(sample)](/TonLibDotNet.Demo/Samples/SendTon.cs);
18
+
* Work with BOCs and Cells (read and parse using Slices, compose using CellBuilder) [(sample)](/TonLibDotNet.Demo/Samples/BocAndCells.cs), including HashmapE [(tests)](/TonLibDotNet.Tests/Cells/DictTests.cs);
19
+
* Read and parse smartcontract data, call get-methods [(sample)](/TonLibDotNet.Demo/Samples/ReadInfoFromSmartContracts.cs);
* Describe and call new TonLib methods without waiting for new version [(sample)](/TonLibDotNet.Demo/Samples/LibraryExtensibility.cs);
31
+
* Add your own Recipe methods to existing repice classes without recompiling library;
23
32
* Connects to random LiteServer or choosen by you;
24
33
* Reconnects to different LiteServer if previous one fails (but you need to handle exceptions and implement retry logic yourself, for example with [Polly](http://www.thepollyproject.org/));
25
-
* No 3rd-party packages;
34
+
* No 3rd-party packages [except native .NET assemblies](#3rd-party-libraries-and-dependencies);
Run [Demo project](/TonLibDotNet.Demo) for more samples.
59
64
60
65
61
66
## Installing dependencies and running a demo
@@ -64,16 +69,22 @@ This library is a wrapper around `tonlibjson` library. You need to obtain compli
64
69
65
70
Go to https://github.com/ton-blockchain/ton/releases, open latest release, scroll to "Assets" and download `tonlibjson.*` for your OS. Make sure this file will be available for your running program (for example, add it to your project and set "Copy to Output Directory" to "Copy if newer").
66
71
67
-
The number of additional dependencies you need depends of what you already have on your machine.
72
+
The number of additional dependencies you need depends of what you already have on your machine. On my Win machine I also needed `libcrypto-1_1-x64.dll` from OpenSSL v1.1. You may use [Process Monitor](https://learn.microsoft.com/en-us/sysinternals/downloads/procmon) to find what it wants if it fails to run.
73
+
68
74
69
-
When something is missed, Demo app will fail with "Unable to load DLL 'tonlibjson' or one of its dependencies" exception. You may use [Process Monitor](https://learn.microsoft.com/en-us/sysinternals/downloads/procmon) to find what file it wants.
0 commit comments