Bitcoin Forum
November 05, 2024, 12:43:07 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
Author Topic: [GUIDE] Setup your own Ethereum mining pool.  (Read 30291 times)
bapparabi (OP)
Hero Member
*****
Offline Offline

Activity: 826
Merit: 1000


View Profile
March 01, 2017, 01:19:50 PM
 #1


I have created a guide on how to create your own Ethereum mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible and explain every step. All you really need is a very, very basic knowledge of Linux and some patience. I feel like it's important for crypto that more people are capable of running a mining pool, or at least have the knowledge of it.

******GUIDE!!!******
http://betbybitcoin.com/setup-ethereum-mining-pool-using-open-source-ethereum-pool/


Here is an example of what you would be setting up if you follow the guide:
http://myetherpool.org//

All the software used in the guide is free/open source.

I will try and create more guides as time goes on. I will also support the guides I currently have, so feel free to ask any questions pertaining to the guide. Anybody else that is knowledgeable with mining pool software, or linux feel free to help other users.

I will check this thread occasionally and try to answer some questions.
Mister305
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile WWW
April 06, 2017, 08:11:59 PM
 #2

What happen to the guide?
bapparabi (OP)
Hero Member
*****
Offline Offline

Activity: 826
Merit: 1000


View Profile
April 06, 2017, 09:07:09 PM
 #3

What happen to the guide?

 This should be fine now
Moordact
Newbie
*
Offline Offline

Activity: 54
Merit: 0


View Profile
May 21, 2017, 11:27:28 AM
 #4

Is this still working, thanks in advance!
Gunntha
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
May 21, 2017, 11:57:09 AM
 #5

Thanks for the guide!
Are there minimum requirements for the server (ram, hdd size, cpu) ?
yslyung
Legendary
*
Offline Offline

Activity: 1500
Merit: 1002


Mine Mine Mine


View Profile
May 21, 2017, 12:32:41 PM
 #6

can use claymore ?
GatekeeperZA
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
May 22, 2017, 07:25:26 PM
 #7

how do you get the website running. my geth is synced fully pool loads fine am able to access the api @ /api/stats but no website and no support on this please help
zeratul600
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
June 15, 2017, 05:40:38 AM
 #8

Man im trying to follow your guide, after i have installed geth using
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
After that i just use putty to connect to my vps
I run it with this command
geth  --fast --cache=512 console --rpcaddr 127.0.0.1 --rpcport 8983 --rpc --unlock COINBASEADDRESS
 the node start just fine

Then i try to run the pool module (ALL IN ONE AT FIRST) and this is a log of what I get

root@EPS:~/open-ethereum-pool# ./build/bin/open-ethereum-pool config.json


2017/06/15 05:37:58 Loading config: /root/open-ethereum-pool/config.json
2017/06/15 05:37:58 Running with 1 threads
2017/06/15 05:37:58 Backend check reply: PONG
2017/06/15 05:37:58 Starting payouts
2017/06/15 05:37:58 Set payouts interval to 2h0m0s
2017/06/15 05:37:58 No payees that have reached payout threshold
2017/06/15 05:37:58 Policy state refresh complete
2017/06/15 05:37:58 Set policy stats reset every 1h0m0s
2017/06/15 05:37:58 Set policy state refresh every 1m0s
2017/06/15 05:37:58 Running with 8 policy workers
2017/06/15 05:37:58 Upstream: main => 127.0.0.1:8545
2017/06/15 05:37:58 Upstream: backup => http://127.0.0.2:8545
2017/06/15 05:37:58 Default upstream: main => 127.0.0.1:8545
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Set block refresh every 120ms
2017/06/15 05:37:58 Starting proxy on 127.0.0.1:8888
2017/06/15 05:37:58 Starting API on 127.0.0.1:8080
2017/06/15 05:37:58 Set stats collect interval to 5s
2017/06/15 05:37:58 Set purge interval to 10m0s
2017/06/15 05:37:58 Purged stale stats from backend, 0 shares affected, elapsed time 550.191µs
2017/06/15 05:37:58 Stratum listening on 127.0.0.1:8008
2017/06/15 05:37:58 Stats collection finished 3.454594ms
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""


