BitcoinCashClient 1.5.6
dotnet add package BitcoinCashClient --version 1.5.6
NuGet\Install-Package BitcoinCashClient -Version 1.5.6
<PackageReference Include="BitcoinCashClient" Version="1.5.6" />
paket add BitcoinCashClient --version 1.5.6
#r "nuget: BitcoinCashClient, 1.5.6"
// Install BitcoinCashClient as a Cake Addin #addin nuget:?package=BitcoinCashClient&version=1.5.6 // Install BitcoinCashClient as a Cake Tool #tool nuget:?package=BitcoinCashClient&version=1.5.6
About
BitcoinCashClient makes it trivially easy to integrate native (non-custodial) Bitcoin Cash transactions into any C# .NET application with internet access.
This library provides a simple interface enabling on-chain sending and receiving of Bitcoin Cash by abstracting away as much complexity as possible. Wallet (private key and public address) creation, fetching wallet info from a block explorer, fetching up-to-date price data, managing utxos (hashes and indexes), inputs and outputs, network fee calculation, transaction signing, and broadcasting to the network are ALL handled by this library behind the scenes.
Private keys are never exposed. Don't trust. Verify.
How to Use
Instantiate
using BitcoinCash;
var client = new BitcoinCashClient();
Create new wallet
Generate a new Bitcoin Cash private key and its associated public address.
var wallet = client.GetWallet();
Get existing live wallet
Use a private key to get a live wallet. This operation retrieves all utxos, calculates the wallet balance (and fiat value), and enables sending funds.
var privateKey = "<your-private-key>";
var wallet = client.GetWallet(privateKey);
Note: Again, the private key is never exposed. The key is used to compute the public address, which is then used to fetch the wallet info from a block explorer.
Send
Send the specified amount of Bitcoin Cash to the specified address.
// send one dollar's worth of BCH to the destination address
wallet.Send("<destination-address>", 1m, Currency.USDollar);
Send All
Send the entire wallet balance to the specified address.
wallet.SendAll("<destination-address>");
Get existing read-only wallet
Use a public address to get a read-only wallet.
var publicAddress = "<any-valid-bch-address>";
var wallet = client.GetWalletByAddress(publicAddress);
Links
Please view the sample project for simple live examples.
For a detailed explanation of the code, please see this tutorial.
Version History
1.5
- .NET 8 and C# 12
- Send to many
- Unambiguous error states
1.4
- Convert address to CashAddr format
- Check if address is valid
1.3
- Mass wallet balance check
1.2
- Support for many fiat currencies
- Support for legacy addresses
1.1
- Get fiat value
1.0
- Create wallet
- Get live wallet by private key
- Get read-only wallet by public address
- Get list of live wallets by list of private keys
- Get list of read-only wallets by list of public addresses
- All wallets include balance in satoshis and current value in USD
- Send specified amount of USD or BCH to specified address
- Send entire wallet balance to specified address
Feedback
BitcoinCashClient is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub 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. |
-
net8.0
- NBitcoin (>= 7.0.37)
- NBitcoin.Altcoins (>= 3.0.24)
- SharpCashAddr (>= 1.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.
Version | Downloads | Last updated |
---|---|---|
1.5.6 | 222 | 8/1/2024 |
1.5.5 | 90 | 8/1/2024 |
1.5.4 | 69 | 7/29/2024 |
1.5.3 | 93 | 7/27/2024 |
1.5.2 | 91 | 7/27/2024 |
1.4.4 | 621 | 11/1/2023 |
1.4.3 | 150 | 10/26/2023 |
1.4.2 | 161 | 10/16/2023 |
1.4.1 | 175 | 10/10/2023 |
1.4.0 | 144 | 9/29/2023 |
1.3.0 | 171 | 9/26/2023 |
1.2.6 | 145 | 9/23/2023 |
1.2.5 | 128 | 9/23/2023 |
1.2.4 | 239 | 8/18/2023 |
1.2.3 | 201 | 7/3/2023 |
1.2.2 | 157 | 5/10/2023 |
1.2.1 | 153 | 5/5/2023 |
1.2.0 | 155 | 5/1/2023 |
1.1.1 | 166 | 4/26/2023 |
1.1.0 | 182 | 4/19/2023 |
1.0.8 | 196 | 3/31/2023 |
1.0.7 | 204 | 3/27/2023 |
1.0.6 | 185 | 3/27/2023 |
1.0.5 | 207 | 3/27/2023 |
1.0.4 | 222 | 3/19/2023 |
1.0.3 | 210 | 3/19/2023 |
1.0.2 | 209 | 3/19/2023 |
1.0.1 | 222 | 3/19/2023 |
1.0.0 | 227 | 3/7/2023 |
See ReadMe