{"id":22342483,"url":"https://github.com/st3b1t/satoshitop","last_synced_at":"2025-07-30T01:32:43.852Z","repository":{"id":178984678,"uuid":"662542307","full_name":"st3b1t/SatoshiTop","owner":"st3b1t","description":"Bitcoin full node monitoring dashboard for terminal in CLI interface","archived":false,"fork":false,"pushed_at":"2025-07-18T22:54:30.000Z","size":1739,"stargazers_count":35,"open_issues_count":16,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-19T03:24:20.071Z","etag":null,"topics":["bitcoin","bitcoin-core","bitcoin-core-rpc","bitcoin-full-node","cli","commandline-interface","dashboard","monitor","satop","satoshitop"],"latest_commit_sha":null,"homepage":"","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/st3b1t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/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,"zenodo":null}},"created_at":"2023-07-05T11:03:28.000Z","updated_at":"2025-07-18T22:54:34.000Z","dependencies_parsed_at":"2023-11-21T23:24:23.504Z","dependency_job_id":"d3f7fae9-fe43-4268-b8b1-07da0a163571","html_url":"https://github.com/st3b1t/SatoshiTop","commit_stats":null,"previous_names":["st3b1t/satoshitop"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/st3b1t/SatoshiTop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/st3b1t%2FSatoshiTop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/st3b1t%2FSatoshiTop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/st3b1t%2FSatoshiTop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/st3b1t%2FSatoshiTop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/st3b1t","download_url":"https://codeload.github.com/st3b1t/SatoshiTop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/st3b1t%2FSatoshiTop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267792737,"owners_count":24144931,"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-07-29T02:00:12.549Z","response_time":2574,"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-core","bitcoin-core-rpc","bitcoin-full-node","cli","commandline-interface","dashboard","monitor","satop","satoshitop"],"created_at":"2024-12-04T08:12:49.604Z","updated_at":"2025-07-30T01:32:38.828Z","avatar_url":"https://github.com/st3b1t.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SatoshiTop\n\nBitcoin full node monitoring dashboard for terminal.\n\n[![NPM](https://badge.fury.io/js/satop.svg)](http://badge.fury.io/js/satop)\n\n### DONATE\n\nDonate via LightningNetwork ⚡ to incentivize future development and bug fixes.\n\n[![image](https://github.com/st3b1t/SatoshiTop/assets/113633676/4a0efa68-7dab-4463-9513-7af2360e90c7)](https://getalby.com/p/st3b1t)\n\nProposals and reporting problems: [New issue](https://github.com/st3b1t/SatoshiTop/issues/new) or contribute by voting with a 👍 in [proposals issues](https://github.com/st3b1t/SatoshiTop/labels/Proposal)\n\nFollow me for last updates: [@st3b1t](https://twitter.com/st3b1t) or full list of [Releases](https://github.com/st3b1t/SatoshiTop/releases)\n\n![system](docs/satoshitop.gif)\n\n\nSober and useful evolution of the senseless [SatoshiBanner](https://github.com/st3b1t/SatoshiBanner)\n\n## Use case\nYou can define it an *htop for Bitcoin*... having a modern dashboard that displays a lot of informations similar\nto a modern bitcoin explorer, but keeping very poor requirements, it doesn't need a graphical environment (output is ncurses)\nand the data exchange is minimal suitable for slow connections like `Tor` and monitors/lcds with low resolution and low fps.\n\n## Features\n- general system resources: cpu, mem, disk, network, processes, temperature\n- bitcoin core specific: status, blocks, uptime, tor, peers... (WORK IN PROGRESS)\n- all in one [rpc client](https://github.com/st3b1t/SatoshiTop/tree/master#rpc-client) to control all services in your full node\n\n**Other possibilities:**\n\n- http rest interface: this would allow viewing through a browser, while maintaining a tiny, text-only data exchange.\n- send output via tty to mini LCD with low resolution and poor in colors.\n\nMany other features are work in progress, many more [Blessed widgets](https://github.com/chjj/blessed#widgets) and [contrib](https://github.com/yaronn/blessed-contrib#widgets) will be able to be integrated.\nThis project has been organized in small readable and easy to edit files to encourage contributions from the active community of developers and bitcoiners, every Pull Request and suggestion is welcome.\n\n### Requirements\n\n* Linux / OSX / Windows (maybe partial support)\n* Node.js \u003e= v18 and NPM\n\nIf you see question marks(?) or other different characters, try to run it with these environment variables:\n```sh\nexport LANG=en_US.utf8 TERM=xterm-256color\n```\nyou can add this in your ~/.profile file.\n\nget terminal size, chars rows and columns:\n```bash\n$ stty size\n```\nit should be at least 33x100, otherwise change using `setfont` command.\n\nIn Embedded devices having little display you can use this terminal to show unicode fonts\n```bash\n$ apt install fbterm\n$ fbterm\n```\n\n## Quick Start\n\nInstall last stable version in global from [official npm package](https://npmjs.com/package/satop)\n*(Installing packages from NPM repositories is always a quick but unsafe way if you want to keep your system free of malicious packages or dependencies)*\n\n```sh\n$ npm install satop -g\n$ satop --rpccookiefile=/home/\u003cuser\u003e/.bitcoin/.cookie\n```\nThe path `/home/\u003cuser\u003e/.bitcoin/.cookie` depends from your Bitcoin [datadir config](https://github.com/bitcoin/bitcoin/blob/master/doc/init.md#configuration)\n\nOr use username and password\n```sh\n$  satop --rpcuser=\u003cusername\u003e --rpcpassword=\u003cpassword\u003e\n```\n(*All commands entered are stored in the bash history file. But we don't want the password to be stored where anyone can find it. For this, put a space in front of the command shown above.*)\nIf `rpccookiefile` has valid value(file exists and readble) auth method bypass any values of `rpcuser/rpcpassword` and it use only the cookie file.\n\n## Configuration \n\nSatop config file is located in user home directory `$HOME/.satoprc` each parameter by command line has its counterpart inside this file, read the comments in it for more details. If the file not exists can be generated by command:\n\n```sh\n$ satop --confgen\n```\n\n## Source Code Installation\n\nGet source code:\n```sh\n$ git clone https://github.com/st3b1t/SatoshiTop.git\n$ cd ./SatoshiTop\n```\nNow you have the development version, `master` branch.\n\nChoice a stable release from https://github.com/st3b1t/SatoshiTop/releases.\nOr select latest automagically:\n```sh\n$ git checkout $(git describe --tags `git rev-list --tags --max-count=1`)\n```\n\n### Verify\n\nCopy the example config file [dot.satoprc.example](./dot.satoprc.example) in your home path:\n```sh\n$ cp ./dot.satoprc.example ~/.satoprc\n$ chmod 0600 ~/.satoprc\n```\n\nNow uncomment and set `rpccookiefile` with path od Bitcoin cookie file or set `rpcuser` and `rpcpassword`.\n(*Don't forget to set restrictive read permissions for this file in case of storing rpcuser and rpcpassword*)\n\nInstall dependencies and `satop` command in the global way and try it:\n```sh\n$ npm install\n$ npm install -g .\n$ satop --version\n$ satop --help\n```\n\n[Docker](./docs/docker.md) and [Snap](./docs/snap.md) setup is work in progress...\n\n## Usage\n\nStart SatoshiTop with the `satop` command in system terminal(the same system whose resources you want to monitor).\n\n```sh\n$ satop\n```\n\nIf Bitcoin daemon listening in different address(`127.0.0.1`) or a different port(`8333`), you can use command line parameters:\n\n```sh\n$ satop --rpcconnect=192.168.0.3 --rpcport=18332\n```\n\nOr via Environment variable:\n\n```sh\n$ RPCCONNECT=192.168.0.3 RPCPORT=18332 satop\n```\n\nTo stop satop use `q`, or `ctrl+c` in most shell environments.\n\nLearn more about Environment and Command line [parameters](docs/cli.md)...\n\n#### RPC client\n\nFrom version [v2.5.0](https://github.com/st3b1t/SatoshiTop/releases/tag/v2.5.0) SatoshiTop include an additional command defined in `bin/satoprpc`.\nThis allows you to send RPC methodi to your full node.\nLearn more:\n```bash\n$ satoprpc --help \n```\nShow all rpc commands available in your Bitcoin RPC Node:\n```bash\n$ satoprpc help \n```\nNow you can run only [Bitcoin rpc methods](https://developer.bitcoin.org/reference/rpc/). Coming soon are Electrum Server rpc methods and other commands for to control Lightning Network node... all in one command line! \n\n### Development\n\n```sh\n$ git clone https://github.com/st3b1t/SatoshiTop\n$ cd SatoshiTop\n$ npm install\n$ npm run dev\n```\n\nThis script Set environment var `FAKEMODE=true` to allow simulate a RPC connection for debugging without Bitcoin Core.\n\nAdditional parameter `--intervalrpc=1000` allows to speed up data polling and `nodemon` to reload the code at each edits.\n\n### Contributing\n\nPull Requests are welcome, please make sure that your changes are tested\n\nIn order of priority how you can help out:\n\n1. share this project in your social channels and click stars!\n2. testing and report bugs in [new issue](https://github.com/st3b1t/SatoshiTop/issues/new)\n3. try to resolve [easy issues](https://github.com/st3b1t/SatoshiTop/labels/good%20first%20issue))\n4. search [`//TODO`](https://github.com/search?q=repo%3Ast3b1t%2FSatoshiTop%20%2F%2FTODO\u0026type=code) in the source code\n5. add new features\n\n## License\n\nCopyright (c) 2023 [st3b1t](https://github.com/st3b1t)\n\nPGP: 0xAF2E5D05D21BA845\n\nReleased under [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fst3b1t%2Fsatoshitop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fst3b1t%2Fsatoshitop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fst3b1t%2Fsatoshitop/lists"}