Bfgminer
Modular ASIC/FPGA miner written in C, featuring overclocking, monitoring, fan speed control and remote interface capabilities.
Install / Use
/learn @luke-jr/BfgminerREADME
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
tmux
337.3kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
terraform-provider-genesyscloud
Terraform Provider Genesyscloud
blogwatcher
337.3kMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
product
Cloud-agnostic Kubernetes infrastructure with Terraform & Helm for homelabs, edge, and production clusters.
