[UPDATED 7/6] How-To Mine Steem Power in Windows

in #steem9 years ago (edited)

A guide for the complete idiot, like me! :)

Update 7/15/16 : Please wait for the new Windows Miner release. Windows mining will not currently work unless you use a VM + Ubuntu. See pfunks guide for help with that.
Update 7/6/16 : New miner from bitcube is out! NOTE : You will likely need to edit the new CONFIG.INI file instead of using your old one.
Update 6/30/16 : Miner v0.5.0 is no longer functional. We are awaiting an update on the Windows miner to 0.8.2 or 0.8.3. I will update this post when it's ready.
Update 6/8/16 : Updating Blockchain link.
Update : 6/3/16 : Updating props for the help and use of equipment.
Update : 6/2/16 : Fixed some verbiage.
Update : 6/1/16 : bitcube has released two new versions of his miner, one a fast version. This is now the fastest miner I've tried! See link in Step 1.
Update : 5/31/16 : If you have trouble with arhag's Windows build and want faster mining than you can get with bitcube's head on over to pfunk's guide on setting up Ubuntu in a VirtualBox on Windows. You will get the same fast rate as arhag's Windows miner without issues. At least that's the case for me personally.
Update : 5/30/16 : Added bitcube's newest compile v0.5.0.
Update : 5/30/16 : Added bitcube's miner to Step 1. Choose the one that works for you.
Update : 5/29/16 : See bottom of guide for how to fix error if miner stops working.


Step 1

Download the Steem Windows Miner created by bitcube.

Windows Binaries : https://github.com/btscube/steem/releases/tag/v0.8.5b

Important: If you are updating to a new version you will likely need to start from scratch.

Step 2

Download the Steem Blockchain provided by steemychicken1.

Step 3

  • Uncompress the miner into a location of your choosing.

Step 4

  • Go to the folder just created when you uncompressed the miner and run steemd.exe
  • If the program crashes, no problem! You've now created the folders needed.
  • Otherwise you will receive a message to edit the config.ini, so exit and continue to Step 5.

Step 5

  • Uncompress the blockchain into the following folder ...

steem-v0-5-0-windows\witness_node_data_dir\blockchain\database\block_num_to_block

... and overwrite any existing files.

Step 6

  • Go to the following folder ...

steem-v0-5-0-windows\witness_node_data_dir

... and open the config.ini file in a text editor.

Step 7

  • In the config.ini file, find ...

# P2P nodes to connect to on startup (may specify multiple times)

and enter this information below that line so it looks like this ...

# P2P nodes to connect to on startup (may specify multiple times)
seed-node = 192.99.4.226:2001
seed-node = 46.252.27.1:1337
seed-node = 81.89.101.133:2001
seed-node = 52.4.250.181:39705
seed-node = 85.214.65.220:2001 

Step 8

  • Next in the config.ini find ...

# name of witness controlled by this node (e.g. initwitness )

and enter the following information, using your Steem account name, so it looks like this ...

# name of witness controlled by this node (e.g. initwitness )
witness = "your-steem-account-name"

Step 9

  • Next in the config.ini file find ...
# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )

and enter the following information, using your Steem account name and WIF key, so it looks like this ...

# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )
miner = ["your-steem-account-name","5YourPrivateWIFKeyIsVeryLong"]

Step 10

  • Next in the config.ini file find ...
# Number of threads to use for proof of work mining

and enter at least "1" after mining-threads. I believe "2" is recommended to start. You can experiment with higher numbers for faster mining. I'm currently using "4" on my AMD A10/7700. So put mining-threads = X where X is the number of threads your CPU supports. If you're not sure, press CTL+Shift+ESC to open the Task Manager and click the Performance tab. The number of graph boxes under CPU usage history is the number of threads your CPU supports. In Windows 10 you will need to click "Open Resource Monitor".

So it should look like this ...

# Number of threads to use for proof of work mining
mining-threads = 2

Step 11

  • Restart steemd.exe and begin mining!

If you still have problems, here are some useful links below or leave a comment and I will do the best I can to answer your question or direct you to someone who can help. If I've left something out or made an error please let me know in the comments section. Good luck!

Other Options & Help

  • If your miner stops working with an error like ...
    Assertion failed!
    or
    Expression: block_num != 0
    or it just exits and you can't get it going again try these steps which arhag explained and it worked for me!

