• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A GPU Miner for Sia

Sia-GPU-Miner

A GPU miner designed for mining siacoins. This miner runs in a command prompt and prints your hashrate along side the number of blocks you've mined. Most cards will see greatly increased hashrates by increasing the value of 'I' (default is 16, optimal is typically 20-25).

install dependencies (ubuntu 16.04)

sudo apt-get install opencl-headers libcurl4-gnutls-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

How to Use

  1. Build the miner by running make.

  2. Make sure you have a recent version of Sia installed and running.

  3. Run the miner by running ./gpu-miner. It will mine blocks until killed with Ctrl-C.

Configuration

You can tweak the miner settings with five command-line arguments: -I, -C, -p, -d, and -P.

  • -I controls the intensity. On each GPU call, the GPU will do 2^I hashes. The default value is low to prevent certain GPUs from crashing immediately at startup. Most cards will benefit substantially from increasing the value. The default is 16, but reccommended (for most cards) is 20-25.
  • -C controls how frequently calls to siad are made. Reducing it substantially could cause instability to the miner. Increasing it will reduce the frequency at which the hashrate is updated. If a low 'I' is being used, a high 'C' should be used. As a rule of thumb, the hashrate should only be updating a few times per second. The default is 30.
  • -p allows you to pick a platform. Default is the first platform (indexing from 0).
  • -d allows you to pick which device to copmute on. Default is the first device (indexing from 0).
  • -P changes the port that the miner makes API calls to. Use this if you configured Sia to be on a port other than the default. Default is 9980.

If you wanted to run the program on platform 0, device 1, with an intensity of 24, you would call ./sia-gpu-miner -d 1 -I 24

Multiple GPUs

Each instance of the miner can only point to a single GPU. To mine on multiple GPUs at the same time, you will need to run multiple instances of the miner and point each at a different gpu. Only one instance of 'siad' needs to be running, all of the miners can point to it.

It is highly recommended that you greatly increase the value of 'C' when using multiple miners. As a rule of thumb, the hashrate for each miner should be updating one time per [numGPUs] seconds. You should not mine with more than 6 cards at a time (per instance of siad).

Notes

  • Each Sia block takes about 10 minutes to mine.
  • Once a block is mined, Sia waits for 144 confirmation blocks before the reward is added to your wallet, which takes about 24 hours.
  • Sia currently doesn't have any mining pools.
  • Windows is poorly supported. For best results, use Linux when mining.

More Repositories

1

Sia

Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
Go
2,710
star
2

Sia-UI

A Graphical Frontend for Sia - https://sia.tech
JavaScript
389
star
3

go-upnp

An opinionated interface to your local Internet Gateway Device.
Go
79
star
4

fastrand

10x faster than crypto/rand
Go
77
star
5

merkletree

Calculate merkle roots, build and verify proofs that data is in a merkle tree.
Go
74
star
6

entropy-mnemonics

Human readable entropy.
Go
63
star
7

glyphcheck

Detect malicious homoglyphs in Go source code
Go
46
star
8

Sia-Nextcloud

PHP
36
star
9

skynet-js

A Javascript module made to simplify communication with Sia Skynet portals from the browser.
TypeScript
32
star
10

nodejs-skynet

Library for integrating Skynet into Node.js applications
JavaScript
30
star
11

Nodejs-Sia

Nodejs bindings for the siad API - https://sia.tech
JavaScript
26
star
12

writeaheadlog

A general-purpose write-ahead log
Go
25
star
13

Sia-Ant-Farm

A tool for setting up small testnets for Sia.
Go
24
star
14

docker-sia

The official docker image for the Sia daemon
Dockerfile
21
star
15

sia.tech

static implementation for sia.tech
CSS
20
star
16

python-skynet

Library for integrating Skynet with Python applications
Python
20
star
17

Skynet-Hive

A list of awesome Skynet applications
15
star
18

go-skynet

An SDK for integrating Skynet into Golang applications
Go
15
star
19

skynet-cli

a lightweight cli to interact with Skynet
Go
12
star
20

skynet-blogger

Publish blog posts to Skynet using this innovative tool from PJ Brone
TypeScript
12
star
21

skynet-workshop

JavaScript
11
star
22

Sunfish

File Sharing Platform for Sia
Go
10
star
23

Sia-Support-Docs

Sia Support Docs, found at https://support.sia.tech
9
star
24

Sia-Explorer

An explorer for Sia
JavaScript
7
star
25

Discord-Bot

TypeScript
7
star
26

skybin

Decentralized platform for uploading and pasting text.
HTML
6
star
27

skystandards

6
star
28

hdkey

Hierarchical Deterministic Key Derivation for arbitrary secp256k1 key pairs
Go
6
star
29

nanos-app-sia

The official Sia app for the Ledger Nano S
C
5
star
30

Sia-Leaderboard

Go
5
star
31

errors

Errors with context, composition, and easy error checking.
Go
4
star
32

demotemutex

An extension to RWMutex that allows a writelock to be demoted to a readlock.
Go
4
star
33

obelisk.tech

JavaScript
4
star
34

ratelimit

global ratelimiter for network connections in golang
Go
3
star
35

pages

A repository that provides access to multiple paged files that live within a single on-disk file
Go
2
star
36

old-siacoin.com

Sia's old website
HTML
2
star
37

docker-siastream

The official docker image for SiaStream.
Shell
2
star
38

portal-test

HTML
1
star
39

threadgroup

Simplification of thread management and shutdown routines
Go
1
star