Bitcoinlib

Bitcoin Core RPC compatible, battle-tested .NET library and RPC wrapper for Bitcoin and Altcoins
Alternatives To Bitcoinlib
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Lightning2,672172 days ago20August 01, 2023586otherC
Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Btc Rpc Explorer1,304220 days ago25June 14, 202334mitJavaScript
Database-free, self-hosted Bitcoin explorer, via RPC to Bitcoin Core.
Btcwallet992101515 days ago44February 14, 2022126iscGo
A secure bitcoin wallet daemon written in Go (golang)
Lit53321a year ago1November 02, 202283mitGo
Lightning Network node software
Python Bitcoinrpc500219154 years ago3August 24, 201628lgpl-2.1Python
Python interface to bitcoin's JSON-RPC API
Termcoin47827 years ago8June 17, 201411mitJavaScript
A bitcoin wallet and blockchain explorer for your terminal.
Bitcoin Core42510351a year ago12July 27, 202216JavaScript
A modern Bitcoin Core REST and RPC client.
Blockchain Reference387
2 months agomitRacket
blockchain reference and demos
Bitcoinlib362
3 years ago10November 19, 20233mitC#
Bitcoin Core RPC compatible, battle-tested .NET library and RPC wrapper for Bitcoin and Altcoins
Docker Bitcoin Core307
8 months ago1mitDockerfile
A bitcoin-core docker image
Alternatives To Bitcoinlib
Select To Compare


Alternative Project Comparisons
Readme

BitcoinLib

.NET Bitcoin & Altcoins library

Features

  • Compatible with Bitcoin Core RPC API.
  • Strongly-typed structures for complex RPC requests and responses.
  • Implicit JSON casting for all RPC messages.
  • Extended methods for every-day scenarios where the built-in methods fall short.
  • Exposure of all RPC API's functionality as well as the extended methods through a single interface.
  • Custom RPC exceptions.
  • Supports all Bitcoin clones.
  • Can operate on unlimited daemons with a single library reference.
  • Bitcoin, Litecoin, Dogecoin, SmartCash, Dash and other Altcoins included.
  • Each coin instance can be fully parametrized at run-time and implement its own constants.
  • Demo client included.
  • Disconnected raw RPC connector included for quick'n'dirty debugging.
  • Handles and relays RPC internal server errors along with their error code.
  • Can work without a .config file.
  • Fully compatible with Mono.
  • Test Network (testnet) and Regression Test Mode (regtest) ready.
  • Fully configurable.

Support

Premium Support is available by our team of experts at: [email protected].

License

See LICENSE.

NuGet packages

BitcoinLib is available on NuGet:

Versioning

From version 1.4.0, BitcoinLib follows Semantic Versioning 2.0.0.

Building from source

To build BitcoinLib from source, you will need either the .NET Core SDK or Visual Studio.

Building & running tests

With Visual Studio you can build BitcoinLib and run the tests from inside the IDE, otherwise with the dotnet command-line tool you can execute:

dotnet build

Instructions for Bitcoin

  • Locate your bitcoin.conf file (in Windows it's under: %AppData%\Roaming\Bitcoin, if it's not there just go ahead and create it) and add these lines:
    rpcuser = MyRpcUsername
    rpcpassword = MyRpcPassword
    server=1
    txindex=1
    
  • Edit the app.config file in the Console test client to best fit your needs. Make sure you also update the bitcoin.conf file when you alter the Bitcoin_RpcUsername and Bitcoin_RpcPassword parameters.

Instructions for Litecoin and other Bitcoin clones

  • Perform the same steps as those mentioned above for Bitcoin.
  • Litecoin configuration file is: litecoin.conf under: %AppData%\Roaming\Litecoin and its daemon is: litecoind.
  • Each coin can be initialized by its own interface specification:
    • IBitcoinService BitcoinService = new BitcoinService();
    • ILitecoinService LitecoinService = new LitecoinService();
  • Any bitcoin clone can be adopted without any further installation steps with the use of the generic ICryptocoinService:
    • ICryptocoinService cryptocoinService = new CryptocoinService("daemonUrl", "rpcUsername", "rpcPassword", "walletPassword");
  • Use (ICryptocoinService).Parameters to fully configure each coin pointer at run-time.

Configuration

Sample configuration:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!-- BitcoinLib settings start -->

      <!-- Shared RPC settings start -->
      <add key="RpcRequestTimeoutInSeconds" value="10" />
      <!-- Shared RPC settings end -->

      <!-- Bitcoin settings start -->
      <add key="Bitcoin_DaemonUrl" value="http://localhost:8332" />
      <add key="Bitcoin_DaemonUrl_Testnet" value="http://localhost:18332" />
      <add key="Bitcoin_WalletPassword" value="MyWalletPassword" />
      <add key="Bitcoin_RpcUsername" value="MyRpcUsername" />
      <add key="Bitcoin_RpcPassword" value="MyRpcPassword" />
      <!-- Bitcoin settings end -->

    <!-- BitcoinLib settings end -->
  </appSettings>
</configuration>

Bitcoin Core resources

Popular Rpc Projects
Popular Bitcoin Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Sharp
Bitcoin
Cryptocurrency
Rpc
Coin
Litecoin
Cryptocurrency Exchanges
Altcoin
Cryptography Library
Bitcoin Api