Go into config.ini and comment out (#) the mining-threads section like this ...

# mining-threads = 2

Restart steemd.exe and once you have synced back up to the blockchain, you should see something like this ...

2194613ms th_a application.cpp:438 handle_block ] Got 1 transactions from network on block 1878671

Now exit the program with CTRL-C, go back into config.ini and uncomment (remove the #) the mining-threads line you commented out earlier. Then restart steemd.exe.


  • If you see "1 hps", it means you are syncing up to the blockchain. Mining should start shortly.

Some may need to edit the following line in config.ini to read ...

Endpoint for websocket RPC to listen on

rpc-endpoint = 127.0.0.1:8090


  • You may also want to open Windows Task Manager (CTRL-SHIFT-ESC), open up the Details tab and find the cmd.exe window running the miner. Then right-click on it and set "Priority" to either "Below Normal" or "Low" to allow you to do other things with your computer while you mine. Thanks to pfunk for that tip!

  • If you can't see what error is happening before steemd.exe exits, try creating a .BAT file with the following inside and start your miner using the .BAT file ...
steemd.exe
pause

This will allow you to copy the error and paste it into a text file to upload into the Steem Slack Mining channel for help. To copy the error, simply Right-Click in the command prompt window and select Mark, then drag your mouse over the text you want to copy then press CTRL-C. Now open a new text file and paste (CTRL-V) the error into it and save. Go to the Steem Slack Mining channel and upload the file and see if someone there can help. WARNING: Be sure you do not copy your private key information into this text file. It is shown when the miner starts up, so I just want to mention this just in case.


  • To resync the blockchain use steemd.exe --resync

  • Also see pfunk's very useful info in the comments section regarding account creation and WIF keys.

  • If you are updating to a new version of one of the miners, you will likely need to start from scratch to avoid errors.

Other Resources

#guides #tutorials #steemhelp #mining #windows

Sort:  

I appreciate that! One thing to add is that you don't already need a Steem account to mine, finding proof of work makes an account for you. So if anyone reads this and doesn't have a Steem account and doesn't use Facebook or Reddit, you can mine for your account. That's how I got mine. Edit: Check https://steemd.com/@your-desired-account-name before committing to a name, as there can't be duplicates.

Another thing missing is setting mining-threads in the config.ini. Put mining-threads = X where X is the number of threads your CPU supports. If you're not sure, press CTL+Shift+ESC to open the Task Manager and click the Performance tab. The number of graph boxes under CPU usage history is the number of threads your CPU supports.

Edit: I'd also add how to get a WIF private key. My preferred method is saving the HTML from https://www.bitaddress.org and running it locally: After the mouse entropy is done, click on Bulk Wallet and uncheck the "Compressed addresses?" option, then press the Generate button. The WIF key(s) are the second string on each text line below.

Alternatively you can use the command suggest_brain_key in cli_wallet.exe.

Finally, to those that mine on Windows, please post your CPU model, speed, and hashrate! I'd like to see how it compares to Linux while using optimized libraries.

For maximum Windows mining hashrate, see my VM guide here: https://steemit.com/steem/@pfunk/guide-maximize-your-mining-hashrate-in-windows-by-mining-steem-in-a-vm

https://mega.nz/#!CI1wHJgS!s1hJFJJNICF54caFApWAvbrk-Ci06EREDBunbPyGLdw
Here is a link to a working config for everyone. Change nothing except your account name and WIF key. If the miner crashes, try generating a key from bitaddress.org like pfunk suggests. Don't use the private key from your account, it just crashes the miner (at least it did for me)

Edit: Oh and on a skylake i5 I'm getting about 30khash

What frequency is the i5 running at? And is 30K accurate to within 100 hps? I'd like to get an accurate idea of Windows mining efficiency.

The i5 is running at 3.9GHz, 4 threads.
The range for khash is between 20k and 31k, probably depending on my usage of the processor outside the miner

Additionally - how do I see the transactions going to my wallet? I have no idea how to tell if this is even mining to my account

In reply to your comment below (can't reply more than 6 deep), you can check http://steemd.com/@sonarous for "sonarous found a pow." Solving PoW puts you in the mining queue but it hasn't rewarded you yet. You have to keep your node running while your account is in queue. Steemd.com doesn't explicitly say if you've actually generated the block but you can keep a close eye on your VESTS balance with cli_wallet.exe.

There could be some kind of console monitoring program for Windows that you could use to log every time the word "generated" and phrase "proof of work" is output, but I don't know of one.

Here's what the console says when you enter the queue
th_a witness.cpp:504 operator() ] Broadcasting Proof of Work for pfunk
And when you generate the block and leave the queue
th_a witness.cpp:256 block_production_loo ] Generated block #XXXXXX with timestamp 2016-05-29TXX:XX:XX at time 2016-05-29TXX:XX:XX by pfunk

