- Make sure you use node V13 or lower.
git clone https://github.com/VeriBlock/vbk-ri-stratum-pool && cd vbk-ri-stratum-pool
npx lerna bootstrap
- this will runlerna bootstrap
command without installation, which is equal tonpm install
in each subpackage. If this fails, open issue in this repo with details.- For new coin, create
packages/portal/coins/<name>.json
, for existing coin, skip this step. - Create pool config:
- Go to
packages/portal/pool_configs
- Copy
litecoin_example.json
and rename this file, we will usevbtc_config.json
- Inside
vbtc_config.json
:enabled
- change totrue
coin
- set to a filename fromcoins
dir, for examplevbtc.json
- Set address (must be legacy) and reward recipients (optional)
- In
paymentProcessing
set daemon host, port, and creds. - In
ports
section, each number is a new pool port. For simple deployments, leave single port.- if you're not sure what diffs are, set
diff
to 0.01 and removevarDiff
- if you're not sure what diffs are, set
daemons
- define one or multiple (for redundancy) nodes for pool to connect.p2p
- defines whether block broadcasting over p2p works or not. Make sure to set correct p2p port.mposMode
- in this mode all shares are saved into MySQL instead of Redis. Disable for simple deployments.
- Go to
- Create
config.json
in same folder as init.js:- Go to
packages/portal
- Copy
config_example.json
and name itconfig.json
- Inside
config.json
:clustering
- defines number of pool processes to run. For simple deployments useenabled: false
redis
- define host and port of live Redis instance.website
- define host, port for website, and also disable adminCenter.switching
andprofitSwitch
can be skipped for simple deployments.
- Go to
- Go to
packages/portal
node init.js
will run pool daemon and website. Redis and Nodes must be started beforehand.
Use docker-compose:
version: '3'
services:
pool:
image: veriblock/pop-stratum:latest
ports:
# stratum v1 port (defined in poolconfig.json)
- 3333:3333
# web (defined in config.json)
- 8080:8080
volumes:
# mount config.json (create manually beforehand)
- ./config.json:/opt/stratum/packages/portal/config.json:ro
# mount coin.json (create manually beforehand)
- ./coin.json:/opt/stratum/packages/portal/coins/coin.json:ro
# mount poolconfig.json (create manually beforehand)
- ./poolconfig.json:/opt/stratum/packages/portal/pool_configs/poolconfig.json:ro
depends_on:
- redis
redis:
image: redis
- Build https://github.com/pooler/cpuminer
./minerd -o 'stratum+tcp://localhost:3333' -u n4jSe18kZMCdGcZqaYprShXW6EH1wivUK1 -p x -a sha256d
Where:
localhost:3333
is pool's host and portn4jSe18kZMCdGcZqaYprShXW6EH1wivUK1
is a legacy address (can be generated viavbitcoin-cli getnewaddress "" legacy
)x
is passwordsha256d
is coin algorithm