Skip to content

Open-sourcing pool for grin. Easy to depoly and keep KISS in design. Avaliable to epic (epicash, a grin forkcoin) too.

License

Notifications You must be signed in to change notification settings

mining-pool/open-grin-pool

Repository files navigation

open-grin-pool

FOSSA Status Build Status Go Report Card

This is originally designed for the epic (=epicash). And the codebase of the epic is grin so it can be generally used as the grin pool.

Latest is tested under grin's usernet.

features

  • relay the miner conn to the grin node, totally native experience
  • expose the TUI miner detail to Http API
  • backup the share(submit) histories per specific time interval
  • record the miner's pay method (manually sent coin by pool maintainer)
  • pool status

Usage

# if grin
grin server run 
# if epic
epic server run

# ready
git clone https://github.com/maoxs2/open-grin-pool.git pool
cd pool && go build .

# config
vi config.json

# start
./open-grin-pool 

WebAPI:

  • /pool basic pool status
  • /revenue the revenue last day, which the pool maintainer has to sent today
  • /shares the all miners' shares today
  • /miner/{miner_login} GET is the miner status POST upload the payment method. e.g. curl 127.0.0.1:3333/miner/Hello will get the json of "Hello"'s status. curl -X POST -d "{'pass': 'passwordOfHello', 'pm': 'http://<IP>:<PORT>'}" 127.0.0.1:3333/miner/Hello

The maintainer can manually use this command to send the coin grin wallet send -d http://<IP>:<PORT>. Note, ensure the receiver online before your sending.

WebPage:

  • replace the API address to your API in the web/config.js
  • move all files in web to your Nginx/Apache folder

Config

For server

If you are using epic you can keep all default except auth_pass. The password can be found in the .api_secret file.

knowledge about this, check here

The diff should be the same difficulty to what you configured in server's (not pool's) .toml config file.

For miner

In miner's config(a .toml config file), these 2 params are required

# login for the stratum server (if required)
stratum_server_login = "loginName"

# password for the stratum server (if required)
stratum_server_password = "loginPass"

The agent is optional. Pool treat it as the miner's rig name.

or the miner will not be able to connect to the server and the sol will not be relayed to the node!

TODO

  • Web UI
  • More accurate hash rate
  • Administration based on web
  • multi Backend (failover)
  • multi Port (with different difficulties)

Please donation: LTC: LXxqHY4StG79nqRurdNNt1wF2yCf4Mc986

License

FOSSA Status

About

Open-sourcing pool for grin. Easy to depoly and keep KISS in design. Avaliable to epic (epicash, a grin forkcoin) too.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •