Author

Topic: Install scripts for eloipool + bitcoind private pool on Ubuntu 12.04 (Read 7932 times)

newbie
Activity: 5
Merit: 0
I wrote some install scripts for an eloipool private pool and they seem to be in working order for Ubuntu 12.04.  The only thing that makes it a private pool is the eloipool config file, which can be swapped out.

Everything gets downloaded and installed into one directory, but it does use the package manager to install a few support files.  I'm running it out of my home directory, but you could easily run it out of /opt.

Thanks to everyone for helping me test the scripts.

PLEASE READ THE README

https://github.com/ZeroASIC/eloipool-server

Updated: May 22, 2013

I'm A machine in accordance with the documentation for the installation and configuration, but in the B machine can not connect to the server, it can be configured to give me a copy of your reference under it?
newbie
Activity: 22
Merit: 0
member
Activity: 79
Merit: 10
Hey!
Once again thanks for taking the pain out of installing!
When I ran the installer, midstate failed to build, lacking Python.h
Installed python3-dev and ran your great script again and all was fine.
So I assumed it wasn't in, sorry about that!
Tnx again!
Ras

If it ever fails to compile something, maybe just run it a second time. Cheesy
newbie
Activity: 22
Merit: 0
Hey!
Once again thanks for taking the pain out of installing!
When I ran the installer, midstate failed to build, lacking Python.h
Installed python3-dev and ran your great script again and all was fine.
So I assumed it wasn't in, sorry about that!
Tnx again!
Ras
member
Activity: 79
Merit: 10
BTW :
You could add python3-dev to the system installer.


python3-dev is already in the installer. Cheesy
newbie
Activity: 22
Merit: 0
BTW :
You could add python3-dev to the system installer.
newbie
Activity: 22
Merit: 0
I wrote some install scripts for an eloipool private pool and they seem to be in working order for Ubuntu 12.04.  The only thing that makes it a private pool is the eloipool config file, which can be swapped out.

Everything gets downloaded and installed into one directory, but it does use the package manager to install a few support files.  I'm running it out of my home directory, but you could easily run it out of /opt.

Thanks to everyone for helping me test the scripts.

PLEASE READ THE README

https://github.com/ZeroASIC/eloipool-server

Updated: May 22, 2013
I have to say.. You, my dear sir, are a genius. Thanks so much for this.
member
Activity: 79
Merit: 10
Seems like a link is broken, or the host is down. Maybe, it is a good idea to push these scripts to some universally accessible place, such as Github?

You got it!

https://github.com/ZeroASIC/eloipool-server
member
Activity: 79
Merit: 10
as@s2:/opt/eloipool-server/eloipool# python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 77, in
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/opt/eloipool-server/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
as@s2:/opt/eloipool-server/eloipool#

That's a strange error.  It looks like a problem with eloipool.  Try running the update script.  If that doesn't work try deleting the entire directory and starting with the zip file again.
That's what you get when you try to run it in ancient versions of Python (ie, 2.x); Eloipool requires at least 3.2

Patched!  I can make it start with python3.  Make sure python3 is installed.  The install scripts should have already installed it for you.  There is an updated scripts/run-eloipool.sh in the new zip file.

Thanks for pointing that out Luke-Jr!
legendary
Activity: 2576
Merit: 1186
as@s2:/opt/eloipool-server/eloipool# python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 77, in
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/opt/eloipool-server/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
as@s2:/opt/eloipool-server/eloipool#

That's a strange error.  It looks like a problem with eloipool.  Try running the update script.  If that doesn't work try deleting the entire directory and starting with the zip file again.
That's what you get when you try to run it in ancient versions of Python (ie, 2.x); Eloipool requires at least 3.2
member
Activity: 79
Merit: 10
as@s2:/opt/eloipool-server/eloipool# python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 77, in
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/opt/eloipool-server/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
as@s2:/opt/eloipool-server/eloipool#

