Skip to content

JeongHunP/miningpool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Guide for operating own miningpool with miningcore

Current state

We operate our own miningpool with software "miningcore" and there are three coins we support now, bitcoin, ethereum and litecoin. Testing connection between mining pool and miner is conducted by software "bfgminer".

There are two servers, xxx.xxx.xxx.35 and xxx.xxx.xxx.36 which will be called as first server(35) and second server(36). Those servers are using ubuntu 18.04.
First server contains miningcore, bitcoin daemon(and blockchain data) and litecoin daemon(and blockchain data). Second server contains ethereum daemon(and blockchain data). First server consists of one ssd which includes miningcore and one hhd which includes bitcoin blockchain data. Second server consists of two ssd which includes ethereum blockchain data and one hhd which includes ethereum ancient blockchain data.

Bfgminer is installed in the local labtab.

Guide for Installation

bitcoind

  1. Install bitcoind bitcoin.conf for bitcoin configuration file should be located in /home/user/.bitcoin and below is its content.
rpcuser="user"
rpcpassword="password"
rpcbind=0.0.0.0
rpcport=8332
server=1

Other configuration can be automatically made in here After finishing configuration, start syncing bitcoin node with bitcoind command.

ethereum

As ethereum merge proceeds, it not only needs execution layer protocl such as geth, but also requires consensus layer protocol such as prysm. Those installation is here.

After installing all of the requirements(geth, prysm), it also requires geth syncing and prysm syncing. It requires lots of time(days-weeks).

Below is the command of geth and prysm

sudo geth --http --http.port 8545 -http.addr xxx.xxx.xxx.36 --http.api eth,net,engine,admin --authrpc.addr localhost --authrpc.port 8551 --authrpc.vhosts localhost --authrpc.jwtsecret /home/cse/mining_pool/coins/ethereum/consensus/prysm/jwt.hex --datadir ~/.ethereum --datadir.ancient /mnt/sda1/mining_pool/geth --cache=1024 --unlock 0x569D0C9d68E859feC75B3A686A82B6D5CEf82B42 --password /home/cse/.ethereum/keystore/password.txt --allow-insecure-unlock --mine
./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=/home/cse/mining_pool/coins/ethereum/consensus/prysm/jwt.hex

litecoin

litecoin installation is similiar with bitcoin. litecoin.conf for litecoin configuraiton file should be located in /home/user/.litecoin and bloe is its content.

rpcuser="user"
rpcpassword="password"
rpcbind=0.0.0.0
rpcport=9332
port=9333
server=1

After finishing configuration, start syncing litecoin node with litecoind command.

bfgminer

bfgminer installation guide is here After installation is finished, use below command to execute bfgminer.

./bfgminer -o stratum+tcp://xxx.xxx.xxx.35:3052 -u 1J74fs5XV1s15YWcJswAa7nRrXHKLe38Mc.001 -p x 

stratum+tcp://xxx.xxx.xxx.35:3052 is about miningcore's address and port for specific coin that the example is about bitcoin. -u 1J74fs5XV1s15YWcJswAa7nRrXHKLe38Mc.001 is the name of miner which is the wallet address of coin. -p x is the password of miner.

If you try to connect with other miningpool software such as f2pool, the name of miner should be the name that you sign up with in the miningpool software.

f2pool

Guide for mining with f2pool is here

miningcore

miningcore is the software that can make us operate our own mining pool. It supports lots of coins and frontend api.

Installing miningcore is starting from modifying build-ubuntu-(version).sh file depending on your system. Go through installation stated in the miningcore github.

To configure coins, modify /miningcore/build/config.json file. Its explanation is here. Make sure to configure correctly coin daemon, port and the other variables.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published