How To Create Your Own Ravencoin Mining Pool

How To Create Your Own Ravencoin Mining Pool

How To Create Your Own Ravencoin Mining Pool
How To Create Your Own Ravencoin Mining Pool

To Create Your Own Mining Pool 

Requirements

NOTE: These requirements will be installed in the install section!

  • Ubuntu Server 18.04.* LTS
  • Coin daemon
  • Node Version Manager
  • Node 8.1.4
  • Process Manager 2 / pm2
  • Redis Server
  • ntp

Ubuntu 18.04 LTS 

Select an image

Ubuntu is distributed on two types of images described below.

Desktop image

The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of image is what most people will want to use. You will need at least 1024MiB of RAM to install from this image.

There is one image available:

64-bit PC (AMD64) desktop image
Choose this if you have a computer based on the AMD64 or EM64T architecture (e.g., Athlon64, Opteron, EM64T Xeon, Core 2). Choose this if you are at all unsure.

Server install image

The server install image allows you to install Ubuntu permanently on a computer for use as a server. It will not install a graphical user interface.

There is one image available:

64-bit PC (AMD64) server install image
Choose this if you have a computer based on the AMD64 or EM64T architecture (e.g., Athlon64, Opteron, EM64T Xeon, Core 2). Choose this if you are at all unsure.

Install Coin Daemon

adduser pool
usermod -aG sudo pool
su - pool
sudo apt install wget
wget https://github.com/RavenProject/Ravencoin/releases/download/v4.1.0/raven-4.1.0.0-x86_64-linux-gnu.tar.gz
tar -xf raven-4.1.0.0-x86_64-linux-gnu.tar.gz
rm raven*gz
cd raven-4.1.0.0/bin
mkdir -p ~/.raven/
touch ~/.raven/raven.conf
echo "rpcuser=user1" > ~/.raven/raven.conf
echo "rpcpassword=pass1" >> ~/.raven/raven.conf
echo "prune=550" >> ~/.raven/raven.conf
echo "daemon=1" >> ~/.raven/raven.conf
./ravend
./raven-cli getnewaddress

Install Pool

sudo apt install git -y
cd ~
git config --global http.https://gopkg.in.followRedirects true
git clone https://github.com/notminerproduction/rvn-kawpow-pool.git
cd rvn-kawpow-pool/
./install.sh


Configure Pool

Change "stratumHost": "192.168.0.200", to your IP or DNS in file config.json:

cd ~/rvn-kawpow-pool
nano config.json
{
    
    "poolname": "Raven Coin Pool",
    
    "devmode": false,
    "devmodePayMinimim": 0.25,
    "devmodePayInterval": 120,
    
    "logips": true,       
    "anonymizeips": true,
    "ipv4bits": 16,
    "ipv6bits": 16,
    
     "defaultCoin": "ravencoin",
    
    "poollogo": "https://zelcash.github.io/zeltrez.io/images/logos/Ravencoin.svg",
    
    "discordtwitterfacebook": "Join our #mining channel on Discord: <a href='https://discord.gg/vzcbVNW' target='_blank'>https://discord.gg/vzcbVNW</a>",
    
    "pagetitle": "Raven Coin Pool - 1% Fees Promo - Run by professionals",
    "pageauthor": "My Name Is...",
    "pagedesc": "A reliable, low fee, easy to use mining pool for cryptocurrency! No matter your experience with mining cryptocurrency, we make it easy! Get started mining today!",
    "pagekeywds": "GPU,CPU,Hash,Hashrate,Cryptocurrency,Crypto,Mining,Pool,Bitcoin,Raven,Ravencoin,Wavi,Wavicoin,Dixicoin,Dixi,QBic,QBicCoin,Easy,Simple,How,To",

    "btcdonations": "1NRXddRwZSXVQ8NBdgiwv5DsJn2bmHenu6",
    "ltcdonations": "LcghtmAVSi94FHrn4xbbSd4nFChWy6QUng",
    "ethdonations": "0x85c5e7db222705da939174cf435d8836423a03e8",
    "etcdonations": "0xc8efe17161b98a5fd860e7e6e51d53083265d966",

    "logger" : {
        "level" : "debug",
        "file" : "~/rvn-kawpow-pool/logs/nomp_debug.log"
    },

    "cliHost": "127.0.0.1",
    "cliPort": 17117,

    "clustering": {
        "enabled": false,
        "forks": "auto"
    },

    "defaultPoolConfigs": {
        "blockRefreshInterval": 1000,
        "jobRebroadcastTimeout": 55,
        "connectionTimeout": 600,
        "emitInvalidBlockHashes": false,
        "validateWorkerUsername": true,
        "tcpProxyProtocol": false,
        "banning": {
            "enabled": true,
            "time": 600,
            "invalidPercent": 50,
            "checkThreshold": 500,
            "purgeInterval": 300
        },
        "redis": {
            "host": "127.0.0.1",
            "port": 6379
        }
    },

    "website": {
        "enabled": true,
        "sslenabled": false,
        "sslforced": false,
        "host": "0.0.0.0",
        "port": 80,
        "sslport": 443,
        "sslkey": "~/rvn-kawpow-pool/certs/privkey.pem",
        "sslcert": "~/rvn-kawpow-pool/certs/fullchain.pem",
        "stratumHost": "192.168.0.200",
        "stats": {
            "updateInterval": 5,
            "historicalRetention": 43200,
            "hashrateWindow": 600
        },
        "adminCenter": {
            "enabled": false,
            "password": "NOT_WORKING_YET_:P_LESHACAT_CAN_DO_ADMIN_PANEL_FUNCTIONALITY_TOO"
        }
    },

    "redis": {
        "host": "127.0.0.1",
        "port": 6379
    },

    "switching": {
        "switch1": {
            "enabled": false,
            "algorithm": "sha256",
            "ports": {
                "3333": {
                    "diff": 10,
                    "varDiff": {
                        "minDiff": 16,
                        "maxDiff": 512,
                        "targetTime": 15,
                        "retargetTime": 90,
                        "variancePercent": 30
                    }
                }
            }
        },
        "switch2": {
            "enabled": false,
            "algorithm": "scrypt",
            "ports": {
                "4444": {
                    "diff": 10,
                    "varDiff": {
                        "minDiff": 16,
                        "maxDiff": 512,
                        "targetTime": 15,
                        "retargetTime": 90,
                        "variancePercent": 30
                    }
                }
            }
        },
        "switch3": {
            "enabled": false,
            "algorithm": "x11",
            "ports": {
                "5555": {
                    "diff": 0.001,
                    "varDiff": {
                        "minDiff": 0.001,
                        "maxDiff": 1, 
                        "targetTime": 15, 
                        "retargetTime": 60, 
                        "variancePercent": 30 
                    }
                }
            }
        }
    },

    "profitSwitch": {
        "enabled": false,
        "updateInterval": 600,
        "depth": 0.90,
        "usePoloniex": true,
        "useCryptsy": true,
        "useMintpal": true,
        "useBittrex": true
    }
}



