Bitcoin Forum
April 25, 2024, 03:01:00 PM *
News: Latest Bitcoin Core release: 27.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 30133 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.
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
1714057260
Hero Member
*
Offline Offline

Posts: 1714057260

View Profile Personal Message (Offline)

Ignore
1714057260
Reply with quote  #2

1714057260
Report to moderator
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!