If you wanna see my config file this is it
{
        "threads": 1,
        "coin": "eth",
        "name": "main",

        "proxy": {
                "enabled": true,
                "listen": "127.0.0.1:8888",
                "limitHeadersSize": 1024,
                "limitBodySize": 256,
                "behindReverseProxy": false,
                "blockRefreshInterval": "120ms",
                "stateUpdateInterval": "3s",
                "difficulty": 2000000000,
                "hashrateExpiration": "3h",

                "healthCheck": true,
                "maxFails": 100,

                "stratum": {
                        "enabled": true,
                        "listen": "127.0.0.1:8008",
                        "timeout": "120s",
                        "maxConn": 8192
                },

                "policy": {
                        "workers": 8,
                        "resetInterval": "60m",
                        "refreshInterval": "1m",

                        "banning": {
                                "enabled": false,
                                "ipset": "blacklist",
                                "timeout": 1800,
                                "invalidPercent": 30,
                                "checkThreshold": 30,
                                "malformedLimit": 5
                        },
                        "limits": {
                                "enabled": false,
 "listen": "127.0.0.1:8008",
                        "timeout": "120s",
                        "maxConn": 8192
                },

                "policy": {
                        "workers": 8,
                        "resetInterval": "60m",
                        "refreshInterval": "1m",

                        "banning": {
                                "enabled": false,
                                "ipset": "blacklist",
                                "timeout": 1800,
                                "invalidPercent": 30,
                                "checkThreshold": 30,
                                "malformedLimit": 5
                        },
                        "limits": {
                                "enabled": false,
                                "limit": 30,
                                "grace": "5m",
                                "limitJump": 10
                        }
                }
        },

        "api": {
                "enabled": true,
                "purgeOnly": false,
                "purgeInterval": "10m",
                "listen": "127.0.0.1:8080",
                "statsCollectInterval": "5s",
                "hashrateWindow": "30m",
                "hashrateLargeWindow": "3h",
                "luckWindow": [64, 128, 256],
                "payments": 30,
                "blocks": 50
        },

        "upstreamCheckInterval": "5s",
"upstream": [
                {
                        "name": "main",
                        "url": "127.0.0.1:8545",
                        "timeout": "10s"
                },
                {
                        "name": "backup",
                        "url": "http://127.0.0.2:8545",
                        "timeout": "10s"
                }
        ],

        "redis": {
                "endpoint": "127.0.0.1:6379",
                "poolSize": 10,
                "database": 0,
                "password": ""
        },

        "unlocker": {
  {
                        "name": "main",
                        "url": "127.0.0.1:8545",
                        "timeout": "10s"
                },
                {
                        "name": "backup",
                        "url": "http://127.0.0.2:8545",
                        "timeout": "10s"
                }
        ],

        "redis": {
                "endpoint": "127.0.0.1:6379",
                "poolSize": 10,
                "database": 0,
                "password": ""
        },

        "unlocker": {
                "enabled": false,
                "poolFee": 1.0,
                "poolFeeAddress": "COINBASEADDRESS",
                "donate": true,
                "depth": 120,
                "immatureDepth": 20,
                "keepTxFees": false,
                "interval": "10m",
                "daemon": "127.0.0.1:8545",
                "timeout": "10s"
        },

        "payouts": {
                "enabled": true,
                "requirePeers": 25,
                "interval": "120m",
                "daemon": "127.0.0.1:8545",
                "timeout": "10s",
                "address": "0x0",
                "gas": "21000",
                "gasPrice": "50000000000",
"autoGas": true,
                "threshold": 100000000,
                "bgsave": false
        },

        "newrelicEnabled": false,
        "newrelicName": "MyEtherProxy",
        "newrelicKey": "SECRET_KEY",
        "newrelicVerbose": false
}





matteocs95
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
July 12, 2017, 11:43:50 PM
 #9

Man im trying to follow your guide, after i have installed geth using
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
After that i just use putty to connect to my vps
I run it with this command
geth  --fast --cache=512 console --rpcaddr 127.0.0.1 --rpcport 8983 --rpc --unlock COINBASEADDRESS
 the node start just fine

Then i try to run the pool module (ALL IN ONE AT FIRST) and this is a log of what I get

root@EPS:~/open-ethereum-pool# ./build/bin/open-ethereum-pool config.json


2017/06/15 05:37:58 Loading config: /root/open-ethereum-pool/config.json
2017/06/15 05:37:58 Running with 1 threads
2017/06/15 05:37:58 Backend check reply: PONG
2017/06/15 05:37:58 Starting payouts
2017/06/15 05:37:58 Set payouts interval to 2h0m0s
2017/06/15 05:37:58 No payees that have reached payout threshold
2017/06/15 05:37:58 Policy state refresh complete
2017/06/15 05:37:58 Set policy stats reset every 1h0m0s
2017/06/15 05:37:58 Set policy state refresh every 1m0s
2017/06/15 05:37:58 Running with 8 policy workers
2017/06/15 05:37:58 Upstream: main => 127.0.0.1:8545
2017/06/15 05:37:58 Upstream: backup => http://127.0.0.2:8545
2017/06/15 05:37:58 Default upstream: main => 127.0.0.1:8545
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Set block refresh every 120ms
2017/06/15 05:37:58 Starting proxy on 127.0.0.1:8888
2017/06/15 05:37:58 Starting API on 127.0.0.1:8080
2017/06/15 05:37:58 Set stats collect interval to 5s
2017/06/15 05:37:58 Set purge interval to 10m0s
2017/06/15 05:37:58 Purged stale stats from backend, 0 shares affected, elapsed time 550.191µs
2017/06/15 05:37:58 Stratum listening on 127.0.0.1:8008
2017/06/15 05:37:58 Stats collection finished 3.454594ms
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""
2017/06/15 05:37:58 Error while refreshing pending block on main: Post 127.0.0.1:8545: unsupported protocol scheme ""


If you wanna see my config file this is it
{
        "threads": 1,
        "coin": "eth",
        "name": "main",

        "proxy": {
                "enabled": true,
                "listen": "127.0.0.1:8888",
                "limitHeadersSize": 1024,
                "limitBodySize": 256,
                "behindReverseProxy": false,
                "blockRefreshInterval": "120ms",
                "stateUpdateInterval": "3s",
                "difficulty": 2000000000,
                "hashrateExpiration": "3h",

                "healthCheck": true,
                "maxFails": 100,

                "stratum": {
                        "enabled": true,
                        "listen": "127.0.0.1:8008",
                        "timeout": "120s",
                        "maxConn": 8192
                },

                "policy": {
                        "workers": 8,
                        "resetInterval": "60m",
                        "refreshInterval": "1m",

                        "banning": {
                                "enabled": false,
                                "ipset": "blacklist",
                                "timeout": 1800,
                                "invalidPercent": 30,
                                "checkThreshold": 30,
                                "malformedLimit": 5
                        },
                        "limits": {
                                "enabled": false,
 "listen": "127.0.0.1:8008",
                        "timeout": "120s",
                        "maxConn": 8192
                },

                "policy": {
                        "workers": 8,
                        "resetInterval": "60m",
                        "refreshInterval": "1m",

                        "banning": {
                                "enabled": false,
                                "ipset": "blacklist",
                                "timeout": 1800,
                                "invalidPercent": 30,
                                "checkThreshold": 30,
                                "malformedLimit": 5
                        },
                        "limits": {
                                "enabled": false,
                                "limit": 30,
                                "grace": "5m",
                                "limitJump": 10
                        }
                }
        },

        "api": {
                "enabled": true,
                "purgeOnly": false,
                "purgeInterval": "10m",
                "listen": "127.0.0.1:8080",
                "statsCollectInterval": "5s",
                "hashrateWindow": "30m",
                "hashrateLargeWindow": "3h",
                "luckWindow": [64, 128, 256],
                "payments": 30,
                "blocks": 50
        },

        "upstreamCheckInterval": "5s",
"upstream": [
                {
                        "name": "main",
                        "url": "127.0.0.1:8545",
                        "timeout": "10s"
                },
                {
                        "name": "backup",
                        "url": "http://127.0.0.2:8545",
                        "timeout": "10s"
                }
        ],

        "redis": {
                "endpoint": "127.0.0.1:6379",
                "poolSize": 10,
                "database": 0,
                "password": ""
        },

        "unlocker": {
  {
                        "name": "main",
                        "url": "127.0.0.1:8545",
                        "timeout": "10s"
                },
                {
                        "name": "backup",
                        "url": "http://127.0.0.2:8545",
                        "timeout": "10s"
                }
        ],

        "redis": {
                "endpoint": "127.0.0.1:6379",
                "poolSize": 10,
                "database": 0,
                "password": ""
        },

        "unlocker": {
                "enabled": false,
                "poolFee": 1.0,
                "poolFeeAddress": "COINBASEADDRESS",
                "donate": true,
                "depth": 120,
                "immatureDepth": 20,
                "keepTxFees": false,
                "interval": "10m",
                "daemon": "127.0.0.1:8545",
                "timeout": "10s"
        },

        "payouts": {
                "enabled": true,
                "requirePeers": 25,
                "interval": "120m",
                "daemon": "127.0.0.1:8545",
                "timeout": "10s",
                "address": "0x0",
                "gas": "21000",
                "gasPrice": "50000000000",
"autoGas": true,
                "threshold": 100000000,
                "bgsave": false
        },

        "newrelicEnabled": false,
        "newrelicName": "MyEtherProxy",
        "newrelicKey": "SECRET_KEY",
        "newrelicVerbose": false
}







did you fix it?
Warlockmng
Member
**
Offline Offline

Activity: 93
Merit: 10


View Profile
July 17, 2017, 12:50:30 PM
 #10

Hello,

First of all, thanks for the tutorial.

I'm trying to setup the pool but I'm getting this error: "Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused"

The port is open, but it seems something is not running. Could you please help me with this?

Thanks in advance.
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 18, 2017, 05:01:15 AM
 #11


I have created a guide on how to create your own Ethereum mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible and explain every step. All you really need is a very, very basic knowledge of Linux and some patience. I feel like it's important for crypto that more people are capable of running a mining pool, or at least have the knowledge of it.

******GUIDE!!!******
http://betbybitcoin.com/setup-ethereum-mining-pool-using-open-source-ethereum-pool/


Here is an example of what you would be setting up if you follow the guide:
http://myetherpool.org//

All the software used in the guide is free/open source.

I will try and create more guides as time goes on. I will also support the guides I currently have, so feel free to ask any questions pertaining to the guide. Anybody else that is knowledgeable with mining pool software, or linux feel free to help other users.

I will check this thread occasionally and try to answer some questions.


are you have some guide to musicoin?
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 18, 2017, 02:59:38 PM
 #12

Hello,

First of all, thanks for the tutorial.

I'm trying to setup the pool but I'm getting this error: "Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused"

The port is open, but it seems something is not running. Could you please help me with this?

Thanks in advance.


did you fix it? i have the same problem, but the port donot open

the error is

Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 19, 2017, 01:09:51 AM
Last edit: July 19, 2017, 01:49:00 PM by jcreyesb
 #13

Hi guys.. i can resolv.

1) geth --rpc
2) ./build/bin/open-ethereum-pool config.json



