Tag Archives: #miningpool

Howto: Ethereum/Expanse Mining with Ubuntu 16.04.3 LTS

First of all – install Ubuntu [1]. This should be actually straight forward. After running the installation I suggest to do a software update. Just drop the more or less “standard” lines:

sudo apt-get updatesudo apt-get upgrade

To be able to mine, I suggest to check the video card drivers. In my case for the Nvida GTX 780 I use the nvidia-384 proprietary drivers. The following guide might be useful [2] for the installation – either via graphical user interface or via command line.

Now let us install the ethminer. Fast and easy with the following commands as pointed out at [3]:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum ethminer

And for the first test I run it on an Expanse Pool [4]:

ethminer -F http://exp.ethertrench.com:8890/0xe715c09762d8ad5edafa73c0bc5cc700d0a8e5a9/ardbeg -G

Starting it the first time, it takes some time to load the DAG, but once it’s loaded the miner performs better as expected showing a Hash Rate of approximately 17 MH/s – on the miner and on the pool.

For an autostart of the ethminer process, I will drop another blog entry within the next days/weeks.

[1] Ubuntu, Download Page

[2] Ubuntu Help, Nvidia Binary Driver Howto

[3] meebey.net, Ethereum GPU mining on Linux

[4] ethertrench.com, Expanse Mining Pool

Optimizing geth client for Ethereum

Running the geth client [1] in default mode, requires after some time, quite a big amount of disc space. To optimize it, the fast syncmode can be enabled. What is does is basically syncing only the latest part of the blockckain instead of the whole chain.

So after running the Ethereum Pool on ethertrench.com [2] for some time, I noticed that the disc space was going down rapidly. To fix it, I decided to go for the fast-sync mode with some optimization.

It should be highlighted that for running geth in fast syncmode, the whole database has to be deleted and rebuild. Therefore, since the geth client on ethertrench.com [2] runs as main and backup on two servers, I first migrated the backup server.

To do so, the first step is to clean out the database by running:

geth removedb

After cleaning out the database, we can restart the geth client, with syncmode fast. Additionally I added the cache option, to increase the cache of geth from the default 16MB to 1GB. This should give the client an extra boost.

geth --syncmode=fast --cache=1024

To check the status of the syncing, you can log-in to geht with

geth attach

and run the command


If the system shows you “false” then your syncing is complete.

After completing the backup node, I shut down the main geth node. So far so good, basically I saw that ethertrench.com connected to the backup geth client and continued without interruption.

So now I starting doing the same thing on the main node. And that’s the point where the sh*t hits the fan! After starting the syncing on fast mode on the main node, the mining process switched again from the backup to the main node. This resulted into a desaster, as miners then immediatley found 2 orphan blocks.

To fix it, I reconfigured the pool operating only with one geth node and restarted the processes. Furthermore I deleted the orphan blocks for the database. Neither the less the mining shares of the miners are gone with the old block. That’s definitly something to blame on me.

[1] geth, command line interface for Ethereum

[2] ethertrench.com, Ethereum Pool


Ethereum, Ethereum Classic & Expanse: Basics about Mining and Mining Pools

In advance, I would like to highlight, that this article will focus on the mining of the following 3 Ethash (previously known as Dagger-Hashimoto) algorithm based  cryptocurrencies:

Basics about Mining

Basically each minable cryptocurrency can be mined solo (stand-alone), with GPU and/or CPU power. CPU mining is not to be considered efficient anymore – therefore most of the mining is done with modern graphic cards (GPU power). Dependent on the difficulty, the algorithm, and the GPU power, it takes certain time to get a reward for finding a new block within the blockchain.

The rewards for finding a new block is different based upon the cryptocurrency:

  • Ethereum (also known as ETH), 5 ETH
  • Ethereum Classic (also known as ETC), 5 ETC
  • Expanse (also known as EXP), 8 EXP

