Skip to content
Nimiq Mining-Pool Server
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec Get and store client IP on connect, use for banning later Apr 30, 2018
sql Directory structure, minor cleanup Apr 27, 2018
src Send keep-alive pings May 5, 2018
.gitignore Add pool metrics Apr 17, 2018
.travis.yml
LICENSE
README.md
index.js
package.json Use core from npm repo Apr 27, 2018
payout.sample.conf
server.sample.conf
service.sample.conf
yarn.lock Use core from npm repo Apr 27, 2018

README.md

Nimiq Mining-Pool Server

This mining pool server combines resources of multiple clients mining on the Nimiq blockchain. Clients are independent network nodes and generate or validate blocks themselves to support decentralization. Details about the mining pool protocol can be found here. A mining pool client is implemented in Nimiq Core.

Operating a public mining-pool in the mainnet makes you responsible for other people's money. Test your pool setup in the testnet first!

Architecture

The pool server consists of three parts which communicate through a common MySQL-compatible database (schema see sql/create.sql)

  • The pool server interacts with clients and verifies their shares. There can be multiple pool server instances.
  • The pool service computes client rewards using a PPLNS reward system.
  • The pool payout processes automatic payouts above a certain user balance and payout requests.

While the server(s) and the service are designed to run continuously, the pool payout has to be executed whenever a payout is desired.

Run

Run node index.js --config=[CONFIG_FILE]. See [server|service|payout].sample.conf for sample configuration files and clarifications.

License

Copyright 2018 The Nimiq Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You can’t perform that action at this time.