{"id":23366503,"url":"https://github.com/powermobileweb/bitcoinlib","last_synced_at":"2025-04-10T14:02:26.240Z","repository":{"id":269077688,"uuid":"145899495","full_name":"powermobileweb/bitcoinlib","owner":"powermobileweb","description":"Bitcoin Core RPC compatible, battle-tested .NET library and RPC wrapper for Bitcoin and Altcoins","archived":false,"fork":false,"pushed_at":"2018-08-23T19:56:31.000Z","size":62,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T12:39:50.200Z","etag":null,"topics":["bitcoin","bitcoin-api","bitcoin-core","bitcoin-payment","bitcoind","bitcoinlib","c-sharp","cryptean","crypto-library","cryptocurren","cryptocurrency","cryptocurrency-exchanges","dash","dogecoin","dotnet","exchange","exchange-api","litecoin","mit-license","smartcash"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/powermobileweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-23T19:42:36.000Z","updated_at":"2024-07-02T21:30:58.000Z","dependencies_parsed_at":"2024-12-20T18:54:20.735Z","dependency_job_id":"9ebb5381-0870-47de-b2fa-a0dee8d25658","html_url":"https://github.com/powermobileweb/bitcoinlib","commit_stats":null,"previous_names":["powermobileweb/bitcoinlib"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powermobileweb%2Fbitcoinlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powermobileweb%2Fbitcoinlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powermobileweb%2Fbitcoinlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powermobileweb%2Fbitcoinlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/powermobileweb","download_url":"https://codeload.github.com/powermobileweb/bitcoinlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248230629,"owners_count":21069179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","bitcoin-api","bitcoin-core","bitcoin-payment","bitcoind","bitcoinlib","c-sharp","cryptean","crypto-library","cryptocurren","cryptocurrency","cryptocurrency-exchanges","dash","dogecoin","dotnet","exchange","exchange-api","litecoin","mit-license","smartcash"],"created_at":"2024-12-21T14:15:04.834Z","updated_at":"2025-04-10T14:02:26.165Z","avatar_url":"https://github.com/powermobileweb.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BitcoinLib\n\n**.NET Bitcoin \u0026 Altcoins library**\n\n## Features\n\n- Compatible with [Bitcoin Core](https://bitcoin.org/en/download) RPC API.\n- Strongly-typed structures for complex RPC requests and responses.\n- Implicit JSON casting for all RPC messages.\n- Extended methods for every-day scenarios where the built-in methods fall short.\n- Exposure of all [RPC API's functionality](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list) as well as the extended methods through a single interface.\n- Custom RPC exceptions.\n- Supports all Bitcoin clones.\n- Can operate on unlimited daemons with a single library reference.\n- [Bitcoin](http://en.wikipedia.org/wiki/Bitcoin), [Litecoin](http://en.wikipedia.org/wiki/Litecoin), [Dogecoin](http://en.wikipedia.org/wiki/Dogecoin), SmartCash, Dash and other Altcoins included.\n- Each coin instance can be fully parametrized at run-time and implement its own constants.\n- Demo client included.\n- Disconnected raw RPC connector included for quick'n'dirty debugging.\n- Handles and relays RPC internal server errors along with their error code.\n- Can work without a `.config` file.\n- Fully compatible with [Mono](http://www.mono-project.com/).\n- [Test Network (testnet)](https://bitcoin.org/en/developer-examples#testnet) and [Regression Test Mode (regtest)](https://bitcoin.org/en/developer-examples#regtest-mode) ready.\n- Fully configurable.\n\n## Donations\n\nThis library took a significant amount of time and effort to build and requires continuous maintenance in order to keep up with changes introduced with every new Bitcoin-Core release. Keep it up by donating at: [15Nb3RhMd13zp5Pc7yngUon83nFtEZUyBA](bitcoin:15Nb3RhMd13zp5Pc7yngUon83nFtEZUyBA?label=BitcoinLib)\n\n## Support\n\nPremium Support is available by our team of experts at: [info@powermobile.org](mailto:info@powermobile.org).\n\n## License\n\nSee [LICENSE](LICENSE).\n\n## NuGet packages\n\nBitcoinLib is available on NuGet:\n\n* [BitcoinLib](https://www.nuget.org/packages/BitcoinLib/)\n\n## Versioning\n\nFrom version 1.4.0, BitcoinLib follows [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html).\n\n## Building from source\n\nTo build BitcoinLib from source, you will need either the\n[.NET Core SDK or Visual Studio](https://www.microsoft.com/net/download/).\n\n### Linux-specific\n\nIf you are using Linux you will also need Mono installed\n(in order to run Paket). The full install sequence (for Ubuntu)\nwill be something like [this](https://github.com/powermobileteam/fsharp-hedgehog/pull/153#issuecomment-364325504).\n\n### Building \u0026 running tests\n\nWith Visual Studio you can build BitcoinLib and run the tests\nfrom inside the IDE, otherwise with the `dotnet` command-line\ntool you can execute:\n\n```sh\ndotnet build src/BitcoinLib.sln\n```\n\nThe first time you run it, this will use Paket to restore all\nthe packages, and then build the code.\n\n## Instructions for Bitcoin\n\n- 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:\n  ```\n  rpcuser = MyRpcUsername\n  rpcpassword = MyRpcPassword\n  server=1\n  txindex=1\n  ```\n- 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.\n\n## Instructions for Litecoin and other Bitcoin clones\n\n- Perform the same steps as those mentioned above for Bitcoin.\n- Litecoin configuration file is: `litecoin.conf` under: `%AppData%\\Roaming\\Litecoin` and its daemon is: `litecoind`.\n- Each coin can be initialized by its own interface specification:\n  - `IBitcoinService BitcoinService = new BitcoinService();`\n  - `ILitecoinService LitecoinService = new LitecoinService();`\n- Any bitcoin clone can be adopted without any further installation steps with the use of the generic `ICryptocoinService`:\n  - `ICryptocoinService cryptocoinService = new CryptocoinService(\"daemonUrl\", \"rpcUsername\", \"rpcPassword\", \"walletPassword\");`\n- Use `(ICryptocoinService).Parameters` to fully configure each coin pointer at run-time.\n\n## Configuration\n\nSample configuration:\n\n```xml\n﻿\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cconfiguration\u003e\n  \u003cappSettings\u003e\n    \u003c!-- BitcoinLib settings start --\u003e\n\n      \u003c!-- Shared RPC settings start --\u003e\n      \u003cadd key=\"RpcRequestTimeoutInSeconds\" value=\"10\" /\u003e\n      \u003c!-- Shared RPC settings end --\u003e\n\n      \u003c!-- Bitcoin settings start --\u003e\n      \u003cadd key=\"Bitcoin_DaemonUrl\" value=\"http://localhost:8332\" /\u003e\n      \u003cadd key=\"Bitcoin_DaemonUrl_Testnet\" value=\"http://localhost:18332\" /\u003e\n      \u003cadd key=\"Bitcoin_WalletPassword\" value=\"MyWalletPassword\" /\u003e\n      \u003cadd key=\"Bitcoin_RpcUsername\" value=\"MyRpcUsername\" /\u003e\n      \u003cadd key=\"Bitcoin_RpcPassword\" value=\"MyRpcPassword\" /\u003e\n      \u003c!-- Bitcoin settings end --\u003e\n\n    \u003c!-- BitcoinLib settings end --\u003e\n  \u003c/appSettings\u003e\n\u003c/configuration\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowermobileweb%2Fbitcoinlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowermobileweb%2Fbitcoinlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowermobileweb%2Fbitcoinlib/lists"}