SkillAgentSearch skills...

Bfgminer

Modular ASIC/FPGA miner written in C, featuring overclocking, monitoring, fan speed control and remote interface capabilities.

Install / Use

/learn @luke-jr/Bfgminer
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

BFGMiner: St. Barbara's Faithfully Glorified Mining Initiative Naturally Exceeding Rivals or Basically a Freaking Good Miner

This is a multi-threaded, multi-blockchain, multi-pool ASIC, FPGA, GPU and CPU miner with dynamic clocking, monitoring, and fanspeed support for bitcoin.

This code is provided entirely free of charge by the programmer in his spare time so donations would be greatly appreciated. Please consider donating to the address below.

Luke-Jr luke-jr+bfgminer@utopios.org 1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh

DOWNLOADS:

http://luke.dashjr.org/programs/bitcoin/files/bfgminer

GIT TREE:

https://github.com/luke-jr/bfgminer

Bug reports:

https://github.com/luke-jr/bfgminer/issues

IRC Channel:

irc://irc.freenode.net/eligius

License: GPLv3. See COPYING for details.

SEE ALSO README.ASIC, README.FPGA, README.GPU, README.RPC, AND README.scrypt FOR MORE INFORMATION ON EACH.


EXECUTIVE SUMMARY ON USAGE:

Single pool:

bfgminer -o http://pool:port -u username -p password

Multiple pools:

bfgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password

Multiple blockchains:

bfgminer -o http://pool1:port -u pool1username -p pool1password --pool-goal default -o http://pool2:port -u pool2usernmae -p pool2password --pool-goal freicoin

Single pool with a standard http proxy:

bfgminer -o http://pool:port -x http://proxy:port -u username -p password

Single pool with a socks5 proxy:

bfgminer -o http://pool:port -x socks5://proxy:port -u username -p password

The list of proxy types are: http: standard http 1.1 proxy socks4: socks4 proxy socks5: socks5 proxy socks4a: socks4a proxy socks5h: socks5 proxy using a hostname

Proxy support requires cURL version 7.21.7 or newer.

If you specify the --socks-proxy option to BFGMiner, it will only be applied to all pools that don't specify their own proxy setting like above

After saving configuration from the menu ([S],[W]) you do not need to give BFGMiner any arguments, it will load your configuration instead.

Any configuration file may also contain a single "include" : "filename" to recursively include another configuration file. Writing the configuration will save all settings from all files to the output configuration file.


BUILDING BFGMINER

Everything you probably want, condensed: build-essential autoconf automake libtool pkg-config libcurl4-gnutls-dev libjansson-dev uthash-dev libncursesw5-dev libudev-dev libusb-1.0-0-dev libevent-dev libmicrohttpd-dev libhidapi-dev

Dependencies: autoconf http://www.gnu.org/software/autoconf/ automake http://www.gnu.org/software/automake/ libtool http://www.gnu.org/software/libtool/ pkg-config http://www.freedesktop.org/wiki/Software/pkg-config ...or pkgconf https://github.com/pkgconf/pkgconf

libcurl4-gnutls-dev  http://curl.haxx.se/libcurl/

libjansson-dev 2.0+  http://www.digip.org/jansson/

uthash-dev 1.9.4+    http://troydhanson.github.io/uthash/

Optional Dependencies: Text-User-Interface (TUI): curses dev library; any one of: libncurses5-dev http://www.gnu.org/software/ncurses/ (Linux and Mac) libncursesw5-dev ^ same libpdcurses http://pdcurses.sourceforge.net/ (Linux/Mac/Windows)

Multiple ASIC/FPGA autodetection: any one of:
  sysfs              (built-in to most Linux kernels, just mount on /sys)
  libudev-dev        http://www.freedesktop.org/software/systemd/libudev/

HashBuster Nano & NanoFury USB devices:
  libhidapi-dev      https://github.com/signal11/hidapi

getwork server for Block Erupter Blades:
  libmicrohttpd-dev 0.9.5+  http://www.gnu.org/software/libmicrohttpd/

Stratum proxy:
  libevent 2.0.3+    http://libevent.org/

KnCMiner SHA2 miners:
  libi2c-dev         https://i2c.wiki.kernel.org/index.php/I2C_Tools

HashBuster Micro, Klondike, X6500 and ZTEX FPGA boards:
  libusb-1.0-0-dev   http://www.libusb.org/

Video card GPU mining (free):
  llvm 3.3+          http://llvm.org/
  clang 3.3+         http://clang.llvm.org/
  libclc             http://libclc.llvm.org/
  Mesa 9.2.0+        http://www.mesa3d.org/
  libsensors4-dev    https://github.com/groeck/lm-sensors

