PoC-Consortium / scavenger

A fast Burstcoin miner written in Rust
GNU General Public License v3.0
107 stars 64 forks source link
bhd bitcoinhd burst burstcoin crypto cryptocurrency miner rust

Build Status License: GPL v3

Scavenger - PoC miner in Rust

Features

Documentation/Wiki

https://github.com/PoC-Consortium/scavenger/wiki

Binary + source code releases

https://github.com/PoC-Consortium/scavenger/releases

Scavenger can also be installed directly via cargo:

cargo install scavenger

Development Requirements

Compile, test, ...

Binaries are in target/debug or target/release depending on optimization.

# decide on features to run/build:
simd: support for SSE2, AVX, AVX2 and AVX512F (x86_cpu)
neon: support for Arm NEON (arm_cpu)
opencl: support for OpenCL (gpu)

# build debug und run directly
e.g. cargo run --features=simd    #for a cpu version with SIMD support

# build debug (unoptimized)
e.g cargo build --features=neon   #for a arm cpu version with NEON support

# build release (optimized)
e.g. cargo build --release --features=opencl,simd    #for a cpu/gpu version

# test
cargo test  [--features={opencl,simd,neon}]

Run

scavenger --help

Config

The miner needs a config.yaml file with the following structure:

https://github.com/PoC-Consortium/scavenger/blob/master/config.yaml

Docker

A docker image based on alpine linux is built automatically on every commit to master: pocconsortium/scavenger This image will use only your cpu.

To run it on the fly use something like this:

docker run \
--rm \
--name scavenger \
--volume /path/to/your/config.yaml:/data/config.yaml \
--volume /path/to/your/disks:/disks \
pocconsortium/scavenger

Alternatively a docker compose file could look like this:

version: '2'
services:
  scavenger:
    image: pocconsortium/scavenger
    restart: always
    volumes:
      - /path/to/your/disks:/disks
      - /path/to/your/config.yaml:/data/config.yaml

Donate