If cli-wallet is crashing and nothing is showing up under finding pow is something still not working?

What i need to do, when steemd wallet is show me this message:
Please use the set_password method to initialize a new wallet before continuing
New>>
???

In cli_wallet, you set a password that encrypts your wallet file (wallet.json) using the set_password command like this (replace 'password' with whatever password you feel is secure)

set_password password

Once set, you use the unlock command: unlock password

Then you use the import_key command to import the key(s) you used to mine to your account(s): import_key 5WIFprivatekeyxxxxxxxx

Now, when the wallet is unlocked, you can use cli_wallet to conduct transactions. You can also use Steemit.com's UI on your wallet page, mainly, to do most of the same transactions you can do with cli_wallet.

I get the message in red that no witness and private keys and miner and private keys is configured even though I followed every step.

I tried the key from bitaddress.org, I tried every key from the permissions section of this account. posting, active, owner, memo.
But, the message keeps on occuring.

Edit : I had forgotten to delete the "#" in front of the lines edited. Duhhh Now it works fine.

i7/930 using 2 threads = around 7,000 hps

Your "edit" just solved my problem - yay!

Are you at the default speed of 2.8 GHz? I suggest using more threads, you've got 8 to work with :)

Yeah, cool, I'll do that. I'm getting 1 hps today like @tuckfheman was getting yesterday and by reading the comments below, I think I should keep the miner running, is that right?

By the way, Is there any way to check how much steem your miner is making? The activities at steem account seems to be making steem power as well. Is there any way to know the exact amount of steem the miner is generating?

Edit - Checked the original post and found out it's updated regarding the 1 hps issue.

how to get a WIF private key? My Mined Always show false ?

On Steemit, click the avatar in upper right corner, then click Permissions from the dropdown, then click Show on the Active or Owner line.

Otherwise, see pfunk's instructions in the comments here.

Hi, I have 4 problems, Im mining for 24 hours but nothing happend I was never on the queue, I seen some names were more times by the time, how it is?
Second question is that suggest_brain_key command gave me different WIF private key than wallet-permission... why? which one to use?
Third is when im starting stemd.exe the witness name ,,popper,,(my name) is red is it correct?

4th is that

WIF PRIVATE KEY to be used by one or more witnesses or miners need to be setted up or

name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] ) is enough???

Thanks

Thanks for the extra info!

  • AMD A10/7700 using 4 threads = 14.5 hps avg.

I still can't get the miner going on my old i7/860 (shuts down immediately after syncing). I'm not sure what the issue is but I'll give it another fresh try tomorrow.

Great, That was the info I was looking for. So generate an address with the bulk wallet page, uncheck compressed addresses, then use your new name and the private key?

Mine crashes and references the witnesses and witness\privatekey line. and does the same crash just faster if I put the private key in the # WIF PRIVASTE KEY line. What am I doing wrong?

For each account you plan on mining with (see other mining posts for why you might want to use more than one) you need a witness = "bbqbear" and miner = ["bbqbear","5yourprivkeyhere"] lines in your config.ini. You do not need the private-key = line for mining.

Hmm, I deleted the config file and started again. The private key is from Account\Permissions\owner right?
The seed nodes cause a config file error if there is more than one,
3063457ms th_a main.cpp:119 main ] Error parsing logging config from config file D:\STEEM\witness_node_data_dir\co
nfig.ini, using default config

With only 1 seed node it just gives an error on the name line every time. these are the witness and miner lines
witness = "bbqbear"
miner = ["bbqbear","bigolprivatekeyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]
and this is the error
initminer public key: STMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
chain id: 0000000000000000000000000000000000000000000000000000000000000000


2411656ms th_a witness.cpp:98 plugin_initialize ] _witnesses: []
Can someone post a complete working windows config file?

"get it going with only 1 hps" according to @arhag that means you are in the queue! And as long as you are in the queue, you can't hash with the same account.

lmao! I've been shutting it down each time it says that. omg I'm an idiot. :/ Thanks for letting me know!

Welp, mine shut down after no issue for several hours and now I can't get it going again. Even with a fresh start I either get it going with only 1 hps or it exits right when it starts mining. So I'm pretty tired and going to get some sleep and get on slack tomorrow, hopefully with arhag to see if we can figure out what's causing the problems.