but i freez on the stadistics, sorry i don't understand this, Configure nginx to serve API on /api

ok, i have resolved this, now, i have this error always Stats API Temporarily Down what other thing i can change?
Warlockmng
Member
**
Offline Offline

Activity: 93
Merit: 10


View Profile
July 19, 2017, 04:17:55 AM
 #14

Hello,

First of all, thanks for the tutorial.

I'm trying to setup the pool but I'm getting this error: "Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused"

The port is open, but it seems something is not running. Could you please help me with this?

Thanks in advance.


did you fix it? i have the same problem, but the port donot open

the error is

Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused


Nop, I still have the same problem Sad
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 19, 2017, 11:12:36 AM
 #15

Hello,

First of all, thanks for the tutorial.

I'm trying to setup the pool but I'm getting this error: "Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused"

The port is open, but it seems something is not running. Could you please help me with this?

Thanks in advance.


did you fix it? i have the same problem, but the port donot open

the error is

Error while refreshing pending block on main: Post http://127.0.0.1:8545: dial tcp 127.0.0.1:8545: getsockopt: connection refused


Nop, I still have the same problem Sad

1) geth --rpc
2) ./build/bin/open-ethereum-pool config.json
joaocha
Full Member
***
Offline Offline

Activity: 254
Merit: 100


View Profile
July 19, 2017, 11:41:48 AM
 #16