Change "address": "RKopFydExeQXSZZiSTtg66sRAWvMzFReUj", to your pool created wallet address in file ravencoin.json:

cd ~/rvn-kawpow-pool/pool_configs
nano ravencoin.json
{
    "enabled": true,
    "coin": "ravencoin.json",

    "address": "RKopFydExeQXSZZiSTtg66sRAWvMzFReUj",
    
    "donateaddress": "RL5SUNMHmjXtN1AzCRFQrFEhjnf7QQY7Tz",

    "rewardRecipients": {
        "RL5SUNMHmjXtN1AzCRFQrFEhjnf7QQY7Tz": 0.5,
        "Ta26x9axaDQWaV2bt2z8Dk3R3dN7gHw9b6": 0
    },

    "paymentProcessing": {
        "enabled": true,
        "schema": "PROP",
        "paymentInterval": 300,
        "minimumPayment": 0.25,
        "maxBlocksPerPayment": 10,
        "minConf": 30,
        "coinPrecision": 8,
        "daemon": {
            "host": "127.0.0.1",
            "port": 17117,
            "user": "user1",
            "password": "pass1"
        }
    },

    "ports": {
	"10008": {
            "diff": 2,
    	    "varDiff": {
    	        "minDiff": 1,
    	        "maxDiff": 16,
    	        "targetTime": 10,
    	        "retargetTime": 60,
    	        "variancePercent": 30,
    		    "maxJump": 25
    	    }
        },
        "10032": {
            "varDiff": {
                "minDiff": 0.04,
                "maxDiff": 16,
    	        "targetTime": 10,
    	        "retargetTime": 60,
    	        "variancePercent": 30,
		        "maxJump": 25
            }
        },
        "10256": {
		    "varDiff": {
    			"minDiff": 1000,
    			"maxDiff": 9000,
    	        "targetTime": 10,
    	        "retargetTime": 60,
    	        "variancePercent": 30,
    			"maxJump": 50
    		}
        }
    },

    "daemons": [
        {
            "host": "127.0.0.1",
            "port": 8766,
            "user": "user1",
            "password": "pass1"
        }
    ],

    "p2p": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 19333,
        "disableTransactions": true
    },

    "mposMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 3306,
        "user": "me",
        "password": "mypass",
        "database": "ltc",
        "checkPassword": true,
        "autoCreateWorker": false
    },

    "mongoMode": {
        "enabled": false,
        "host": "127.0.0.1",
        "user": "",
        "pass": "",
        "database": "ltc",
        "authMechanism": "DEFAULT"
    }

}


Run Pool
cd ~/rvn-kawpow-pool
./pool-start.sh