{"id":20429093,"url":"https://github.com/kanocztomas/01cnode","last_synced_at":"2025-07-25T13:42:28.234Z","repository":{"id":225504533,"uuid":"79257793","full_name":"KanoczTomas/01Cnode","owner":"KanoczTomas","description":"tool to monitor full bitcoin node bitcoind-web","archived":false,"fork":false,"pushed_at":"2023-08-26T08:23:53.000Z","size":840,"stargazers_count":58,"open_issues_count":27,"forks_count":15,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-12T19:53:27.823Z","etag":null,"topics":["angularjs","bitcoin","bitcoin-node","blockexplorer","mempool","nodejs","raspberrypi","realtime","web-frontend","zeromq"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/KanoczTomas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-01-17T18:25:26.000Z","updated_at":"2025-04-10T14:31:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcf10fd4-6064-4547-9d49-b6682d55a65a","html_url":"https://github.com/KanoczTomas/01Cnode","commit_stats":null,"previous_names":["kanocztomas/01cnode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KanoczTomas%2F01Cnode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KanoczTomas%2F01Cnode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KanoczTomas%2F01Cnode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KanoczTomas%2F01Cnode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KanoczTomas","download_url":"https://codeload.github.com/KanoczTomas/01Cnode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625510,"owners_count":21135513,"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":["angularjs","bitcoin","bitcoin-node","blockexplorer","mempool","nodejs","raspberrypi","realtime","web-frontend","zeromq"],"created_at":"2024-11-15T07:42:20.260Z","updated_at":"2025-04-12T19:53:32.508Z","avatar_url":"https://github.com/KanoczTomas.png","language":"JavaScript","readme":"# 01C Node\n\nThis is a webfrontend for a full bitcoin node. Bitcoin-core is running as the backend and this little app allows you to see the status of the node through an easy graphical web frontend. \n\n# demo page\ndemo page can be found at http://node.ispol.sk\n\n# Implemented pages:\n- overview - shows basic info about the node like processor count, available memorry, active interfaces, connected peers, client version, number of blocks, synced state, etc.\n![overview screenshot](doc/img/overview.png \"Overview\")\n- mempool - page shows total mempool entries, size of the mempool, to how many blocks would the transactions roughly fit, transaction size, weight and if the transaction has a witness (is segwit). Shows the last 10 txes in realtime that the bitcoind client sent us through zeromq. \n![mempool screenshot](doc/img/mempool.png \"Mempool\")\n- block explorer - the 10 latest blocks are shown, their size, weight, timestamp \n![blockexplorer screenshot](doc/img/blockexplorer.png \"Blockexplorer\")\n- transaction explorer - details about a TX are shown once the hash is included in the search bar\n![transactionexplorer screenshot](doc/img/txexplorer.png \"Transactionexplorer\")\n\n# docker setup (Linux/macOS):\n - download [bitcoin-core](https://bitcoin.org/en/download)\n - install docker\n - clone this repo:\n \n ```\n git clone https://github.com/KanoczTomas/01Cnode.git \u0026\u0026 cd 01Cnode\n ```\n \n - then run helper script:\n \n ```\n ./docker_build.sh\n ```\n \nexample output (note first time build takes some time and outputs much more logs):\n\n``` \n setup 01cnode for you?\ny/N\ny\nwhich network to setup?\n1) regtest\n2) testnet\n3) mainnet\ndefault: testnet\n3\nconfiguring for mainnet\nrunning docker for you\n+ cp docker/config/default.mainnet.yaml config/default.yaml\n+ set +x\nSending build context to Docker daemon  2.015MB\nStep 1/9 : FROM node:8\n ---\u003e 6a23819b932c\nStep 2/9 : WORKDIR /bitcoin\n ---\u003e Using cache\n ---\u003e 7a589cde47ab\nStep 3/9 : WORKDIR /opt/01cnode\n ---\u003e Using cache\n ---\u003e 5f2c70189f7d\nStep 4/9 : COPY package*.json ./\n ---\u003e Using cache\n ---\u003e 32cc927f79c3\nStep 5/9 : RUN npm install\n ---\u003e Using cache\n ---\u003e 3199aab4fd22\nStep 6/9 : COPY . .\n ---\u003e e8cbaa85ef78\nStep 7/9 : RUN npm run build\n ---\u003e Running in 994ac8ab90c5\n\n\u003e 01Cnode@0.1.10 build /opt/01cnode\n\u003e browserify js/app.js | uglifyjs -mc warnings=false \u003e static/bundle.js\n\n(node:17) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.\nRemoving intermediate container 994ac8ab90c5\n ---\u003e 16b123781738\nStep 8/9 : CMD node server.js\n ---\u003e Running in 4ad0028f9c3f\nRemoving intermediate container 4ad0028f9c3f\n ---\u003e 3806d8867410\nStep 9/9 : EXPOSE 5000\n ---\u003e Running in cd842bbe15c7\nRemoving intermediate container cd842bbe15c7\n ---\u003e 5b80bf6d54a5\nSuccessfully built 5b80bf6d54a5\nSuccessfully tagged 01cnode:latest\n\nedit config/default.yaml to reflect your configuration\nmake sure you set the correct rpc username/password\ntype ./run.sh to start the container\n\ndone.\n ```\n - edit `config/default.yaml` rpc information. Change it to whatever you supplied to `bitcoind`. All other configuration options were prefilled for you. Do not change them unless you know what you are doing.\n \n ```\n  rpc_username: secretuser\n  rpc_password: secretpass\n\n ```\n - run the helper script that starts the container\n \n ```\n ./run.sh\n```\n\nexample output:\n\n```\nuser@host:~/bin/01Cnode$ ./run.sh \nlogging to file: /opt/01cnode/server.log\nserver is now running on port 5000\n```\n\n - point your browser to http://localhost:5000\n \n - hit `ctrl+c` if you want to finish 01cnode\n  \n\u003e_a PR for a windows script that helps with docker setup is much appreciated!_\n\n# manual setup:\n- download [bitcoin-core](https://bitcoin.org/en/download)\n\n- if building from source, build it with zeromq support (zeromq is needed for the mempool page to work, in case you do not want to see realtime tranasctions this step can be ommited). If you use the binary from the official site that has zeromq already in it!\n\n- make some extra bitcoin configuration to make the frontend work (note: turning on txindex will require to reindex the whole blockchain which takes a lot of time, you were warned :). You can ignore that setting, the TransactionExplorer page will only show your transactions in that case. ). I recommend running this frontend with bitcoin-core launched with -disablewallet (or add disablewallet=1 to bitcoin.conf) in case you did not read the source code of this tool fully - you should never trust anyone\n```\ndaemon=1\nrpcuser=\u003csome user\u003e\nrpcpassword=\u003ca very secret password\u003e\nserver=1\nrest=1\nzmqpubhashtx=tcp://127.0.0.1:28332\nzmqpubhashblock=tcp://127.0.0.1:28332\nzmqpubrawblock=tcp://127.0.0.1:28332\nzmqpubrawtx=tcp://127.0.0.1:28332\ntxindex=1\ndisablewallet=1\n```\n- get this repo via git and edit the file config/default.yaml - the credentials should be the same as in your bitcoin.conf. Also adjust the host and port accordingly. Make sure you set your home dir if not the default in the config file.\n```\nRPC:\n  host: localhost\n  port: 8332\n  rpc_username: \u003csome username\u003e\n  rpc_password: \u003ca very secret password\u003e\n```\n- then install the dependencies:\n```\nnpm install\n```\n- build the javascript bundle file\n```\nnpm run build\n```\n- and start the web frontend (please note it will run in a console, do not close it or your webserver will quit, still in developement, will be fixed later to deamonize)\n```\nnode server.js\n```\n- browse to http://localhost:5000 to view the page (assuming bitcoin-core and the web frontend are on the same node)\n\n# todos:\n- see issues page\n\n# donations:\nplease consider donating bitcoins if you like the project:\n\n![bitcoin:3Fomcsyhc2gb5vyJLitJC8FXovBAnfWuAK](doc/img/donation.svg \"bitcoin:3Fomcsyhc2gb5vyJLitJC8FXovBAnfWuAK\")\n\n**bitcoin 3Fomcsyhc2gb5vyJLitJC8FXovBAnfWuAK**\n\n# author\nTomas Kanocz\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanocztomas%2F01cnode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanocztomas%2F01cnode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanocztomas%2F01cnode/lists"}