{"id":29901272,"url":"https://github.com/cabol/btx","last_synced_at":"2025-08-01T14:34:52.482Z","repository":{"id":305028676,"uuid":"1021005434","full_name":"cabol/btx","owner":"cabol","description":"Bitcoin Toolkit for Elixir","archived":false,"fork":false,"pushed_at":"2025-07-24T19:04:00.000Z","size":184,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-25T00:03:11.432Z","etag":null,"topics":["bitcoin","bitcoin-api","bitcoin-core","elixir"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cabol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSEmd","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,"zenodo":null}},"created_at":"2025-07-16T18:18:15.000Z","updated_at":"2025-07-24T19:04:04.000Z","dependencies_parsed_at":"2025-07-18T01:38:58.988Z","dependency_job_id":null,"html_url":"https://github.com/cabol/btx","commit_stats":null,"previous_names":["cabol/btx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cabol/btx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cabol%2Fbtx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cabol%2Fbtx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cabol%2Fbtx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cabol%2Fbtx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cabol","download_url":"https://codeload.github.com/cabol/btx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cabol%2Fbtx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268241967,"owners_count":24218382,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","elixir"],"created_at":"2025-08-01T14:33:14.806Z","updated_at":"2025-08-01T14:34:52.470Z","avatar_url":"https://github.com/cabol.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡₿𝕋𝕩\n\u003e Bitcoin Toolkit for Elixir.\n\n![CI](http://github.com/cabol/btx/workflows/CI/badge.svg)\n[![Codecov](http://codecov.io/gh/cabol/btx/graph/badge.svg)](http://codecov.io/gh/cabol/btx/graph/badge.svg)\n[![Hex.pm](http://img.shields.io/hexpm/v/btx.svg)](http://hex.pm/packages/btx)\n[![Documentation](http://img.shields.io/badge/Documentation-ff69b4)](http://hexdocs.pm/btx)\n\n## About\n\n**BTx** is a modern Elixir library for Bitcoin development, starting with a\npowerful JSON-RPC client for Bitcoin Core. Designed for developers building\nBitcoin applications, `BTx` provides an idiomatic Elixir interface with plans\nto expand into comprehensive Bitcoin tooling.\n\n## Features\n\n- **Full JSON-RPC Compliance**: Complete implementation of Bitcoin Core's\n  JSON-RPC API (`BTx.RPC`).\n- **Idiomatic Elixir Interface**: Clean, functional API that feels natural\n  in Elixir applications.\n- **Configurable Client**: Built on Tesla for flexible HTTP client\n  configuration.\n- **Automatic Encoding**: Bitcoin methods automatically encoded using Ecto\n  embedded schemas.\n- **Response Handling**: Intelligent response parsing and error handling.\n\n## Installation\n\nAdd `btx` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:btx, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\n## Quick Start\n\nThe first step is to ensure that you have a Bitcoin node running locally.\nYou can use the `docker-compose.yml` file in the repo to spin up the Bitcoin\nnode (running in `regtest` mode), like so:\n\n```shell\ndocker-compose up -d\n```\n\nNow we can start using the JSON RPC API. Let's create a wallet:\n\n```elixir\n# Create a new client\niex\u003e client =\n...\u003e   BTx.RPC.client(\n...\u003e     base_url: \"http://127.0.0.1:18443\",\n...\u003e     username: \"my-user\",\n...\u003e     password: \"my-pass\"\n...\u003e   )\n\n# Create a wallet (using the `BTx.RPC.Wallets` context)\niex\u003e BTx.RPC.Wallets.create_wallet!(client,\n...\u003e   wallet_name: \"my-wallet\",\n...\u003e   passphrase: \"my-passphrase\",\n...\u003e   avoid_reuse: true,\n...\u003e   descriptors: true\n...\u003e )\n%BTx.RPC.Wallets.CreateWalletResult{\n  name: \"my-wallet\",\n  warning: nil\n}\n```\n\n## Roadmap\n\nBTx is under active development with plans to expand beyond JSON-RPC:\n\n- **Phase 1** (Current): Complete JSON-RPC client implementation\n- **Phase 2**: Wallet management utilities\n- **Phase 3**: Transaction building and signing\n- **Phase 4**: Blockchain analysis and utilities\n- **Phase 5**: Advanced Bitcoin primitives\n\n## Development Status\n\n⚠️ **Work in Progress**: `BTx` is currently under active development. While the\ncore JSON-RPC functionality is being implemented, the API may change between\nversions. Not recommended for production use yet.\n\n## Contributing\n\nContributions to **BTx** are very welcome and appreciated!\n\nUse the [issue tracker](https://github.com/cabol/btx/issues)\nfor bug reports or feature requests. Open a\n[pull request](https://github.com/cabol/btx/pulls)\nwhen you are ready to contribute.\n\nWhen submitting a pull request you should not update the\n[CHANGELOG.md](CHANGELOG.md), and also make sure you test your changes\nthoroughly, include unit tests alongside new or changed code.\n\nBefore to submit a PR it is highly recommended to run `mix test.ci` and ensure\nall checks run successfully.\n\n## Copyright and License\n\nCopyright (c) 2025 Carlos Andres Bolaños R.A.\n\nNebulex source code is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcabol%2Fbtx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcabol%2Fbtx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcabol%2Fbtx/lists"}