2 unstable releases
Uses old Rust 2015
0.5.2 | Jan 11, 2019 |
---|---|
0.4.2 | Dec 11, 2018 |
#23 in #grin
Used in 3 crates
13KB
219 lines
Grin Miner
A standalone mining implementation intended for mining Grin against a running Grin node.
Supported Platforms
At present, only mining plugins for linux-x86_64 and MacOS exist. This will likely change over time as the community creates more solvers for different platforms.
Requirements
- rust 1.30+ (use rustup- i.e.
curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env
) - cmake 3.2+ (for Cuckoo mining plugins)
- ncurses and libs (ncurses, ncursesw5)
- zlib libs (zlib1g-dev or zlib-devel)
- linux-headers (reported needed on Alpine linux)
And a running Grin node to mine into!
Build steps
git clone https://github.com/mimblewimble/grin-miner.git
cd grin-miner
git submodule update --init
cargo build
Building the Cuckoo-Miner plugins
Grin-miner automatically builds x86_64 CPU plugins. Cuda plugins are also provided, but are
not enabled by default. To enable them, modify Cargo.toml
as follows:
change:
cuckoo_miner = { path = "./cuckoo-miner" }
to:
cuckoo_miner = { path = "./cuckoo-miner", features = ["build-cuda-plugins"]}
The Cuda toolkit 9+ must be installed on your system (check with nvcc --version
)
Building the OpenCL plugins
OpenCL plugins are not enabled by default. Run install_ocl_plugins.sh
script to build and install them.
./install_ocl_plugins.sh
You must install OpenCL libraries for your operating system before. If you just need to compile them (for development or testing purposes) build grin-miner the following way:
cargo build --features opencl
Build errors
See Troubleshooting
What was built?
A successful build gets you:
target/debug/grin-miner
- the main grin-miner binarytarget/debug/plugins/*
- mining plugins
Make sure you always run grin-miner within a directory that contains a
grin-miner.toml
configuration file.
While testing, put the grin-miner binary on your path like this:
export PATH=/path/to/grin-miner/dir/target/debug:$PATH
You can then run grin-miner
directly.
Configuration
Grin-miner can be further configured via the grin-miner.toml
file.
This file contains contains inline documentation on all configuration
options, and should be the first point of reference.
You should always ensure that this file exists in the directory from which you're running grin-miner.
Using grin-miner
There is a Grin forum post with further detail on how to configure grin-miner and mine grin's testnet.
lib.rs
:
Logging, as well as various low-level utilities that factor Rust patterns that are frequent within the grin codebase.
Dependencies
~5–13MB
~163K SLoC