ATi/AMD video card GPU mining (non-free):
  AMD APP SDK        http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/

CPU mining optimized assembly algorithms:
  yasm 1.0.1+        http://yasm.tortall.net/

BFGMiner driver configuration options: --disable-other-drivers Build without drivers by default unless explicitly enabled --enable-broad-udevrules Include udev rules for ambiguous devices which may not be miners --enable-alchemist Compile support for AlcheMist (default disabled) --disable-avalon Compile support for Avalon (default enabled) --disable-avalonmm Compile support for Avalon2/3 (default enabled) --enable-bfsb Compile support for BFSB (default disabled) --disable-bfx Compile support for BFx2 (default enabled) --disable-bifury Compile support for BiFury (default enabled) --disable-bigpic Compile support for Big Picture Mining USB (default enabled) --disable-bitforce Compile support for BitForce (default enabled) --disable-bitfury Compile support for Bitfury (default enabled) --enable-bitmain Compile support for Bitmain Antminer S series (default disabled) --disable-cointerra Compile support for CoinTerra (default enabled) --enable-cpumining Compile support for CPU mining (default disabled) --disable-drillbit Compile support for DrillBit (default enabled) --disable-dualminer Compile support for DualMiner (default enabled) --disable-gridseed Compile support for GridSeed (default enabled) --disable-hashbuster Compile support for HashBuster Nano (default enabled) --disable-hashbusterusb Compile support for HashBuster Micro (default enabled) --disable-hashfast Compile support for HashFast (default enabled) --disable-icarus Compile support for Icarus (default enabled) --enable-jingtian Compile support for JingTian (default disabled) --disable-klondike Compile support for Klondike (default enabled) --enable-knc Compile support for KnC (default disabled) --enable-kncasic Compile support for KnC gen 2 (default disabled) --disable-littlefury Compile support for LittleFury (default enabled) --enable-metabank Compile support for Metabank (default disabled) --enable-minergate Compile support for Spondoolies minergate interface (default disabled) --enable-minion Compile support for Minion (default disabled) --disable-modminer Compile support for ModMiner (default enabled) --disable-nanofury Compile support for NanoFury (default enabled) --enable-opencl Compile support for OpenCL (default disabled) --disable-adl Build without ADL monitoring (default enabled) --disable-rockminer Compile support for RockMiner (default enabled) --enable-titan Compile support for KnC Titan (default disabled) --disable-twinfury Compile support for Twinfury (default enabled) --disable-x6500 Compile support for X6500 (default enabled) --disable-zeusminer Compile support for ZeusMiner (default enabled) --disable-ztex Compile support for ZTEX (default enabled)

BFGMiner algorithm configuration option: --enable-keccak Compile support for Keccak (default disabled) --disable-sha256d Compile support for SHA256d (default enabled) --enable-scrypt Compile support for scrypt (default disabled)

BFGMiner dependency configuration options: --without-curses Compile support for curses TUI (default enabled) --without-libevent Compile support for libevent stratum server (default enabled) --without-libmicrohttpd Compile support for libmicrohttpd getwork server (default enabled) --without-libudev Autodetect FPGAs using libudev (default enabled) --without-libusb Compile using libusb (default enabled) --without-sensors Build with libsensors monitoring (default enabled) --without-system-libbase58 Use bundled libbase58 rather than system one --with-system-libblkmaker Use system libblkmaker rather than bundled one (default disabled) --with-udevrulesdir=DIR Install udev rules into this directory --with-udevrules-group=groupname Configure mining devices to be owned by a specific group (default `video') --without-uio Compile support for PCI devices via Linux UIO interface (default enabled) --without-vfio Compile support for PCI devices via Linux VFIO interface (default enabled)

Basic *nix build instructions:

./autogen.sh # only needed if building from git repo ./configure # list configuration options here make

No installation is necessary. You may run BFGMiner from the build directory directly.

On Mac OS X, you can use Homebrew to install the dependency libraries. When you are ready to build BFGMiner, you may need to point the configure script at one or more pkg-config paths. For example: ./configure PKG_CONFIG_PATH=/usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/jansson/lib/pkgconfig

Native WIN32 build instructions: see windows-build.txt

If you build BFGMiner from source, it is recommended that you run it from the build directory. On *nix, you will usually need to prepend your command with a path like this (if you are in the bfgminer directory already): ./bfgminer To install

Related Skills

View on GitHub
GitHub Stars2.0k
CategoryOperations
Updated15d ago
Forks832

Languages

C

Security Score

80/100

Audited on Mar 11, 2026

No findings