当前位置: 首页 > 软件库 > Web3 > 区块链 >

Node-WebDollar

WebDollar Protocol - Currency of the Internet
授权协议 MIT License
开发语言
所属分类 Web3、 区块链
软件类型 开源软件
地区 不详
投 递 者 柴博
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Node-WebDollar

Webstorm ES6

Settings => Languages & Frameworks => JavaScript language version and choose ECMAScript 6

Docker (No skills, only docker)

1. Install Docker

https://docs.docker.com/install/

2. Run prebuilt Container (automated build https://hub.docker.com/r/webdollar/node/)

AutoSSL

docker run -d --restart=always -v /webdollar/ssl:/etc/letsencrypt/live -v /webdollar/data:/blockchainDB3 -e DOMAIN=<ENTER DOMAIN HERE> -e EMAIL=<ENTER EMAIL HERE> --name webdollar -p 80:80 -p 443:443 webdollar/node

NoSSL

docker run -d --restart=always -v /webdollar/data:/blockchainDB3 -e NOSSL=true -e SERVER_PORT=80 --name webdollar -p 80:80 webdollar/node

Installing (Non-techie skills required)

Follow the following instructions: http://webdollar.aji.ro/webdollar-mining-with-windows-terminal/

Installing (High tech skills required)

0. Node.js

Required: v16.x

nvm is the recommended tooling to get the right version. Simply run nvm use from the root of this project.

Windows: You can download Node.js from this URL: https://nodejs.org/en/download/

Linux: It's reccomended you install Node.js using NVM

1. Cloning Repository

git clone https://github.com/WebDollar/Node-WebDollar.git Node-WebDollar

2. Installing modules

cd Node-WebDollar to enter in the directory of the repository

npm install

If you get errors in step 2:

3. node-gyp

In case you get errors from node-gyp, especially for Argon2 or webrtc

3.1 node-gyp on Windows

open a Command Prompt with Administrator rights

cd C:\Path\To\Node-WebDollar\
npm install --global --production windows-build-tools
npm install

3.2 Error for updating to 1.3.21

Tutorial based on https://github.com/ranisalt/node-argon2/issues/29

Install node v16 via nvmnvm install 16nvm use 16nvm use default 16

4. SSL (Secure Socket Layer) Certificate

WebDollar 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

4.1. No-IP solution for Free Domain

This is required to get a SSL certificate. If you already have a domain, skip this step.

Follow the tutorial: Install No-Ip using ddns.net

4.2. Generate your SSL certificate

Port 80 must not be in use prior to running LetsEncrypt SSL generator!

Inside Node-WebDollar folder, run:

sudo bash start-node-letsencrypt.sh

Firewall acceptable

Unix

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

If you are under a router/firewall, you need to port forward the port used by the Nodes: 80,443 or whatever port they use.

5. Console commands

5.1 Run terminal interactive menu

npm run commands

5.2 Run terminal non-interactive menu

After building the terminal project

npm run build_terminal_menu
npm run build_terminal_worker

it is possible to run the terminal project as a non-interactive script:

node --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

the first part of the command (node --max_old_space_size=10240 dist_bundle/terminal-menu-bundle.js) launches the terminal project.

The next portion of the command (--) starts it in non-interactive mode.Without --, the terminal menu defaults to interactive.

The next parts are the commands to run in order.

Alternatively, you can use the ./webd command in the root of this project. The cli must be built first../webd assumes non-interactive, so -- can be omitted from the command. To run interactively npm run commands works best.

./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'

To display the list of commands, run:

./webd (-h|--help)

5.3 Running Full Node

Install pm2.

npm install pm2 -g --unsafe-perm
Linux

Run pm2:

chmod +x start.sh
./start.sh

orbash node-start.sh

To kill pm2 process, use pm2 stop id- get id by running pm2 list

Windows

start.sh ???

5.2 Run Mocha Tests (optional)

npm run test

5.3 Missing Packages or Errors

Obs. In case there you get an error message about some missing packages like the following one:

Error: Cannot find module 'name_missing_package'

just, run npm install name_missing_package

5.4 Building Dist for Browser (webpack)

npm run build_browser

5.5 Building Dist for Browser TEST (dist_bundle/browser/browser.html)

npm run test_browser

5.6 Building Dist for User-Interface

npm run build_browser_user_interface

open web page dist_bundle/browser/browser.html

5.7 Running Server in Node.js

npm run commands
npm run start

5.8 PM2 to run the Node run indefinitely

Follow the tutorial: PM2 to run the Node Indefinitely

Development Environment

Dockerized

It is possible to run the development environment in a docker container.This is useful if you are unable to configure and install the custom argon2flavor required by this project. The docker container has this project set up to bebuilt in it, and comes pre-installed with the tools you need for this project.

Building

Run docker-compose build to build the workspace container.

To force a rebuild, you can either remove the previous workspace (docker rm webdollar-dev-env)or you can run docker-compose build --no-cache.

Running

Once you've build the workspace container, simply run it to launch an interactive shell with all the tools you need to develop.

docker-compose run webdollar-dev-env

This entire folder is mounted into the container, so any files you change in the workspace will be available to the container immediately.

To do:

  1. Pool Mining
  2. Multi-sig with Schnorr Signatures

Resources to learn

7 Ethereum https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369

Mining Bitcoin

  1. http://blog.jameslarisch.com/mining-bitcoin-blocks-yourself-for-fun-and-no-profit
  2. http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html
  3. https://steemit.com/blockchain/@verifyas/what-you-should-know-about-nonces-and-difficulty

Join WebDollar community

 相关资料
  • Node是kubernetes集群的工作节点,可以是物理机也可以是虚拟机。 Node的状态 Node包括如下状态信息: Address HostName:可以被kubelet中的--hostname-override参数替代。 ExternalIP:可以被集群外部路由到的IP地址。 InternalIP:集群内部使用的IP,集群外部无法访问。 Condition OutOfDisk:磁盘空间不足时

  • node 负责 peer node 子命令。

  • 这用于确定进程需要运行的节点的值。 由于分布式编程用于在不同节点上运行函数,因此在希望在不同机器上运行程序时,此功能非常有用。 语法 (Syntax) node() 参数 (Parameters) None 返回值 (Return Value) 这将返回本地节点的名称。 如果节点未分发,则返回nonode@nohost 。 例如 (For example) -module(helloworld)

  • The Po.et Node The Po.et Node allows you to timestamp documents in a decentralized manner. It's built on top of the Bitcoin blockchain and IPFS. Index The Po.et Node Index How to Run the Po.et Node De

  • Node-Lua是一款基于Lua实现的脚本和服务器引擎,它支持构建海量Lua服务(Context_Lua)并以多线程方式运行在多核服务器上,采用了任务多路复用的设计方案,有效利用了多核优势。node-lua致力于构建一个快速、简单易用的Lua脚本和服务器开发和运行环境。该引擎参考了Node-Js和Skynet的设计思想,并对其进行了整合和优化。 该引擎当前版本实现了以下特性: 引擎核心层同时支持同

  • 在程序里经常都需要生成一些特定格式的 id ,每种场合的需求都可能有些不一样,虽然写起来代码不复杂,但零零碎碎的东西做多了也挺烦的,于是设计了这个用于 node.js 的万能 ID 生成器。 AnyID 生成的 ID 为字符串(也可以纯数字),信息密度尽可能的高,也就是用最少的位数表示尽量多的信息。 AnyID 设计的首要考虑原则是 API 的直观易用。看看这些例子: 指定长度,随机值填充 21

  • node-eos 是 eos 的 Node.js 客户端开发包。 init eos : var eos = require("node-eos");eos.init({    zookeeper_ip: '192.168.0.224',    zookeeper_port: 2181,    long_connect: true,    exclude_eos:[],//ignore eos   

  • 基于nodejs 实现的MITM(中间人)代理 支持https: 安装 windows npm install node-mitmproxy -g Mac sudo npm install node-mitmproxy -g 生成CA根证书 node-mitmproxy createCA 安装CA Root证书 Mac sudo security add-trusted-cert -d -r tr