Spreadcoin Mining Guide
Step 1: Make sure you have downloaded the Spreadcoin client and the miner that suits your graphics card. (AMD or Nvidia) You can find all of these download links below.
Client Download (version 0.9.15.2, released December 24, 2014)Windows wallet (32-bit)Windows wallet (64-bit)Linux wallet (32-bit)Linux wallet (64-bit)Mac OS X walletSource codeAMD GPU MinerWindows binary:
http://spreadcoin.net/files/Spread-GPU-miner.7zSource code:
https://github.com/spreadcoin-project/spreadcoinx11-sgminerYou need latest drivers to use this miner. Known to work on 14.9 installed from file named amd-catalyst-14-9-win7-win8.1-64bit-dd-ccc-whql.exe from
http://support.amd.com/en-us/download/desktop?os=Windows%207%20-%2064Nvidia GPU MinerWin32 binary:
https://github.com/tsiv/spreadminer/releasesSource:
https://github.com/tsiv/spreadminer
Step 2: You only need to do this step if you have an encrypted walletSo first off, head to %appdata%/Spreadcoin. You can find it by opening windows explorer and typing it into the bar at the top:
Press Enter. Now you will be taken to a folder named Spreadcoin with a few files in it.
I'm going to assume you don't have a spreadcoin.conf file in this folder.
Now you need to right click and create a new text document as shown below.
Leave it named as "New Text Document". Now open the document and paste this text into it:
miningprivkey= <we will fill this section out later>
Now we can save the file. But we need to name it spreadcoin.conf so click file > save as
Now make sure to change "Save as type" from "Text Documents (*.txt)" to "All Files (*.*)"
Then type the file name as "spreadcoin.conf" and click save.
Now you should see a new file called "spreadcoin.conf" in the Spreadcoin directory. If you can't see it there then you might need to refresh the page but if you can see it there then you can minimize the file explorer window as we will come back to it later.
Step 3: Now you can extract the client that you downloaded earlier from the zip file and run it. (You may need to install 7-zip) (if you already had the latest client downloaded and running then you can skip this step)
Step 4: Follow this step ONLY if you have an encrypted wallet.
Create a new address that you would like your miner to mine to and copy it to the clipboard. This address will be slightly insecure as you will need to expose it to your miner.
In the Spreadcoin client in the toolbar at the top click Tools > Debug Console
Then type "walletpassphrase <your wallet password> 120".
Now type "dumpprivkey <wallet address>" where the wallet address is the address you copied to your clipboard before.
The wallet will reply with the corresponding private key. You will need to copy this key and then open up the spreadcoin.conf file you minimized before.
Type "miningprivkey=<paste the key you copied out of the spreadcoin client>"
You can now save and close the spreadcoin.conf file.
Once you have done that you will need to restart the client.
Step 5: Now that the client is up and running you can extract your miner from it's zip file. Navigate to the folder you extracted it from and find the file named "start.bat". Depending on your computer the file may not have ".bat" on the end. Then you can right click > edit.
Now you might need to erase everything except the word "sgminer" (it worked for me) and then you can proceed to add custom modifications to the default values. Here is a list:
Options for both config file and command line:
--auto-fan Automatically adjust all GPU fan speeds to maintain a target temperature
--auto-gpu Automatically adjust all GPU engine clock speeds to maintain a target temperature
--balance Change multipool strategy from failover to even share balance
--benchmark Run sgminer in benchmark mode - produces no shares
--compact Use compact display without per device statistics
--debug|-D Enable debug output
--device|-d <arg> Select device to use, one value, range and/or comma separated (e.g. 0-2,4) default: all
--disable-rejecting Automatically disable pools that continually reject shares
--expiry|-E <arg> Upper bound on how many seconds after getting work we consider a share from it stale (default: 28)
--gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity (default: 7)
--gpu-platform <arg> Select OpenCL platform ID to use for GPU mining (default: -1)
--gpu-threads|-g <arg> Number of threads per GPU - one value or comma separated list (e.g. 1,2,1)
--gpu-engine <arg> GPU engine (over)clock range in Mhz - one value, range and/or comma separated list (e.g. 850-900,900,750-850)
--gpu-fan <arg> GPU fan percentage range - one value, range and/or comma separated list (e.g. 0-85,85,65)
--gpu-map <arg> Map OpenCL to ADL device order manually, paired CSV (e.g. 1:0,2:1 maps OpenCL 1 to ADL 0, 2 to 1)
--gpu-memclock <arg> Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card
--gpu-memdiff <arg> Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode
--gpu-powertune <arg> Set the GPU powertune percentage - one value for all or separate by commas for per card
--gpu-reorder Attempt to reorder GPU devices according to PCI Bus ID
--gpu-vddc <arg> Set the GPU voltage in Volts - one value for all or separate by commas for per card
--lookup-gap <arg> Set GPU lookup gap for scrypt mining, comma separated
--intensity|-I <arg> Intensity of GPU scanning (d or 8 -> 31,default: d to maintain desktop interactivity)
--xintensity|-X <arg> Shader based intensity of GPU scanning (1 to 9999), overrides --intensity|-I and -rawintensity.
--rawintensity <arg> Raw intensity of GPU scanning (1 to 2147483647), overrides --intensity|-I and --xintensity|-X.
--kernel-path|-K <arg> Specify a path to where kernel files are (default: "/usr/local/bin")
--kernel|-k <arg> Override kernel to use - one value or comma separated
--load-balance Change multipool strategy from failover to quota based balance
--log|-l <arg> Interval in seconds between log output (default: 5)
--log-show-date|-L Show date on every log line
--lowmem Minimise caching of shares for low memory applications
--net-delay Impose small delays in networking to not overload slow routers
--no-adl Disable the ATI display library used for monitoring and setting GPU parameters
--no-restart Do not attempt to restart GPUs that hang
--no-submit-stale Don't submit shares if they are detected as stale
--pass|-p <arg> Password for bitcoin JSON-RPC server
--per-device-stats Force verbose mode and output per-device statistics
--poolname <arg> Name of pool.
--protocol-dump|-P Verbose dump of protocol-level activities
--queue|-Q <arg> Minimum number of work items to have queued (0+) (default: 1)
--quiet|-q Disable logging output, display status and errors
--quota|-U <arg> quota;URL combination for server with load-balance strategy quotas
--real-quiet Disable all output
--remove-disabled Remove disabled devices entirely, as if they didn't exist
--rotate <arg> Change multipool strategy from failover to regularly rotate at N minutes (default: 0)
--round-robin Change multipool strategy from failover to round robin on failure
--scan-time|-s <arg> Upper bound on time spent scanning current work, in seconds (default: 7)
--sched-start <arg> Set a time of day in HH:MM to start mining (a once off without a stop time)
--sched-stop <arg> Set a time of day in HH:MM to stop mining (will quit without a start time)
--shaders <arg> GPU shaders per card for tuning scrypt, comma separated
--sharelog <arg> Append share log to file
--shares <arg> Quit after mining N shares (default: unlimited)
--socks-proxy <arg> Set socks4 proxy (host:port)
--show-coindiff Show coin difficulty rather than hash value of a share
--state <arg> Specify pool state at startup (default: enabled)
--tcp-keepalive <arg> TCP keepalive packet idle time (default: 30)
--temp-cutoff <arg> Temperature which a device will be automatically disabled at, one value or comma separated list (default: 95)
--temp-hysteresis <arg> Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3)
--temp-overheat <arg> Temperature which a device will be throttled at while automanaging fan and/or GPU, one value or comma separated list (default: 85)
--temp-target <arg> Temperature which a device should stay at while automanaging fan and/or GPU, one value or comma separated list (default: 75)
--text-only|-T Disable ncurses formatted screen output
--thread-concurrency <arg> Set GPU thread concurrency for spreadcoin mining, comma separated
--url|-o <arg> URL for bitcoin JSON-RPC server
--user|-u <arg> Username for bitcoin JSON-RPC server
--verbose|-v Log verbose output to stderr as well as status output
--worksize|-w <arg> Override detected optimal worksize - one value or comma separated list
--userpass|-O <arg> Username:Password pair for spreadcoin JSON-RPC server
--worktime Display extra work time debug information
--difficulty-multiplier <arg> Difficulty multiplier for jobs received from stratum pools
Options for command line only:
--config|-c <arg> Load a JSON-format configuration file
See example.conf for an example configuration.
--default-config <arg> Specify the filename of the default config file
Loaded at start and used when saving without a name.
--help|-h Print this message
--ndevs|-n Display number of detected GPUs, OpenCL platform information, and exit
--version|-V Display version and exit
My start.bat file is very simple and looks like this:
-I 20 means "Set the intensity to 20". You can change 20 to be any number from 8 - 31. Higher is better but your graphics card may not be able to handle the load if your intensity is very high.
For Nvidia users, the included example.bat should work right off the bat so all you need to do is run it.
Now you can run start.bat and it'll (hopefully) look something like this:
Sed8H56NJBTdY8E9Zuqs7o29g6xXz8fSD7