{"id":13596951,"url":"https://github.com/bitcoindevkit/bdk","last_synced_at":"2025-05-13T16:11:35.401Z","repository":{"id":37209574,"uuid":"235668568","full_name":"bitcoindevkit/bdk","owner":"bitcoindevkit","description":"A modern, lightweight, descriptor-based wallet library written in Rust!","archived":false,"fork":false,"pushed_at":"2025-04-15T01:12:20.000Z","size":6989,"stargazers_count":948,"open_issues_count":64,"forks_count":386,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-23T20:59:35.821Z","etag":null,"topics":["bitcoin","bitcoin-wallet","descriptors","hacktoberfest","miniscript","multisig-wallets","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitcoindevkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2020-01-22T21:16:35.000Z","updated_at":"2025-04-23T19:05:52.000Z","dependencies_parsed_at":"2023-11-06T04:25:12.655Z","dependency_job_id":"28685813-34db-40b3-8011-b5611f9cc5ca","html_url":"https://github.com/bitcoindevkit/bdk","commit_stats":{"total_commits":1631,"total_committers":84,"mean_commits":"19.416666666666668","dds":0.8080931943592888,"last_synced_commit":"2cf46a2a9e513d3f2612b7c363446fb1acf958ae"},"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoindevkit%2Fbdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoindevkit%2Fbdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoindevkit%2Fbdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoindevkit%2Fbdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitcoindevkit","download_url":"https://codeload.github.com/bitcoindevkit/bdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514767,"owners_count":21443208,"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-wallet","descriptors","hacktoberfest","miniscript","multisig-wallets","rust"],"created_at":"2024-08-01T17:00:15.619Z","updated_at":"2025-04-23T21:01:36.695Z","avatar_url":"https://github.com/bitcoindevkit.png","language":"Rust","funding_links":[],"categories":["Rust","Libraries"],"sub_categories":[],"readme":"# The Bitcoin Dev Kit\n\n\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"./static/bdk.png\" width=\"220\" /\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eA suite of libraries for building modern, lightweight, descriptor-based wallets written in Rust!\u003c/strong\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/bitcoindevkit/bdk/blob/master/LICENSE\"\u003e\u003cimg alt=\"MIT or Apache-2.0 Licensed\" src=\"https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/bitcoindevkit/bdk/actions?query=workflow%3ACI\"\u003e\u003cimg alt=\"CI Status\" src=\"https://github.com/bitcoindevkit/bdk/workflows/CI/badge.svg\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://coveralls.io/github/bitcoindevkit/bdk?branch=master\"\u003e\u003cimg src=\"https://coveralls.io/repos/github/bitcoindevkit/bdk/badge.svg?branch=master\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://blog.rust-lang.org/2022/08/11/Rust-1.63.0.html\"\u003e\u003cimg alt=\"Rustc Version 1.63.0+\" src=\"https://img.shields.io/badge/rustc-1.63.0%2B-lightgrey.svg\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/d7NkDKm\"\u003e\u003cimg alt=\"Chat on Discord\" src=\"https://img.shields.io/discord/753336465005608961?logo=discord\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003ch4\u003e\n    \u003ca href=\"https://bitcoindevkit.org\"\u003eProject Homepage\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n## About\n\nThe `bdk` libraries aim to provide well engineered and reviewed components for Bitcoin wallets and other applications.\nThey are built upon the excellent [`rust-bitcoin`] and [`rust-miniscript`] crates.\n\n## Architecture\n\nThe workspace in this repository contains several crates in the `/crates` directory:\n\n| Sub-Directory | Description | Badges |\n|---------------|-------------|--------|\n| [`chain`](./crates/chain) | Tools for storing and indexing chain data. | ![Chain Crate Info](https://img.shields.io/crates/v/bdk_chain.svg) ![Chain API Docs](https://img.shields.io/badge/docs.rs-bdk_chain-green) |\n| [`core`](./crates/core) | A collection of core structures used by the [`bdk_chain`], [`bdk_wallet`], and BDK's chain data source crates. | ![Core Crate Info](https://img.shields.io/crates/v/bdk_core.svg) ![Core API Docs](https://img.shields.io/badge/docs.rs-bdk_core-green) |\n| [`esplora`](./crates/esplora) | Extends the [`esplora-client`] crate with methods to fetch chain data from an esplora HTTP server in the form that [`bdk_chain`] and `Wallet` can consume. | ![Esplora Crate Info](https://img.shields.io/crates/v/bdk_esplora.svg) ![Esplora API Docs](https://img.shields.io/badge/docs.rs-bdk_esplora-green) |\n| [`electrum`](./crates/electrum) | Extends the [`electrum-client`] crate with methods to fetch chain data from an electrum server in the form that [`bdk_chain`] and `Wallet` can consume. | ![Electrum Crate Info](https://img.shields.io/crates/v/bdk_electrum.svg) ![Electrum API Docs](https://img.shields.io/badge/docs.rs-bdk_electrum-green) |\n| [`bitcoind_rpc`](./crates/bitcoind_rpc) | Extends [`bitcoincore-rpc`] for emitting blockchain data from the `bitcoind` RPC interface in the form that [`bdk_chain`] and `Wallet` can consume. | ![BitcoinD RPC Crate Info](https://img.shields.io/crates/v/bdk_bitcoind_rpc.svg) ![BitcoinD RPC API Docs](https://img.shields.io/badge/docs.rs-bdk_bitcoind_rpc-green) |\n| [`file_store`](./crates/file_store) | Persistence backend for storing chain data in a single file. Intended for testing and development purposes, not for production. | ![File Store Crate Info](https://img.shields.io/crates/v/bdk_file_store.svg) ![File Store API Docs](https://img.shields.io/badge/docs.rs-bdk_file_store-green) |\n\nThe [`bdk_wallet`] repository and crate contains a higher level `Wallet` type that depends on the above lower-level mechanism crates. \n\nFully working examples of how to use these components are in `/examples`:\n\n- [`example_cli`](examples/example_cli): Library used by the `example_*` crates. Provides utilities for syncing, showing the balance, generating addresses and creating transactions without using the bdk_wallet `Wallet`.\n- [`example_electrum`](examples/example_electrum): A command line Bitcoin wallet application built on top of `example_cli` and the `electrum` crate. It shows the power of the bdk tools (`chain` + `file_store` + `electrum`), without depending on the main `bdk_wallet` library.\n- [`example_esplora`](examples/example_esplora): A command line Bitcoin wallet application built on top of `example_cli` and the `esplora` crate. It shows the power of the bdk tools (`chain` + `file_store` + `esplora`), without depending on the main `bdk_wallet` library.\n- [`example_bitcoind_rpc_polling`](examples/example_bitcoind_rpc_polling): A command line Bitcoin wallet application built on top of `example_cli` and the `bitcoind_rpc` crate. It shows the power of the bdk tools (`chain` + `file_store` + `bitcoind_rpc`), without depending on the main `bdk_wallet` library.\n\n[`rust-miniscript`]: https://github.com/rust-bitcoin/rust-miniscript\n[`rust-bitcoin`]: https://github.com/rust-bitcoin/rust-bitcoin\n[`esplora-client`]: https://docs.rs/esplora-client/\n[`electrum-client`]: https://docs.rs/electrum-client/\n[`bitcoincore-rpc`]: https://docs.rs/bitcoincore-rpc/\n[`bdk_chain`]: https://docs.rs/bdk-chain/\n[`bdk_wallet`]: https://github.com/bitcoindevkit/bdk_wallet\n\n## Minimum Supported Rust Version (MSRV)\n\nThe following BDK crates maintains a MSRV of 1.63.0. To build these crates with the MSRV of 1.63.0 you will need to pin dependencies by running the [`pin-msrv.sh`](./ci/pin-msrv.sh) script.\n\n- `bdk_core`\n- `bdk_chain`\n- `bdk_bitcoind_rpc`\n- `bdk_esplora`\n- `bdk_file_store`\n\nThe MSRV of the `bdk_electrum` crate is 1.75.0.\n\n## License\n\nLicensed under either of\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or \u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or \u003chttps://opensource.org/licenses/MIT\u003e)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the Apache-2.0\nlicense, shall be dual licensed as above, without any additional terms or\nconditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoindevkit%2Fbdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitcoindevkit%2Fbdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoindevkit%2Fbdk/lists"}