An open source Crypto Night Pool written in C# and C++ for maximum speed and efficiency for coins such as Monero and Bytecoin. Uses Redis for a high performance database. Also comes with a full fledged front end.
===
Clone this repository locally and run make
git clone https://github.com/archit120/Monero-Pool.git
cd Monero-Pool
make
The resulting binaries can be found in /build/
Compile the C++ part of the solution then compile the C# project named Monero-Pool. After doing this copy the C++ dll to same folder as your pool binaries.
Binary releases can be found on the repository.
Have a look the sample config.txt given and configure it to your liking.
Sample config
#Daemon RPC address
daemon-json-rpc=http://127.0.0.1:18081
#Wallet RPC address
wallet-json-rpc=http://127.0.0.1:8082
#Http Server address with port
http-server=http://*:7707/
#Pool wallet address
wallet-address=41jhre5xFk92GYaJgxvHuzUC5uZtQ4UDU1APv3aRAc27DWBqKEzubC2WSvmnbxaswLdB1BsQnSfxfYXvEqkXPvcuS4go3aV
#Redis database server address
redis-server=127.0.0.1
#Redis database Id
redis-database=0
#Number of seconds before removing a miner without getting a response
client-timeout-seconds=60
#Starting difficulty for all miners
base-difficulty=150
#Ban when this percentage of shares are invalid
ban-reject-percentage=50
#Minutes to ban the miner for
ban-time-minutes=60
#Block depth required for transactions to occur
block-confirms=60
#Percentage of pool fee
pool-fee=5
#Base 58 prefix for address
base58-prefix=18
#Enable banning after this many shares
ban-after-shares=10
#Target time for shares
vardiff-targettime-seconds=15
#vardiff deviation from target time allowed
vardiff-targettime-deviation-allowed=5
#Percentage of maximum difficulty change in one step
vardiff-targettime-maxdeviation=10
#Maximum difficulty
vardiff-max-difficulty=15000
#Maximum concurrent works to miner
max-concurrent-works=15
#Tcp server port
stratum-server-port=7706
#Retarget difficulty for miners every this seconds
diffiulty-retarget=5
mono MoneroPool.exe
MoneroPool.exe
Edit the config.json
{"scheme":"tcp","host":"192.168.1.4","port":6379}
Download and extract Predis to the root directroy of front end. Host with a webserver capable of serving PHP files.
When upgrading it is highly recommended to wait for an official release. Since the pool is still in extremely beta stage many big changes may be implemented so follow the step listed in release carefully while upgrading.
No cryptonote based coins have a testnet mode (yet) but you can effectively create a testnet with the following steps:
/src/p2p/net_node.inl
and remove lines with ADD_HARDCODED_SEED_NODE
to prevent it from connecting to mainnet (Monero example: http://git.io/0a12_Q)./coind --p2p-bind-port 28080 --allow-local-ip
./coind --p2p-bind-port 5011 --rpc-bind-port 5010 --add-peer 0.0.0.0:28080 --allow-local-ip
Credit to surfer43 for these instructions