Bitcoin Forum
June 12, 2021, 11:39:40 AM *
News: Latest Bitcoin Core release: 0.21.1 [Torrent]
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Mining software (miners) / RollProxy - a bandwidth-saving mining proxy on: August 25, 2012, 07:51:43 PM
Announcing RollProxy, a mining proxy... with a twist!

RollProxy takes advantage of the X-Roll-NTime extension to minimize the number of getwork requests you send to pools.  By keeping more requests local, it minimizes latency, while drastically reducing the load on upstream servers.
The proxy will prove especially useful to those who run many miners on a single local network.

  • Works with Bitcoin as well as with Litecoin and other cryptocurrencies that use the getwork protocol
  • Makes persistent HTTP connections
  • Supports long polling
  • Per-worker statistics available via web interface
  • Round-robin failover mechanism (more advanced strategies may be implemented in the future)
  • Ability to connect through an additional proxy server

Please note that your miners need not support the X-Roll-NTime extension; it's the pools you connect to that need to. If you connect to a pool that doesn't support the extension, the proxy will still work, but you will see no increase in getwork efficiency. In that case, RollProxy will warn you with a "Work cannot be reused" message.
Major pools that are known to support the extension include:

  • For Bitcoin: Eclipse, Eligius, MaxBTC, Mt. Red, OzCoin, P2Pool, Slush
  • For Litecoin: burnside's, LitecoinCash,, OzCoin, P2Pool, Pool-X, Xurious's

RollProxy is written in Python and is distributed under the terms of the AGPLv3. Please refer to the readme for details about setting it up.

