kth-bch
0.23.1
dotnet add package kth-bch --version 0.23.1
NuGet\Install-Package kth-bch -Version 0.23.1
<PackageReference Include="kth-bch" Version="0.23.1" />
<PackageVersion Include="kth-bch" Version="0.23.1" />
<PackageReference Include="kth-bch" />
paket add kth-bch --version 0.23.1
#r "nuget: kth-bch, 0.23.1"
#:package kth-bch@0.23.1
#addin nuget:?package=kth-bch&version=0.23.1
#tool nuget:?package=kth-bch&version=0.23.1
<img width="200px" src="https://github.com/k-nuth/cs-api/raw/master/docs/images/kth-purple.png" />
C# API
Bitcoin Cash full node as a C# library
<a target="_blank" href="https://t.me/knuth_cash">
</a>
<a target="_blank" href="https://k-nuth.slack.com/">
</a>
<p align="center"><img width="800px" src="docs/images/demo.png" /></p>
Knuth C# API is a high performance implementation of the Bitcoin Cash protocol focused on users requiring extra performance and flexibility. It is a Bitcoin Cash node you can use as a library.
Prerequisites
Knuth C# API is a wrapper over our C++ libraries, therefore in order to use the C# library we will need the toolchain to build the C++ libraries. Don't panic, you won't have to manually build our C++ libraries, you just have to provide some prerequisites, our build system will take care of the rest.
To speed up the compilation, we provide some pre-built C++ libraries for some common computer platforms, but case there are no pre-built binaries for your platform, our build system will automatically try to build from source code. In such a scenario, the following requirements must be added to the previous ones:
- C++23 conforming compiler. Could be GCC12, Clang16 or Visual Studio 2022
- CMake building tool, version 3.8 or newer.
Getting started
- Create a new C# console project:
$ mkdir HelloKnuth
$ cd HelloKnuth
$ dotnet new console
- Add a reference to our C# API package:
$ dotnet add package kth-bch
- Edit
Program.csand write some code:
using System;
using System.Threading.Tasks;
using Knuth;
namespace HelloKnuth {
public class Program {
private static bool running_;
static async Task Main(string[] args) {
Console.CancelKeyPress += OnSigInterrupt;
var config = Knuth.Config.Settings.GetDefault(NetworkType.Mainnet);
using (var node = new Knuth.Node(config)) {
await node.LaunchAsync();
Console.WriteLine("Knuth node has been launched.");
var height = await node.Chain.GetLastHeightAsync();
Console.WriteLine($"Current height in local copy: {height.Result}");
if (await ComeBackAfterTheBCHHardFork(node)) {
Console.WriteLine("Bitcoin Cash has been created!");
}
}
Console.WriteLine("Good bye!");
}
private static async Task<bool> ComeBackAfterTheBCHHardFork(Node node) {
UInt64 hfHeight = 478559;
while (running_) {
var res = await node.Chain.GetLastHeightAsync();
if (res.Result >= hfHeight) return true;
await Task.Delay(10000);
}
return false;
}
private static void OnSigInterrupt(object sender, ConsoleCancelEventArgs args) {
Console.WriteLine("Stop signal detected.");
args.Cancel = true;
running_ = false;
}
}
}
- Enjoy Knuth node as a C# library:
$ dotnet run
Issues
Each of our modules has its own Github repository, but in case you want to create an issue, please do so in our main repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net8.0
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.23.1 | 371 | 12/9/2024 |
| 0.23.1-pullrequest0016-0004 | 144 | 12/9/2024 |
| 0.23.1-pullrequest0015-0003 | 145 | 12/9/2024 |
| 0.23.1-pullrequest0014-0002 | 151 | 12/9/2024 |
| 0.23.1-feat-re-order-fi0002 | 167 | 12/9/2024 |
| 0.23.1-feat-improve-rea0002 | 182 | 12/9/2024 |
| 0.23.1-feat-add-readme0001 | 163 | 12/9/2024 |
| 0.23.1-ci0003 | 143 | 12/9/2024 |
| 0.23.1-ci0002 | 144 | 12/9/2024 |
| 0.23.1-ci0001 | 142 | 12/9/2024 |
| 0.23.0 | 310 | 12/9/2024 |
| 0.22.1-pullrequest0013-0005 | 151 | 12/9/2024 |
| 0.22.1-pullrequest0012-0004 | 171 | 12/8/2024 |
| 0.22.1-pullrequest0011-0003 | 176 | 12/8/2024 |
| 0.22.1-feat-payment-add0004 | 147 | 12/9/2024 |
| 0.22.1-feat-cpp-23-0002 | 172 | 12/8/2024 |
| 0.22.1-feat-copyright--0003 | 146 | 12/8/2024 |
| 0.22.1-ci0004 | 158 | 12/9/2024 |
| 0.22.1-ci0003 | 157 | 12/8/2024 |
| 0.22.1-ci0002 | 173 | 12/8/2024 |
| 0.22.0 | 320 | 9/9/2024 |
| 0.21.1-pullrequest0009-0015 | 183 | 9/9/2024 |
| 0.21.1-pullrequest0009-0014 | 166 | 9/9/2024 |
| 0.21.1-feat-bch-upgrad-0014 | 161 | 9/9/2024 |
| 0.21.1-ci0001 | 133 | 9/9/2024 |
| 0.21.0 | 740 | 11/4/2022 |
| 0.20.1-ci0003 | 365 | 11/4/2022 |
| 0.20.1-ci0002 | 392 | 11/4/2022 |
| 0.20.1-ci0001 | 368 | 8/13/2022 |
| 0.20.0 | 738 | 8/13/2022 |
| 0.19.1-ci0016 | 320 | 8/13/2022 |
| 0.19.1-ci0015 | 334 | 8/13/2022 |
| 0.19.1-ci0014 | 354 | 8/12/2022 |
| 0.19.1-ci0006 | 383 | 8/9/2022 |
| 0.19.0 | 798 | 3/26/2022 |
| 0.18.1-pullrequest0007-0015 | 374 | 3/26/2022 |
| 0.18.1-dotnet6-0015 | 342 | 3/26/2022 |
| 0.18.1-dotnet6-0014 | 364 | 3/26/2022 |
| 0.18.1-dotnet6-0011 | 363 | 3/25/2022 |
| 0.18.1-dotnet6-0010 | 409 | 3/25/2022 |
| 0.18.1-ci0005 | 354 | 3/26/2022 |
| 0.18.1-ci0002 | 389 | 3/23/2022 |
| 0.18.1-ci0001 | 449 | 9/8/2021 |
| 0.18.0 | 699 | 9/8/2021 |
| 0.17.1-ci0002 | 442 | 9/8/2021 |
| 0.17.0 | 691 | 9/8/2021 |
| 0.16.1-organize170block0001 | 425 | 9/7/2021 |
| 0.16.1-ci0002 | 469 | 9/8/2021 |
| 0.16.0 | 689 | 5/14/2021 |
| 0.15.1-ci0002 | 484 | 5/14/2021 |
| 0.15.0 | 701 | 4/14/2021 |
| 0.14.1-ci0001 | 485 | 4/14/2021 |
| 0.14.0 | 690 | 4/14/2021 |
| 0.13.2-ci0001 | 466 | 4/14/2021 |
| 0.13.1 | 717 | 3/11/2021 |
| 0.13.1-ci0009 | 532 | 3/11/2021 |
| 0.13.1-ci0008 | 558 | 3/11/2021 |
| 0.12.0 | 700 | 2/17/2021 |
| 0.11.1-ci0028 | 512 | 2/17/2021 |
| 0.11.1-ci0018 | 466 | 2/12/2021 |
| 0.11.1-ci0016 | 475 | 2/12/2021 |
| 0.11.1-ci0008 | 489 | 2/12/2021 |
| 0.11.1-ci0006 | 484 | 2/11/2021 |
| 0.11.1-ci0005 | 497 | 2/11/2021 |
| 0.11.1-ci0004 | 474 | 2/11/2021 |
| 0.11.1-ci0003 | 510 | 2/11/2021 |
| 0.11.0 | 728 | 2/10/2021 |
| 0.10.2-ci0017 | 492 | 2/10/2021 |
| 0.10.2-ci0001 | 485 | 2/8/2021 |
| 0.10.1 | 694 | 2/7/2021 |
| 0.10.0 | 655 | 2/5/2021 |
| 0.9.1-ci0006 | 472 | 2/5/2021 |
| 0.9.1-ci0003 | 568 | 12/22/2020 |
| 0.9.0 | 747 | 12/22/2020 |
| 0.8.0 | 793 | 10/29/2020 |
| 0.7.1-ci0005 | 587 | 10/28/2020 |
| 0.7.0 | 847 | 10/20/2020 |
| 0.6.0 | 875 | 10/19/2020 |
| 0.5.1-ci0004 | 637 | 10/19/2020 |
| 0.5.1-ci0002 | 549 | 10/19/2020 |
| 0.5.1-ci0001 | 561 | 10/17/2020 |
| 0.5.0 | 789 | 10/13/2020 |
| 0.4.1-ci0040 | 586 | 10/13/2020 |
| 0.4.1-ci0039 | 612 | 10/2/2020 |
| 0.4.0 | 850 | 9/18/2020 |
| 0.3.0 | 772 | 9/6/2020 |
| 0.2.1 | 843 | 8/31/2020 |
| 0.2.0 | 820 | 8/28/2020 |
| 0.1.0 | 804 | 8/25/2020 |