Each of the above noted cryptocurrency uses a certain difficulty required for the mining process. The difficulty is adopted frequently in relation with the network hash rate to the according block time. The block time provides the average time between finding new blocks. For Ethereum and Ethereum Classic the targeted blocktime is currently 15seconds, while for Expanse the block time is targeted with 60sec. Therefore, the more miners provide hashing power, the higher the network difficulty is set. This results that with higher network hash rate and a higher difficulty, the time until the first reward on solo mining is earned later.

Taking for example Ethereum, and a recent graphic card with a hashing power of 30MH/s, would currently take around 3,5 years to earn a reward of 5 Ether – statistically of course. To get an actual view of your mining power check out one of the mining profitability calculators [1].

To overcome this and to be rewarded earlier, you can join a mining pool. Depending on the distribution algorithm, you will be rewarded earlier – while of course, with lower rewards.

Choosing the mining pool

First of all you should get clear on what you would like to mine. Of course you can select the cryptocurrency based upon the best profitability  [1], but I would suggest to also investigate on the roadmap and on the projects of the cryptocurrency & their communities. At this point I would specially like to highlight Expanse as there are some interesting points in their roadmap, interesting projects (e.g. Tokenlab ) as well as a great supportive community.

What are the important points on selecting a mining pool:

  • The reward distribution algorithm
  • The fee
  • The minimum payout

The mining pool reward distribution algorithm defines how rewards are distributed among the miners. The most common ones are:

  • PPLNS – Pay Per Last N Shares: Reward is split based upon the proportion of shares on the last N shares.
  • Proportional: The reward is split proportional based upon all shares required to find the new block.

Of course there are far more algorithm available, which can be found under [2].

The fee is defined by the pool operator. Before splitting the reward across the miners, the fee is deducted from the reward. The fee usually varies between 0% and 2%.

The last variable to consider is basically the minimum payout. Once you start mining, rewards are accounted based upon the distribution algorithm. As transactions costs something, a minimum payout is set. The lower the value, the more often the rewards are payed.

Aside to the hard facts, certain other criteria’s should also be taken into account.

  • Security: Does the environment look safe? Has there been any issues before?
  • User Interface: Is the user interface handy? Do I get all information I would like to see?
  • Additional features: Does the pool provide any additional feature?

My personal favorite

Considering all the above mentioned hard- and soft facts I consider the following pools from the same provider, whereby I have to say that I focused on mining Expanse:

All of them have 0% mining fees and rather low minimum payout values.

The operator is very supportive in case of questions. Furthermore the underlying open source pool software [3] has been extended with new features over the time, whereby I love especially the twitter notification service [4], where messages are posted once a new block is found by the pool. Additional features to be noted there:

  • 24h pool hash rate
  • Support for iPhone Mining Pool Monitor App: Asi MPM [5]
  • Integration of Crypto Currency Market value

The pool process – from mining to payment

What I missed on my research was basically a short description of the process on the mining pool itself.

  • First of all you need to download a wallet and create an account – alternativley you can create an account online
  • Following the instruction of the pool you download a miner like etherminer or claymore, set the ports and your wallet address and then you start mining
  • Once a new block is found and shown under “New blocks” (e.g. on EXP.ethertrench), the overall mining process, with the count of shares starts from the beginning
  • After a certain time, the new block is set as “immature” (e.g. on EXP.ethertrench), for the miners the “immature balance” is calculated and assigned (done by the so called unlocker process).
  • Over the time more blocks are processed and after a certain time, the block is considered to be matured – shown finally under “Block” (e.g. EXP.ethertrench)
  • The payment processed is started once the block is matured. Usually the payment process runs on a predefined frequency – e.g. on an hourly basis.

I hope this article provides some information about the basics, about mining and about choosing the right pool.

Happy Mining!

[1] https://www.cryptocompare.com/mining/calculator/

[2] https://en.bitcoin.it/wiki/Comparison_of_mining_pools

[3] https://github.com/sammy007/open-ethereum-pool

[4] https://twitter.com/ethertrench

[5] https://itunes.apple.com/us/app/asi-mining-pool-monitor/id1274075951?mt=8