Skip to content

Commit

Permalink
Bump version to 3.0.7 and update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
bitcartel committed May 20, 2024
1 parent ca3c7c4 commit 383c6ef
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 59 deletions.
8 changes: 8 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
Version 3.0.7 - May 19, 2024

- Add support for macOS 14 Sonoma
- Add support for Hiveon OS
- Add Github actions and workflow to build release binaries
- Add option --softaes to disable hardware AES
- Add option --nonces=N to set number of hashes to perform in benchmark

Version 3.0.6 - May 12, 2024

- Add dockerfile to generate Linux static binary
Expand Down
106 changes: 48 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,36 @@
# cpuminer-scash

This is a multi-threaded CPU miner for Scash, based on pooler's
fork of Jeff Garzik's reference cpuminer.
Cpuminer-scash is a free, high performance, open source, cross platform CPU miner for Scash.

Scash uses RandomX as it's mining algorithm, as specified here: https://github.com/scash-project/sips/blob/main/scash-protocol-spec.md
Cpuminer-scash has been tested on Linux, Windows, macOS and on Intel/AMD x86-64 and ARM64 processors.

The cpuminer depends on the following libraries:
Scash uses RandomX 1.2.1 as it's mining algorithm, as specified here: https://github.com/scash-project/sips/blob/main/scash-protocol-spec.md

## Features

Cpuminer supports:
- Solo mining with Scash node (RPC getblocktemplate)
- Mining pools (Stratum V1 protocol)
- Hiveon OS

## Download
- Binary releases: https://github.com/scash-project/cpuminer-scash/releases
- Build from source (recommended)

## Hiveon OS instructions

Create a new flight sheet, select 'Custom miner', click 'Setup miner config' and then enter the following:
- Miner name: `cpuminer_scash`
- Installation URL: Copy the URL of the latest hiveon binary in Github releases
- Hash algorithm: `----` (`randomx` and `randomscash` can also be selected)
- Pool URL: `stratum+tcps://ADDRESS:PORT` (obtain address and port from mining pool)
- Wallet and worker template: `%WAL%.%WORKER_NAME%`
- Pass: `x` (or empty)
- Extra config arguments: `--largepages --quiet --no-affinity --threads=N` (run `minerd -h` to see full list of options)

## Build dependencies

Cpuminer depends on the following libraries:
- libcurl, https://curl.se/libcurl/
- jansson, https://github.com/akheron/jansson (jansson is included locally)
- RandomX, https://github.com/scash-project/RandomX (RandomX is included as a Git submodule)
Expand Down Expand Up @@ -42,31 +67,31 @@ The steps to create a static binary with Alpine Linux and musl are outlined in t

Using glibc to create a static binary is not recommended: https://stackoverflow.com/questions/57476533/why-is-statically-linking-glibc-discouraged/57478728#57478728

### Running the miner
### Usage

Help message and options:
```
./minerd -h
```

Example usage to mine on 4 cpu threads:
Solo mine on 4 cpu threads, connected to a local Scash node:
```
./minerd -o 127.0.0.1:8342 -O username:password -t 4 --coinbase-addr=YOUR_SCASH_ADDRESS
```

Use large memory pages and disable thread binding:
Solo mine using large memory pages and disable thread binding:
```
./minerd -o 127.0.0.1:8342 -O username:password -t 4 --coinbase-addr=YOUR_SCASH_ADDRESS --largepages --no-affinity
```

Use with a Stratum v1 mining pool and print out any network and debugging messages:
Mine at a pool using large memory pages and print out networking and debugging messages:
```
./minerd --url=stratum+tcps://pool.domain.com:1234 --user=checkyourpool --pass=checkyourpool -P -D
./minerd --url=stratum+tcps://pool.domain.com:1234 --user=checkyourpool --pass=checkyourpool --largepages -P -D
```

Benchmark 20000 hashes, on each of 4 miner threads (by default, will try number of processors):
Benchmark 5000 hashes (default is 1000), on each of 4 miner threads (default will use number of processors):
```
./minerd --benchmark -t 4
./minerd --benchmark --nonces 5000 -t 4
```

## Windows
Expand All @@ -86,7 +111,7 @@ In MSYS2 terminal:
pacman -S git autoconf pkgconf automake make mingw-w64-ucrt-x86_64-curl mingw-w64-ucrt-x86_64-gcc
```

### Build instructions for running in MSYS2
### Build instructions (for running in MSYS2)

To build a native Windows application which must run in a MSYS2 terminal.

Expand All @@ -99,7 +124,7 @@ LIBCURL="-lcurl.dll" ./configure
make
```

### Build instructions for running in Windows
### Build instructions (for running anywhere on Windows)

To build a native Windows application which can run in Terminal and PowerShell.

Expand All @@ -126,7 +151,7 @@ LIBCURL=`pkg-config --static --libs libcurl` LDFLAGS="-static -static-libgcc" ./
make
```

### Running the miner
### Usage

Usage is same as shown above for Linux e.g.

Expand All @@ -135,47 +160,12 @@ Help message and options:
./minerd.exe -h
```

Example usage to mine on 4 cpu threads:
```
./minerd.exe -o 127.0.0.1:8342 -O username:password -t 4 --coinbase-addr=YOUR_SCASH_ADDRESS
```

## Legacy Readme

```
Architecture-specific notes:
ARM: No runtime CPU detection. The miner can take advantage
of some instructions specific to ARMv5E and later processors,
but the decision whether to use them is made at compile time,
based on compiler-defined macros.
To use NEON instructions, add "-mfpu=neon" to CFLAGS.
PowerPC: No runtime CPU detection.
To use AltiVec instructions, add "-maltivec" to CFLAGS.
x86: The miner checks for SSE2 instructions support at runtime,
and uses them if they are available.
x86-64: The miner can take advantage of AVX, AVX2 and XOP instructions,
but only if both the CPU and the operating system support them.
* Linux supports AVX starting from kernel version 2.6.30.
* FreeBSD supports AVX starting with 9.1-RELEASE.
* Mac OS X added AVX support in the 10.6.8 update.
* Windows supports AVX starting from Windows 7 SP1 and
Windows Server 2008 R2 SP1.
The configure script outputs a warning if the assembler
doesn't support some instruction sets. In that case, the miner
can still be built, but unavailable optimizations are left off.
The miner uses the VIA Padlock Hash Engine where available.
Usage instructions: Run "minerd --help" to see options.
Connecting through a proxy: Use the --proxy option.
To use a SOCKS proxy, add a socks4:// or socks5:// prefix to the proxy host.
Protocols socks4a and socks5h, allowing remote name resolving, are also
available since libcurl 7.18.0.
If no protocol is specified, the proxy is assumed to be a HTTP proxy.
When the --proxy option is not used, the program honors the http_proxy
and all_proxy environment variables.
Also many issues and FAQs are covered in the forum thread
dedicated to this program,
https://bitcointalk.org/index.php?topic=55038.0
```
Solo mine connected to a local Scash node:
```
./minerd.exe -o 127.0.0.1:8342 -O username:password --coinbase-addr=YOUR_SCASH_ADDRESS
```

Mine at a pool using large memory pages:
```
./minerd.exe --url=stratum+tcps://pool.domain.com:1234 --user=checkyourpool --pass=checkyourpool --largepages
```
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([cpuminer-scash],[3.0.6])
AC_INIT([cpuminer-scash],[3.0.7])

AC_PREREQ([2.59c])
AC_CANONICAL_TARGET
Expand Down

0 comments on commit 383c6ef

Please sign in to comment.