- Make sure you use node V13 or lower.
git clone https://github.com/VeriBlock/vbk-ri-stratum-pool && cd vbk-ri-stratum-poolnpx lerna bootstrap- this will runlerna bootstrapcommand without installation, which is equal tonpm installin 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.jsonand rename this file, we will usevbtc_config.json - Inside
vbtc_config.json:enabled- change totruecoin- set to a filename fromcoinsdir, for examplevbtc.json- Set address (must be legacy) and reward recipients (optional)
- In
paymentProcessingset daemon host, port, and creds. - In
portssection, each number is a new pool port. For simple deployments, leave single port.- if you're not sure what diffs are, set
diffto 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.jsonin same folder as init.js:- Go to
packages/portal - Copy
config_example.jsonand name itconfig.json - Inside
config.json:clustering- defines number of pool processes to run. For simple deployments useenabled: falseredis- define host and port of live Redis instance.website- define host, port for website, and also disable adminCenter.switchingandprofitSwitchcan be skipped for simple deployments.
- Go to
- Go to
packages/portal node init.jswill 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:3333is pool's host and portn4jSe18kZMCdGcZqaYprShXW6EH1wivUK1is a legacy address (can be generated viavbitcoin-cli getnewaddress "" legacy)xis passwordsha256dis coin algorithm