{"id":15816610,"url":"https://github.com/webdollar/node-webdollar","last_synced_at":"2025-04-07T06:05:33.395Z","repository":{"id":46573417,"uuid":"107167733","full_name":"WebDollar/Node-WebDollar","owner":"WebDollar","description":"WebDollar Protocol - Currency of the Internet","archived":false,"fork":false,"pushed_at":"2024-06-19T21:58:04.000Z","size":9010,"stargazers_count":124,"open_issues_count":7,"forks_count":57,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-04-01T00:34:27.289Z","etag":null,"topics":["blockchain","internet","money","p2p","protocol"],"latest_commit_sha":null,"homepage":"http://WebDollar.io","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/WebDollar.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-16T18:33:50.000Z","updated_at":"2024-12-23T12:19:40.000Z","dependencies_parsed_at":"2024-10-22T21:32:27.962Z","dependency_job_id":null,"html_url":"https://github.com/WebDollar/Node-WebDollar","commit_stats":{"total_commits":4717,"total_committers":41,"mean_commits":"115.04878048780488","dds":0.2982828068687725,"last_synced_commit":"010cac2222b0415cce0c41a0ea5656a6aec016c8"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebDollar%2FNode-WebDollar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebDollar%2FNode-WebDollar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebDollar%2FNode-WebDollar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebDollar%2FNode-WebDollar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebDollar","download_url":"https://codeload.github.com/WebDollar/Node-WebDollar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601447,"owners_count":20964864,"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":["blockchain","internet","money","p2p","protocol"],"created_at":"2024-10-05T05:05:55.723Z","updated_at":"2025-04-07T06:05:33.373Z","avatar_url":"https://github.com/WebDollar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node-WebDollar [![Build Status](https://travis-ci.org/WebDollar/Node-WebDollar.svg)](https://travis-ci.org/WebDollar/Node-WebDollar)\n# Webstorm ES6\n\nSettings =\u003e Languages \u0026 Frameworks =\u003e JavaScript language version and choose **ECMAScript 6**\n\n![JS Version](https://d3nmt5vlzunoa1.cloudfront.net/webstorm/files/2015/05/js-version.png \"Javascript ECMAScript 6 config\")\n\n# Docker (No skills, only docker)\n\n## 1. Install Docker\n\nhttps://docs.docker.com/install/\n\n## 2. Run prebuilt Container (automated build https://hub.docker.com/r/webdollar/node/)\nAutoSSL\n```shell\ndocker run -d --restart=always -v /webdollar/ssl:/etc/letsencrypt/live -v /webdollar/data:/blockchainDB3 -e DOMAIN=\u003cENTER DOMAIN HERE\u003e -e EMAIL=\u003cENTER EMAIL HERE\u003e --name webdollar -p 80:80 -p 443:443 webdollar/node\n```\n\nNoSSL\n```shell\ndocker run -d --restart=always -v /webdollar/data:/blockchainDB3 -e NOSSL=true -e SERVER_PORT=80 --name webdollar -p 80:80 webdollar/node\n```\n\n# Installing (Non-techie skills required)\n\n## Follow the following instructions: http://webdollar.aji.ro/webdollar-mining-with-windows-terminal/\n\n# Installing (High tech skills required)\n\n## 0. Node.js\n\n**Required: v16.x**\n\n[nvm](https://github.com/nvm-sh/nvm) is the recommended tooling to get the right version. Simply run `nvm use` from the root of this project.\n\n\n**Windows**: You can download Node.js from this URL: https://nodejs.org/en/download/\n\n**Linux**: It's reccomended you [install Node.js using NVM](/docs/Install-Debian.md)\n\n## 1. Cloning Repository\n```\ngit clone https://github.com/WebDollar/Node-WebDollar.git Node-WebDollar\n```\n## 2. Installing modules\n`cd Node-WebDollar` to enter in the directory of the repository\n```shell\nnpm install\n```\n\n### If you get errors in step 2:\n\n## 3. **node-gyp**\n\nIn case you get errors from **node-gyp**, especially for **Argon2** or **webrtc**\n\n#### 3.1 node-gyp on Windows\nopen a Command Prompt with **Administrator rights**\n\n```shell\ncd C:\\Path\\To\\Node-WebDollar\\\nnpm install --global --production windows-build-tools\nnpm install\n```\n\n#### 3.2 Error for updating to 1.3.21\n\nTutorial based on https://github.com/ranisalt/node-argon2/issues/29\n\nInstall node v16 via nvm\n`nvm install 16`\n`nvm use 16`\n`nvm use default 16`\n\n## 4. SSL (Secure Socket Layer) Certificate\n\nWebDollar uses SSL (Secured Socket Layer) and in order to generate your SSL Certificate you need a Domain or to generate your own SSL Certificate for your IP\n\n### 4.1. No-IP solution for Free Domain\n###### This is required to get a SSL certificate. If you already have a domain, skip this step.\nFollow the tutorial: [Install No-Ip using ddns.net](/docs/Install-No-Ip.md)\n\n\n### 4.2. Generate your SSL certificate\n###### Port 80 must not be in use prior to running LetsEncrypt SSL generator!\n\nInside Node-WebDollar folder, run: \n```shell \nsudo bash start-node-letsencrypt.sh\n```\n\n\n#### Firewall acceptable\n\nUnix\n```shell\nsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT\n\n````\n\nIf you are under a **router/firewall**, you need to port forward the port used by the Nodes: **80**,**443** or whatever port they use.\n\n\n## 5. **Console commands**\n\n#### 5.1 Run terminal interactive menu\n```shell\nnpm run commands\n```\n\n#### 5.2 Run terminal non-interactive menu\n\nAfter building the terminal project\n\n```shell\nnpm run build_terminal_menu\nnpm run build_terminal_worker\n```\n\nit is possible to run the terminal project as a non-interactive script:\n\n```shell\nnode --max_old_space_size=10240 dist_bundle/terminal-menu-bundle.js -- --import-address wallet.json --list-addresses --mining-address 0 --mine-in-pool https://webdollar.io/pool/url/here\n```\n\nthe first part of the command (`node --max_old_space_size=10240 dist_bundle/terminal-menu-bundle.js`) launches the terminal project.\n\nThe next portion of the command (`--`) starts it in non-interactive mode.\nWithout `--`, the terminal menu defaults to interactive.\n\nThe next parts are the commands to run in order.\n\nAlternatively, you can use the `./webd` command in the root of this project. The cli must be built first.\n`./webd` assumes non-interactive, so `--` can be omitted from the command.  To run interactively `npm run commands` works best.\n\n```shell\n./webd --import-address wallet.json --list-addresses --mining-address 0 --mine-in-pool https://webdollar.io/pool/url/here --set-password 'my 12 word password'\n```\n\nTo display the list of commands, run:\n```shell\n./webd (-h|--help)\n```\n\n#### 5.3 Running Full Node\n\nInstall pm2.\n```shell\nnpm install pm2 -g --unsafe-perm\n```\n\n##### Linux\n\nRun pm2:\n\n```shell\nchmod +x start.sh\n./start.sh\n```\nor \n```bash node-start.sh```\n\nTo kill pm2 process, use ```pm2 stop id```- get id by running ```pm2 list```\n\n##### Windows\nstart.sh ???\n\n#### 5.2 Run Mocha Tests (optional)\n```\nnpm run test\n```\n\n#### 5.3 Missing Packages or Errors\nObs. In case there you get an error message about some missing packages like the following one:\n\n```Error: Cannot find module 'name_missing_package'```\n\njust, run ```npm install name_missing_package```\n\n\n#### 5.4 Building Dist for Browser (webpack)\n```shell\nnpm run build_browser\n```\n\n#### 5.5 Building Dist for Browser TEST (dist_bundle/browser/browser.html)\n```shell\nnpm run test_browser\n```\n\n#### 5.6 Building Dist for User-Interface\n```shell\nnpm run build_browser_user_interface\n```\n\nopen web page `dist_bundle/browser/browser.html`\n\n#### 5.7 Running Server in Node.js\n\n```shell\nnpm run commands\nnpm run start\n```\n\n#### 5.8 PM2 to run the Node run indefinitely\n\nFollow the tutorial: [PM2 to run the Node Indefinitely](/docs/PM2-Tutorial.md)\n\n## Development Environment\n\n### Dockerized\nIt is possible to run the development environment in a docker container.\nThis is useful if you are unable to configure and install the custom argon2\nflavor required by this project. The docker container has this project set up to be\nbuilt in it, and comes pre-installed with the tools you need for this project.\n\n#### Building\n\nRun `docker-compose build` to build the workspace container.\n\nTo force a rebuild, you can either remove the previous workspace (`docker rm webdollar-dev-env`)\nor you can run `docker-compose build --no-cache`.\n\n#### Running\n\nOnce you've build the workspace container, simply run it to launch an interactive shell with all the tools you need to develop.\n\n`docker-compose run webdollar-dev-env`\n\nThis entire folder is mounted into the container, so any files you change in the workspace will be available to the container immediately.\n\n# To do:\n\n1. Pool Mining\n2. Multi-sig with Schnorr Signatures\n\n\n# Resources to learn\n7 Ethereum https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369\n\nMining Bitcoin\n1.  http://blog.jameslarisch.com/mining-bitcoin-blocks-yourself-for-fun-and-no-profit\n2. http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html\n3. https://steemit.com/blockchain/@verifyas/what-you-should-know-about-nonces-and-difficulty\n\n# Join WebDollar community\n\n\u003cdl\u003e\n    \u003ca href=\"http://t.me/WebDollar\"\u003e\n        \u003cimg src=\"http://icons.iconarchive.com/icons/froyoshark/enkel/64/Telegram-icon.png\"\u003e\n    \u003c/a\u003e\n\u003c/dl\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdollar%2Fnode-webdollar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebdollar%2Fnode-webdollar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdollar%2Fnode-webdollar/lists"}