Can someone explay better the part of the Nginx server?
How do i serve api , and what i edit.
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 19, 2017, 02:19:44 PM
 #17

Can someone explay better the part of the Nginx server?
How do i serve api , and what i edit.

in nginx configuration file



/etc/nginx/sites-available/default
upstream api {
   server 127.0.0.1:8080;
}

server {
   listen 0.0.0.0:80;
   root /opt/open-ethereum-pool/www/dist;
   index index.html index.htm;

   server_name localhost;

   location /api {
      proxy_pass http://api;
   }

   location / {
      try_files $uri $uri/ /index.html;
   }
}


this is ok but alway   see

Stats API Temporarily Down
Usually it's just a temporal issue and mining is not affected.

meteor83
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
July 19, 2017, 10:06:33 PM
 #18

hi

where is this dist follder
/www/dist  i dont have it

Can somebody help me?
ijduncan
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
July 22, 2017, 07:19:41 AM
 #19

This is a great post.  Thanks for putting the guide together.

I need some help though or perhaps a little more information at this point in the guide:


Running Pool

./build/bin/open-ethereum-pool config.json
You can use Ubuntu upstart – check for sample config in upstart.conf.


Not sure what im supposed to do here. Can someone provide a little more info?




Also when i run this: apt-get install libdb4.8-dev libdb4.8++-dev

it says the package no longer exists or has been replaced or is no longer needed.  Is that right?

Thanks again
jcreyesb
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
July 22, 2017, 09:10:52 AM
 #20

hi

where is this dist follder
/www/dist  i dont have it

Can somebody help me?
Where you install open-etheteum-pool
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!