I've updated the config.ini info above to what most say works for them, but will go over everything tomorrow in slack and hopefully we can get a consensus on proper format, then I will post one here.

If anyone comes across some new info prior to that please post it here for everyone, thanks!

Complete minus private keys of course :)

@tuck-fheman
"get it going with only 1 hps" according to @arhag that means you are in the queue! And as long as you are in the queue, you can't hash with the same account.

Your "edit" just solved my problem - yay!

Hey, I get this weird "no witness configured" and "no miners configured" error when I start the miner, even though I've added them to the config file.

Is it mining now or how do I know what's going on?

delete # symbol in config.ini in front of the lines where you are declare your witness and miners

Yeah thanks I did that an hour or so later. :)

blockchain download speed is unbearable though. 100kbps..

@bitcube's new v0.11.0 miner for Windows : https://github.com/btscube/steem/releases/download/v0.11.0/steem-win-x64-011.zip

Source: https://github.com/btscube/steem/releases

I was able to quickly begin mining at a higher hash rate than with Ubuntu VM mining. This was quick and easy to get set up, thanks for the link!

Anyone following this guide, please keep in mind that the primary link to the Blockchain download is incorrect. The correct link is the following:

http://steemitup.eu/witness_node_data_dir.tar.gz

FYI, I built a Windows binary off 0.11.0 sources so Windows users can start mining again:
Using Arhag's guide to cross compiling Steem to Windows I managed to produce a working Steemd.exe and CLI_wallet.exe! Its hashing right now on my Windows 10 PC.

https://github.com/vonkoda/steembuilds/blob/master/release/0.11.0/0.11.0.zip

It works! Confirmed!! Just replace the cli-wallet.exe and steemd.exe over the original ones, download the new blockchain and run steemd.exe --replay. For me it worked!

Miner crashes just after it starts mining. Tried it on two machines and same thing. It Does actually begin to mine unlike the other one.

You may have to wait on bitcube's which seem to work on most machines.

Unfortunately they have removed our ability to edit paid post, so hopefully people will see your comment here. Please post your link in #mining on the Steem Slack and get your well deserved credit and make a post of your own so people can upvote/tip you. Thanks!

Wonderful article. Thank you for taking the time to write this.. still syncing but hopefully will be earning some STEEM shortly!

Is it possible/recommended to use the same witness names across multple computers? or should every machine that is mining have its own set of witness names?

I'm fairly certain you need to use different names on multiple boxes.

I was informed that you only should have one active witness on your node computer. On all of the slaves leave the "# name of witness controlled by this node (e.g. initwitness )" blank with a # but you can copy over the configuration in line below it "# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )"

great tutorial, thanks!

For those encountering the following errors:

  • witness.cpp: 98 _wtinesses: ["steem username"]
  • database.cpp:118 reindex !no last block
  • database.cpp:119 reindex last_block
  1. Download http://www.steemitup.eu/witness_node_data_dir.tar.gz
  2. Backup Config.ini file
  3. Delete Witness_node_data_dir
    rm -r witness_node_data_dir
  4. Untar the downloaded file (witness_node_data_dir.tar.gz)
    tar -xzvf witness_node_data_dir.tar.gr witness_node_data_dir
  5. Replace the Config.ini file w/ Backup Config.ini file

+gratuitous gratuity to to steemychicken1

Having the witness error, but the download link provided is down... Could you provide a mirror by any chance?

Tuck-fheman Thanks for tutorial!
My i5-4690 mining 15300 hps (2 core use)
I just start mine. Anyone knows how many steem per 1 day i mine?
Can i see mined steem at my account at steemit.com?

ps: sry for my english)

You'll likely get 1-6 per day. You can see your found POW at http://steemd.com/@youraccountname

I'm sorry, feel dumb(
https://steemd.com/@kirill7 i go to this page (with my name) but can't find any stats about speed or something like mining or POW, i'll be thankful if you explain more concrete pls

You can see your mining hashrate in the mining console "xxxxx hps". If you find a POW, you'll see, "found a pow" on that page above. If your hashrate drops really low, you're in the queue and you can see that here... https://steemd.com/witnesses

Thx for help, now i understand)
And last question: where i can see my mined steem, they go wallet/steam power? how often?

Hello me a hand? you already gained some steam with its mining? in my wallet only appears 4788.6216 Vests this is normal'm mining for 1 day.

Good Job