That's a strange error.  It looks like a problem with eloipool.  Try running the update script.  If that doesn't work try deleting the entire directory and starting with the zip file again.
sr. member
Activity: 294
Merit: 262
nohup: failed to run command `../eloipool/eloipool.py': No such file or directory

It could just be a permissions issue. Either that or eloipool was not installed correctly.  Can you run eloipool manually?

I've done it this way:

fresh 12.04 Debian install.
All the librarys and stuff, really, everything I could find related to bitcoind / eloipool.
follow instructions of getaway to download and compile bitcoind via ubuntu-install.sh (I've done this in previous attempts myself..figure out I'll follow it strictly this time)
let bitcoind start and get the complete blockchain.
installpool.sh
run-eloipool.sh
nothing happens

I dont know how to start the eloipool myself?

if this is how you start eloipool, then this happens:


as@s2:/opt/eloipool-server/eloipool# python eloipool.py
Traceback (most recent call last):
  File "eloipool.py", line 77, in
    bcnode = BitcoinNode(config.UpstreamNetworkId)
  File "/opt/eloipool-server/eloipool/bitcoin/node.py", line 146, in __init__
    super().__init__(*a, **ka)
TypeError: super() takes at least 1 argument (0 given)
as@s2:/opt/eloipool-server/eloipool#
member
Activity: 79
Merit: 10
nohup: failed to run command `../eloipool/eloipool.py': No such file or directory

It could just be a permissions issue. Either that or eloipool was not installed correctly.  Can you run eloipool manually?
sr. member
Activity: 294
Merit: 262
Hi,

after the fork debug.log shows the following:

2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 257 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=0000000000000135919e2963ab7091bd361e0bb8d0e67110772fb9ab8a2c160f  height=236421  log2_work=70.04519  tx=17911087  date=2013-05-16 06:52:12 progress=0.996905
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 1292 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=00000000000000918098e299864e8e6d3d99d30f0bec47d52d9cb83c180dada6  height=236422  log2_work=70.045247  tx=17911660  date=2013-05-16 07:01:37 progress=0.996965
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 134 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=00000000000000f719b1256e6e72cd8b629788c3113ce61d73f45898b531606b  height=236423  log2_work=70.045304  tx=17911748  date=2013-05-16 07:02:33 progress=0.996971
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:31 Committing 1021 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=0000000000000161de562e6eda356231cf30572f5e3052b8a2a7edec885264ca  height=236424  log2_work=70.045361  tx=17912083  date=2013-05-16 07:13:40 progress=0.997042
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256

Also, I experience the following error:


as@s2:/usr/eloipool-server/scripts# nohup: redirecting stderr to stdout
nohup: failed to run command `../eloipool/eloipool.py': No such file or directory
^C

Edit 2: when I edit the eloipool.ty header to 2.7 python and not python3 it doesnt give back the no such file error but does nothing.
What version of Ubuntu are you running?  Are you absolutely certain that everything is installed correctly and that bitcoind has finished downloading the blockchain?

I am. I invite you onto my SSH.. Ubuntu 12.04
nohup: redirecting stderr to stdout

this is all that basicly comes out now when I start the eloipool.

{
    "version" : 80100,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 236520,
    "connections" : 3,
    "proxy" : "",
    "difficulty" : 11187257.46136079,
    "testnet" : false,
    "keypoololdest" : 1368718691,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "errors" : ""
}


this is the current blockchain count..
member
Activity: 79
Merit: 10
Hi,

after the fork debug.log shows the following:

2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 257 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=0000000000000135919e2963ab7091bd361e0bb8d0e67110772fb9ab8a2c160f  height=236421  log2_work=70.04519  tx=17911087  date=2013-05-16 06:52:12 progress=0.996905
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 1292 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=00000000000000918098e299864e8e6d3d99d30f0bec47d52d9cb83c180dada6  height=236422  log2_work=70.045247  tx=17911660  date=2013-05-16 07:01:37 progress=0.996965
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 134 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=00000000000000f719b1256e6e72cd8b629788c3113ce61d73f45898b531606b  height=236423  log2_work=70.045304  tx=17911748  date=2013-05-16 07:02:33 progress=0.996971
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:31 Committing 1021 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=0000000000000161de562e6eda356231cf30572f5e3052b8a2a7edec885264ca  height=236424  log2_work=70.045361  tx=17912083  date=2013-05-16 07:13:40 progress=0.997042
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256

Also, I experience the following error:


as@s2:/usr/eloipool-server/scripts# nohup: redirecting stderr to stdout
nohup: failed to run command `../eloipool/eloipool.py': No such file or directory
^C

