Custom Search

Bitcoin Mining with p2pool and bfgminer on ubuntu

Doing bitcoin mining with p2pool lets you get incomes as stable as other pools, while avoiding some problems of centralized pools like deepbit and bitminter.

p2pool advantages : You do not have to trust the owner of a pool for you to pay your Bitcoins honestly. You are protected from DDoS attacks against the pool. You participate to prevent any pool to get 50% of the computing power of the network. And your payments are immediate to each block detected.

p2pool disadvantages : To operate, p2pool needs to be started on a computer with Bitcoin server software permanently open. This requires more memory. p2pool is also a bit more complicated to implement for a novice.

Password for the Bitcoin software : For the next steps, replace user by any user name of your choice, and password with any password of your choice. This password must be very difficult to guess, particularly if the computer on which the Bitcoin server is installed is accessible via the Internet without a firewall to protect its port 8332.

Install Bitcoin

  1. Install Bitcoin software.
  2. Edit ~/.bitcoin/bitcoin.conf file on which you will add the following text :
    rpcuser=user
    rpcpassword=password
    server=1
    rpcport=8332

Install bfgminer

  1. Open a terminal.
  2. Install required packages with the following command
    sudo apt-get install build-essential debhelper autoconf automake libtool libssl-dev yasm pkg-config libudev-dev libcurl4-openssl-dev wget unzip libjansson-dev libncurses5-dev libudev-dev libusb-1.0-0-dev git quilt uthash-dev 
  3. Download last bfgminer version with the following command
    git clone git://github.com/luke-jr/bfgminer.git ~/bfgminer
  4. Go into the downloaded folder with the following command
    cd ~/bfgminer
  5. Prepare the compilation of bfgminer with the following command
    ./autogen.sh && ./configure
  6. Compile bfgminer with the following command
    make

Install p2pool

  1. Open a terminal.
  2. Install required packages by using the following command
    sudo apt-get install git python-zope.interface python-twisted python-twisted-web
  3. Download p2pool by using the following command
    git clone git://github.com/forrestv/p2pool.git ~/p2pool

Start bitcoin mining

  1. Open your Bitcoin software and wait until it is open and synced.
  2. Open a terminal, use the following command to start p2pool and wait until it is started.
    python ~/p2pool/run_p2pool.py
  3. Open a terminal, use the following command to start bfgminer
    ~/bfgminer/bfgminer -o http://127.0.0.1:9332 -u user -p password


Now you can let Bitcoin, p2pool and bfgminer work.  Bitcoin window and two terminal windows must remain open. First terminal displays p2pool statistics continuously and the other continuously displays bfgminer statistics. At its first start, p2pool created a new Bitcoin address in your Bitcoin wallet. Once a block is found by p2pool, your part of the reward is immediately paid to you on this address. So you receive payments regularly and promptly.