This first public release (version 0.5.0) should already be pretty stable; I wish to thank Pontius, who helped me by testing preliminary versions of the program.
2  Alternate cryptocurrencies / Mining (Altcoins) / An (even more) optimized version of cpuminer (pooler's cpuminer, CPU-only) on: December 19, 2011, 04:27:00 PM
Current Version: 2.5.1 (Jun 25, 2020) - Changelog
Source tarball:
Binaries for Windows: (32-bit)  (64-bit)
Binaries for Linux: (x86-64)
Binaries for macOS: (64-bit)

SHA-256 Checksums
337f04fdb32f34b85819d09d59f6d3cf62991ac2e656735c43661dd3d4c57631  pooler-cpuminer-2.5.1.tar.gz
5fc7219fbb72dad32d64f11cd579383e53d8872f95309594fad2a07554a541f7  pooler-cpuminer-2.5.1-linux-x86_64.tar.gz

Basic usage examples
$ ./minerd --url= --userpass=my.worker:password
$ ./minerd --url=stratum+tcp:// --userpass=my.worker:password
For more information:
$ ./minerd --help

Building instructions
Installing dependencies for building on Debian, Ubuntu and other APT-based distros:
$ sudo apt-get install make libcurl4-openssl-dev
Installing dependencies for building on Fedora, RHEL, CentOS and other yum-based distros:
$ sudo yum install gcc make curl-devel
Installing dependencies for building on OpenSUSE and other ZYpp-based distros:
$ sudo zypper in gcc make libcurl-devel
Recipe for building on Linux:
$ wget
$ tar xzf pooler-cpuminer-*.tar.gz
$ cd cpuminer-*
$ ./configure CFLAGS="-O3"
$ make

FAQ / Troubleshooting

Q: Should I call this miner "cpuminer" or "minerd"?
A: The software package is called "cpuminer". "minerd" ("miner daemon") is just the name of the executable file provided by the package.

Q: My antivirus flags the Windows binary as malware.
A: That's a known false positive. More information here.

Q: When I click on minerd.exe a black window flashes up and then disappears.
A: This is a command-line application, it has no graphical interface. You'll need to learn how to use the command line interface (CLI) of your operating system first.

Q: Can I mine (insert your cryptocoin here) with this miner?
A: Only if its proof-of-work algorithm is scrypt or SHA-256d. This miner does not currently support other algorithms such as Keccak, scrypt-jane, X11, etc. Forks of this project may provide additional algorithms, but I do not maintain them and they are not discussed here, so if you have questions about them please contact their authors.

Q: When running configure I get the error "C compiler cannot create executables".
A: Make sure you typed CFLAGS="-O3" with a big O, not with a zero.

Q: dies with "error: possibly undefined macro: AC_MSG_ERROR".
Q: configure chokes on something like "LIBCURL_CHECK_CONFIG(, 7.15.2, ,'".
A: Make sure you have installed the development package for libcurl. If you have and you're still getting the error when compiling from git, try compiling from tarball instead.

Q: I'm trying to connect to a Stratum server, but I get "HTTP request failed: Empty reply from server".
A: Make sure you specified the correct protocol in the server URL (stratum+tcp://).

Q: Is there any command-line option I can play with to make it mine faster?
A: No. The miner automatically picks the best settings for the CPU it is run on.

Q: What's the difference between the two algorithms, scrypt and sha256d?
A: They are completely different proof-of-work algorithms. You must use scrypt for Litecoin, and you must use sha256d for Bitcoin. The default algorithm is scrypt, so for Bitcoin mining you have to specify --algo=sha256d.

Q: Will this miner use a lot of RAM when using the scrypt algorithm?
A: No, that's a GPU thing.

Q: How do I make the miner write its output to a file instead of printing it to the screen?
A: Just redirect the standard error stream to file:
minerd [OPTIONS] 2> myfile
You may also want to use the --quiet/-q option to disable the per-thread hashmeter.
On *nix, you probably also want to use the --background/-B option to fork in the background.

Original post (December 19, 2011) follows. Please note that most of the technical details are now outdated.

I have recently rewritten the heart of the scrypt hashing function used by the jgarzik/ArtForz cpuminer in assembly language, to see if this could bring some more speed. Apparently it did. Smiley
The source code is now available at GitHub:
The build process for Linux should be the same as before.

In the new code I tried to take full advantage of SSE2 instructions, which are available since the Pentium 4. Unfortunately, AMD's implementation of these instructions is not as fast as Intel's... well, ok, sadly it's nearly two times slower. For this reason, I had to write separate versions of the hashing functions. You don't need to worry about this, though, since the new function should be able to auto-detect your cpu and automatically select the best algorithm.

Long polling patch
This release also includes a new --timeout option that I originally added to solve a problem with long polling. Apparently the LP thread doesn't behave nicely under certain network conditions, as reported by various users. So, if you experienced high stale rates with the previous miner, you should definitely try out this new version.
Many thanks to SockPuppet, aka shawnp0wers, who helped me nail down the issue!

Some Technical Details
The current release includes four different implementations of the scrypt core, each one designed for a different hardware.
  • A fallback plain x86 version, to be used when SSE2 instructions are not available (Pentium III, Athlon XP and earlier processors).
  • A 32-bit version using SSE2, for use on the Pentium 4, Pentium M, Core, Atom, plus all 64-bit cpus running in a 32-bit OS.
  • A 64-bit version for Intel processors, i.e. Core 2, i3, i5, i7. This version can in most cases double the speed of the previous miner.
  • A 64-bit version for AMD processors, i.e. Athlon 64, Phenom, Sempron and the like. The speed increase here can range from 5% to 80%.
The first two versions only get compiled in the 32-bit miner, the last two only in the 64-bit miner. The miner uses the CPUID instruction to choose which version to use.

Compiler Flags
One cool aspect of assembly code is that users no more need to play with compiler flags to get the best performance. Configuring the build with just CFLAGS="-O3" is now more than enough to get efficient code. This also means that we no more need separate specialized binaries for Intel and AMD cpus. Just a 32-bit and a 64-bit version.

Final Notes
Someone on IRC asked me why I am releasing this miner, instead of keeping it for myself or for my pool. Well, that's exactly the point. It is important for Litecoin that everybody has access to the most efficient mining software!
Someone might worry about the effect of this release on market prices, but consider this: if everybody starts using the new miner, the hash rate will go up, but so will difficulty, so nothing will ultimately change. I actually think this new miner will be very beneficial to Litecoin, because it should make mining easier for beginners (see compiler flags).
As crazy_rabbit wrote in another thread, one big plus of Litecoin is that everybody can participate. Well, consider this: now you can effectively mine on an Atom! Smiley

Alright folks... I hope you enjoy the performance boost. Consider this as my Christmas present to the community! Cheesy
3  Alternate cryptocurrencies / Mining (Altcoins) / [LTC] Online Litecoin Miner on: November 20, 2011, 05:46:12 PM
I have finally succeeded in putting together a (hopefully) working online miner for Litecoin.
This is still highly experimental, and of course this kind of miner will always be slower than the classic minerd.

You can use the username and password of one of your pool workers, or you can leave the "Worker" field blank if you just want to test it out (shares found this way are credited to a special pool account, and you will not be able to redeem them).

Please check it out, and let me know of any unexpected behavior!
It would also be useful to have some feedback on hashrates for different machines. For instance, on the box I'm using for testing (a Core 2 Duo) this first version is about 3 times slower than ArtForz's cpuminer. I think that's quite a good Java-to-C ratio (I haven't finished optimizing the code yet), but of course your mileage may vary.

UPDATE: On 64-bit systems, the current version can get up to 67% the speed of the reference miner by ArtForz (you must be running a 64-bit Java Virtual Machine and a 64-bit browser). 32-bit systems don't perform as well, but still manage to get about 50% of the speed.

The source code is available under the GNU GPL license.
4  Alternate cryptocurrencies / Pools (Altcoins) / [ANN] The First Litecoin PPS Pool ( on: November 05, 2011, 02:00:32 PM
Since nobody has done it yet, I'm launching a pure pay-per-share Litecoin pool. As you probably know, this system has several advantages:

  • No penalty for orphaned blocks.
  • Predictable income: you are no more subject to bad luck.
  • Rewards are instantly credited to your account (you don't have to wait for a block to be solved or confirmed).
  • You can be sure that the pool operator is not cheating (because you know how many shares you submit).
  • Immunity to pool hopping.

This method results in the least possible variance for miners.

Other features include: (updated)

  • Exclusive ultra-low-latency Stratum implementation, written in C for maximum performance
  • Support for Stratum over SSL/TLS, to prevent MITM attacks
  • Support for extensions to the Stratum protocol, including resume, suggest_difficulty and suggest_target
  • Adaptive share difficulty (“vardiff”)
  • Geographically-distributed, redundant servers
  • Detailed stats updated every minute
  • Detailed history of earnings and payouts
  • Per-worker performance graphs
  • Automatic and manual payouts
  • Email notification of idle miners
  • Two-factor authentication support
  • Extensive JSON API and mobile interfaces
  • Website and mining interface also accessible as Tor hidden services
  • Lightweight interface

Since September 11, 2014, the pool supports merged mining of Dogecoin and other cryptocurrencies, resulting in higher payouts than with a regular Litecoin pool.
As of January 2018 we are merged-mining Argentum, Canada eCoin, Dogecoin, Huntercoin, Myriad, Pesetacoin, Viacoin.

Feedback and feature requests are very welcome! Smiley
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!