Edit 2: when I edit the eloipool.ty header to 2.7 python and not python3 it doesnt give back the no such file error but does nothing.
What version of Ubuntu are you running?  Are you absolutely certain that everything is installed correctly and that bitcoind has finished downloading the blockchain?
sr. member
Activity: 294
Merit: 262
Hi,

after the fork debug.log shows the following:

2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 257 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=0000000000000135919e2963ab7091bd361e0bb8d0e67110772fb9ab8a2c160f  height=236421  log2_work=70.04519  tx=17911087  date=2013-05-16 06:52:12 progress=0.996905
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 1292 changed transactions to coin database...
2013-05-16 14:56:30 SetBestChain: new best=00000000000000918098e299864e8e6d3d99d30f0bec47d52d9cb83c180dada6  height=236422  log2_work=70.045247  tx=17911660  date=2013-05-16 07:01:37 progress=0.996965
eloipool.py: no process found
2013-05-16 14:56:30 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:30 Committing 134 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=00000000000000f719b1256e6e72cd8b629788c3113ce61d73f45898b531606b  height=236423  log2_work=70.045304  tx=17911748  date=2013-05-16 07:02:33 progress=0.996971
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256
2013-05-16 14:56:31 Committing 1021 changed transactions to coin database...
2013-05-16 14:56:31 SetBestChain: new best=0000000000000161de562e6eda356231cf30572f5e3052b8a2a7edec885264ca  height=236424  log2_work=70.045361  tx=17912083  date=2013-05-16 07:13:40 progress=0.997042
eloipool.py: no process found
2013-05-16 14:56:31 runCommand error: system(/usr/eloipool-server/scripts/newblock.sh) returned 256

Also, I experience the following error:


