{"id":13583447,"url":"https://github.com/janoside/btc-rpc-explorer","last_synced_at":"2025-05-13T18:15:07.306Z","repository":{"id":37617218,"uuid":"97869737","full_name":"janoside/btc-rpc-explorer","owner":"janoside","description":"Database-free, self-hosted Bitcoin explorer, via RPC to Bitcoin Core.","archived":false,"fork":false,"pushed_at":"2024-12-16T15:24:01.000Z","size":19040,"stargazers_count":1668,"open_issues_count":89,"forks_count":1266,"subscribers_count":82,"default_branch":"master","last_synced_at":"2025-04-25T17:57:46.376Z","etag":null,"topics":["bitcoin","bitcoin-blockchain","bitcoin-explorer","bitcoind","bootstrap5","btc-rpc-explorer","express","json-rpc","nodejs","rpc"],"latest_commit_sha":null,"homepage":"https://bitcoinexplorer.org","language":"JavaScript","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/janoside.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-API.md","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":"roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-20T19:08:25.000Z","updated_at":"2025-04-22T17:24:38.000Z","dependencies_parsed_at":"2023-02-13T23:46:03.710Z","dependency_job_id":"b4cd968e-c65b-47d0-b9c3-a74bff789252","html_url":"https://github.com/janoside/btc-rpc-explorer","commit_stats":{"total_commits":1616,"total_committers":40,"mean_commits":40.4,"dds":0.385519801980198,"last_synced_commit":"ffd802288d87d747b170dc6f065f788d90032a9c"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janoside%2Fbtc-rpc-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janoside%2Fbtc-rpc-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janoside%2Fbtc-rpc-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janoside%2Fbtc-rpc-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janoside","download_url":"https://codeload.github.com/janoside/btc-rpc-explorer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000885,"owners_count":21997443,"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-blockchain","bitcoin-explorer","bitcoind","bootstrap5","btc-rpc-explorer","express","json-rpc","nodejs","rpc"],"created_at":"2024-08-01T15:03:29.187Z","updated_at":"2025-05-13T18:15:07.265Z","avatar_url":"https://github.com/janoside.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# BTC RPC Explorer\n\n## Self-Hosted Bitcoin explorer for everyone running [Bitcoin Core](https://github.com/bitcoin/bitcoin).\n\n[![npm version][npm-ver-img]][npm-ver-url] [![NPM downloads][npm-dl-alltime-img]][npm-dl-url]\n\n\n---\n\n\n![homepage](./public/img/screenshots/homepage.png)\n\n\n\nThis is a self-hosted explorer for the Bitcoin blockchain, driven by RPC calls to your own [Bitcoin](https://github.com/bitcoin/bitcoin) node. It is easy to run and can be connected to other tools (like Electrum servers) to achieve a full-featured explorer.\n\nWhatever reasons you may have for running a full node (trustlessness, technical curiosity, supporting the network, etc) it's valuable to appreciate the *fullness* of your node. With this explorer, you can explore not just the blockchain database, but also explore all of the functional capabilities of your own node.\n\nLive demos:\n\n* [BitcoinExplorer.org](https://bitcoinexplorer.org) / [testnet](https://testnet.bitcoinexplorer.org) / [signet](https://signet.bitcoinexplorer.org)\n\n\n# Features\n\n* Network Summary dashboard\n* View details of blocks, transactions, and addresses\n* Analysis tools for viewing stats on blocks, transactions, and miner activity\n* JSON REST API\n* See raw JSON content from bitcoind used to generate most pages\n* Search by transaction ID, block hash/height, and address\n* Optional transaction history for addresses by querying from Electrum-protocol servers (e.g. Electrs, ElectrumX), blockchain.com, blockchair.com, or blockcypher.com\n* Mempool summary, with fee, size, and age breakdowns\n* RPC command browser and terminal\n\n\n# Changelog / Release notes\n\nSee [CHANGELOG.md](/CHANGELOG.md).\n\n\n# Getting started\n\n## Prerequisites\n\n1. Install `Bitcoin Core` - [instructions](https://bitcoin.org/en/full-node). Ensure that `Bitcoin Core`'s' RPC server is enabled (`server=1`).\n2. Allow `Bitcoin Core` to synchronize with the Bitcoin network (you *can* use this tool while sychronizing, but some pages may fail).\n3. Install Node.js (16+ required, 18+ recommended).\n\n### Note about pruning and indexing configurations\n\nThis tool is designed to work best with full transaction indexing enabled (`txindex=1`) and pruning **disabled**. \nHowever, if you're running Bitcoin Core v0.21+ you can run *without* `txindex` enabled and/or *with* `pruning` enabled and this tool will continue to function, but some data will be incomplete or missing. Also note that such Bitcoin Core configurations receive less thorough testing.\n\nIn particular, with `pruning` enabled and/or `txindex` disabled, the following functionality is altered:\n\n* You will only be able to search for mempool, recently confirmed, and wallet transactions by their txid. Searching for non-wallet transactions that were confirmed over 3 blocks ago is only possible if you provide the confirmed block height in addition to the txid.\n* Pruned blocks will display basic header information, without the list of transactions. Transactions in pruned blocks will not be available, unless they're wallet-related. Block stats will only work for unpruned blocks.\n* The address and amount of previous transaction outputs will not be shown, only the txid:vout.\n* The mining fee will only be available for unconfirmed transactions.\n\n\n## Install / Run\n\nIf you're running on mainnet with the default datadir and port, the default configuration should *Just Work*. Otherwise, see the **Configuration** section below.\n\n#### Install via `npm`:\n\n*Note: npm v7+ is required*\n\n```bash\nnpm install -g btc-rpc-explorer\nbtc-rpc-explorer\n```\n\n#### Run from source:\n\n1. `git clone https://github.com/janoside/btc-rpc-explorer`\n2. `cd btc-rpc-explorer`\n3. `npm install`\n4. `npm start`\n\n\n#### Install via AUR Arch Linux:\n\n###### Note: The below AUR package was created and is maintained by [@dougEfresh](https://github.com/dougEfresh). The details and history of the package can be seen [here](https://aur.archlinux.org/packages/btc-rpc-explorer/).\n\n1. `git clone https://aur.archlinux.org/btc-rpc-explorer.git`\n2. `cd btc-rpc-explorer`\n3. `makepkg -csi`\n4. `systemctl enable --now btc-rpc-explorer`\n\n\n\nAfter a default installation+startup using any of the above methods, the app can be viewed at [http://127.0.0.1:3002/](http://127.0.0.1:3002/)\n\n\n## Configuration\n\nConfiguration options may be set via environment variables or CLI arguments.\n\n#### Configuration with environment variables\n\nTo configure with environment variables, you need to create one of the 2 following files and enter values in it:\n\n1. `~/.config/btc-rpc-explorer.env`\n2. `.env` in the working directory for btc-rpc-explorer\n\nIn either case, refer to [.env-sample](.env-sample) for a list of the options and formatting details.\n\n#### Configuration with CLI args\n\nFor configuring with CLI arguments, run `btc-rpc-explorer --help` for the full list of options. An example execution is:\n\n```bash\nbtc-rpc-explorer --port 8080 --bitcoind-port 18443 --bitcoind-cookie ~/.bitcoin/regtest/.cookie\n```\n\n#### Demo site settings\n\nTo match the features visible on the demo site at [BitcoinExplorer.org](https://bitcoinexplorer.org) you'll need to set the following non-default configuration values:\n\n    BTCEXP_DEMO=true \t\t# enables some demo/informational aspects of the site\n    BTCEXP_NO_RATES=false\t\t# enables querying of exchange rate data\n    BTCEXP_SLOW_DEVICE_MODE=false\t# enables resource-intensive tasks (UTXO set query, 24hr volume querying) that are inappropriate for \"slow\" devices\n    BTCEXP_ADDRESS_API=electrum \t# use electrum-protocol servers for address lookups\n    BTCEXP_ELECTRUM_SERVERS=tcp://your-electrum-protocol-server-host:50001\t\t# address(es) for my electrum-protocol server(s)\n    BTCEXP_IPSTACK_APIKEY=your-api-key\t\t# enable peer ip geo-location\n    BTCEXP_MAPBOX_APIKEY=your-api-key\t\t# enable map of peer locations\n\n#### SSO authentication\n\nYou can configure SSO authentication similar to what ThunderHub and RTL provide.\nTo enable it, make sure `BTCEXP_BASIC_AUTH_PASSWORD` is **not** set and set `BTCEXP_SSO_TOKEN_FILE` to point to a file write-accessible by btc-rpc-explorer.\nThen to access btc-rpc-explorer, your SSO provider needs to read the token from this file and set it in URL parameter `token`.\nFor security reasons the token changes with each login, so the SSO provider needs to read it each time!\n\nAfter successful access with the token, a cookie is set for authentication, so you don't need to worry about it anymore.\nTo improve user experience you can set `BTCEXP_SSO_LOGIN_REDIRECT_URL` to the URL of your SSO provider.\nThis will cause users to be redirected to your login page if needed.\n\n## Run via Docker\n\n1. `docker build -t btc-rpc-explorer .`\n2. `docker run -it -p 3002:3002 -e BTCEXP_HOST=0.0.0.0 btc-rpc-explorer`\n\n\n## Reverse proxy with HTTPS\n\nSee [instructions here](docs/nginx-reverse-proxy.md) for using nginx+certbot (letsencrypt) for an HTTPS-accessible, reverse-proxied site.\n\n\n# Support\n\nIf you get value from this project, please consider supporting my work with a donation. All donations are truly appreciated.\n\nDonate via BTC Pay Server:\n\n* [https://donate.bitcoinexplorer.org](https://donate.bitcoinexplorer.org)\n\nOr, via a lightning address:\n\nthanks@donate.btc21.org\n\n\n[npm-ver-img]: https://img.shields.io/npm/v/btc-rpc-explorer.svg?style=flat\n[npm-ver-url]: https://www.npmjs.com/package/btc-rpc-explorer\n[npm-dl-img]: http://img.shields.io/npm/dm/btc-rpc-explorer.svg?style=flat\n[npm-dl-url]: https://npmcharts.com/compare/btc-rpc-explorer?minimal=true\n\n[npm-dl-weekly-img]: https://badgen.net/npm/dw/btc-rpc-explorer?icon=npm\u0026cache=300\n[npm-dl-monthly-img]: https://badgen.net/npm/dm/btc-rpc-explorer?icon=npm\u0026cache=300\n[npm-dl-yearly-img]: https://badgen.net/npm/dy/btc-rpc-explorer?icon=npm\u0026cache=300\n[npm-dl-alltime-img]: https://badgen.net/npm/dt/btc-rpc-explorer?icon=npm\u0026cache=300\u0026label=total%20downloads\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanoside%2Fbtc-rpc-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanoside%2Fbtc-rpc-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanoside%2Fbtc-rpc-explorer/lists"}