as@s2:/usr/eloipool-server/scripts# nohup: redirecting stderr to stdout
nohup: failed to run command `../eloipool/eloipool.py': No such file or directory
^C

Edit 2: when I edit the eloipool.ty header to 2.7 python and not python3 it doesnt give back the no such file error but does nothing.
member
Activity: 79
Merit: 10
its not a valid command until you run sudo apt-get install python-software-properties

Ok I get it now and I changed the order the commands execute in.  It should work properly now.
hero member
Activity: 552
Merit: 500
the reason this is needed on a pure ubuntu install

Code:
add-apt-repository

its not a valid command until you run sudo apt-get install python-software-properties

Your script will run but will install the older version of bitcoind..

member
Activity: 79
Merit: 10
this allows that command to run properly and install the proper bitcoind, otherwise running this by default gets a super super super old version of bitcoind.

Actually the new version comes from specifically here:
Code:
$ sudo add-apt-repository ppa:bitcoin/bitcoin

It adds the official bitcoin repository with the newest version and is in ubuntu-install.sh.  I did add python-software-properties to the same script, though I'm not convinced it changed anything.  Adding it certainly didn't hurt anything though and it only installed two additional packages.
hero member
Activity: 552
Merit: 500
Zero,

You should updated your script and put before the bitcoind install for ubuntu script

sudo apt-get install python-software-properties

this allows that command to run properly and install the proper bitcoind, otherwise running this by default gets a super super super old version of bitcoind.

quick guide for anyone..

get the latest ubuntu 12.0x server

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ssh (if you connect via ssh)

sudo apt-get install python-software-properties (allows for zero script to run)

get and download and unzip his script.

Go into the script folder, and run bash ubuntu-install.sh (going from memory)
Edit the bitcoind.conf file in the folder.. change user and pass
go back to scripts folder, run bash run-bitcoind.sh (you have to let bitcoind run to get the block the full block chain before running the pool)!!!!!

to see the current block chain info bitcoind -rpcuser= -rpcpassword= this is from bitcoind , u will see block count this should match http://blockexplorer.com/q/getblockcount number, it can take hours.. dont get ahead of your self you need this..

once you have a match then you can run the pool.. enjoy..

member
Activity: 79
Merit: 10
Great effort for creating these scripts!

I've already tried to install this now a few times, once on CentOS and (now already 2 times) Ubuntu 12.04 Server Edition (did reinstalls):
Code:
2013-05-06 22:19:04,166 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/eloipool/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 104, in __call__
    raise JSONRPCException(response['error'])
bitcoinrpc.authproxy.JSONRPCException

I've already made the change to authproxy.py in python-bitcoinrpc from:
 self.__auth_header = "Basic %s" % base64.b64encode(authpair)
to
 self.__auth_header = "Basic %s" % base64.b64encode(authpair).decode()

However above error I can't solve, do you have any suggestions? Because I'm out of them Sad.

I do not support any form of code modifications.  If you're having an issue starting eloipool please make sure that bitcoind has finished downloading the blockchain and that all of the libraries were installed correctly before reporting any bugs.
member
Activity: 117
Merit: 100
Life is short, play long
Great effort for creating these scripts!

I've already tried to install this now a few times, once on CentOS and (now already 2 times) Ubuntu 12.04 Server Edition (did reinstalls):
Code:
2013-05-06 22:19:04,166 merkleMaker     CRITICAL        Traceback (most recent call last):
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 692, in run
    self.merkleMaker_I()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 682, in merkleMaker_I
    self.merkleMaker_II()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 648, in merkleMaker_II
    return self._updateMerkleTree()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 548, in _updateMerkleTree
    self._updateMerkleTree_I()
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 512, in _updateMerkleTree_I
    r = self._updateMerkleTree_fromTS(TS)
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 477, in _updateMerkleTree_fromTS
    MP = self._CallGBT(TS)
  File "/home/eloipool/eloipool-server/eloipool/merklemaker.py", line 327, in _CallGBT
    MP = access.getblocktemplate(self.GBTReq)
  File "/home/eloipool/eloipool-server/eloipool/bitcoinrpc/authproxy.py", line 104, in __call__
    raise JSONRPCException(response['error'])
bitcoinrpc.authproxy.JSONRPCException

I've already made the change to authproxy.py in python-bitcoinrpc from:
 self.__auth_header = "Basic %s" % base64.b64encode(authpair)
to
 self.__auth_header = "Basic %s" % base64.b64encode(authpair).decode()

However above error I can't solve, do you have any suggestions? Because I'm out of them Sad.
member
Activity: 79
Merit: 10
Does this also work via SSH REMOTE without GNOME?

Yes.  Just run the eloipool-server/scripts/ubuntu-install.sh from the command line.
sr. member
Activity: 294
Merit: 262
Does this also work via SSH REMOTE without GNOME?
member
Activity: 79
Merit: 10
Why does this script kill eloipool.py on a new block notification? Does that restart the process? I see nohup is used, but I guess I'm not familiar with how eloipool handles new block generation.

I used this set up guide as an example, but I did make a few changes.
https://bitcointalksearch.org/topic/avalon-users-bitcoind-eloipool-configuration-158105

The block notify script was taken from that thread.  I'm not entirely certain it's necessary though.  I left it in just to be safe.
donator
Activity: 1419
Merit: 1015
Why does this script kill eloipool.py on a new block notification? Does that restart the process? I see nohup is used, but I guess I'm not familiar with how eloipool handles new block generation.
member
Activity: 79
Merit: 10
I wrote some install scripts for an eloipool private pool and they seem to be in working order for Ubuntu 12.04.  The only thing that makes it a private pool is the eloipool config file, which can be swapped out.

Everything gets downloaded and installed into one directory, but it does use the package manager to install a few support files.  I'm running it out of my home directory, but you could easily run it out of /opt.

Thanks to everyone for helping me test the scripts.

PLEASE READ THE README

https://github.com/ZeroASIC/eloipool-server

Updated: May 22, 2013
Jump to: