step by step instructions on how to set up and mine steem.
<p dir="auto">If like me, youve tried mining unsuccessfully before and have found it daunting and complicated to search through all the out of date mining tutorials, then this tutorial may be of help.
<p dir="auto"><span>firstly i'd like to thank <a href="/@abit">@abit <a href="/@pfunk">@pfunk <a href="/@gandalf">@gandalf <a href="/@joseph">@joseph <a href="/@bitcoiner">@bitcoiner <a href="/@someguy123">@someguy123 for their help and tutorials, without which i wouldn't have been able to learn the mining process.
<p dir="auto">If you are running windows you need to set up a virtual machine :<br /><span>
I followed <a href="/@pfunk">@pfunk's excellent post on how to set up Ubuntu Server 16.04 on vmware on a windows machine.
<p dir="auto">step 1<br />
First we need to check if the CPU's virtualization features are enabled.<br />
Download cpu-z. http://www.cpuid.com/downloads/cpu-z/cpu-z_1.76-en.zip<br />
check if VT-x or AMD-V is enabled in cpu-z.<br />
If its not enabled you should be able to enable it in your bios.<br /><span>
<img src="https://images.hive.blog/768x0/https://s26.postimg.org/eccf85zdl/cpuz.png" srcset="https://images.hive.blog/768x0/https://s26.postimg.org/eccf85zdl/cpuz.png 1x, https://images.hive.blog/1536x0/https://s26.postimg.org/eccf85zdl/cpuz.png 2x" />
<p dir="auto">step 2<br />
download and install VMware Workstation 12.5.2 Player for Windows 64-bit Operating Systems and ubuntu-16.04-server-amd64.iso<br /><br /><span>
<a href="https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0<span>
<a href="http://releases.ubuntu.com/16.04/ubuntu-16.04-server-amd64.iso" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">http://releases.ubuntu.com/16.04/ubuntu-16.04-server-amd64.iso
<p dir="auto"><br />
launch vmware and 'create new virtual machine. then select 'installer disk image file' and browse to the location of your ubuntu iso download.<span><img src="https://images.hive.blog/768x0/https://s26.postimg.org/p0g6709cp/vmware1.png" srcset="https://images.hive.blog/768x0/https://s26.postimg.org/p0g6709cp/vmware1.png 1x, https://images.hive.blog/1536x0/https://s26.postimg.org/p0g6709cp/vmware1.png 2x" />
<p dir="auto">then create a user name and password, these details are for your login when you login to ubuntu.<br />
Next screen choose your location to install, leave these settings on default unless you want to install on a different disk to your operating system.
<p dir="auto">same with the next screen 'specify disk capacity' you can accept the default settings
<p dir="auto">on the next screen 'ready to create virtual machine' select customize hardware.
<p dir="auto">I suggest using a minimum of 2GB, I have 12 GB in my machine so ive allocated 4GB on my installation.<br /><br />
select the number of processors. some cpu's i.e. dual core may actually show as 4 cpu's in windows because each cpu may have 2 threads. to check how many cpu's you have use cpu-z again and look at the box listing threads. this is the number you need to enter.<span>
<img src="https://images.hive.blog/768x0/https://s26.postimg.org/upwerbfix/vmware2.png" srcset="https://images.hive.blog/768x0/https://s26.postimg.org/upwerbfix/vmware2.png 1x, https://images.hive.blog/1536x0/https://s26.postimg.org/upwerbfix/vmware2.png 2x" />
<p dir="auto">then click close, and finish.<br />
Vmware will now istall ubuntu. when finished your screen will show a login prompt with your user name. i.e. on my mine it show the line pcste@ubuntu:~$<br />
ubuntu is now installed.<br />
leave your vmware window open.
<p dir="auto">step 3 setup a telnet / SSH client<br /><br />
now go back to your vmware window and type the command line :<br />
<code>sudo apt-get -y install openssh-server<br />
press enter then put your password in. (the password you created when you set up your ubuntu installation)<span>
donload and install Kitty <a href="https://www.fosshub.com/KiTTY.html" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://www.fosshub.com/KiTTY.html
<p dir="auto">then type:<br />
<code>ifconfig<br />
press enter
<p dir="auto">your screen will now show your i.p address that we need to connect to with kitty.<br /><span>
<img src="https://images.hive.blog/768x0/https://s26.postimg.org/3umdceyjd/vmware4.png" srcset="https://images.hive.blog/768x0/https://s26.postimg.org/3umdceyjd/vmware4.png 1x, https://images.hive.blog/1536x0/https://s26.postimg.org/3umdceyjd/vmware4.png 2x" />
<p dir="auto">enter this number (include dots) into kitty in the 'host name or (i.p.address)' field<br />
leave ssh selected and port 22
<p dir="auto">type 'steem' into the saved sessions/new folder field and click save and then open.<br />
when you first run kitty you will get an error box, just accept it.<br />
now in your kitty window it will say 'login as:' enter your user name and password (the ones you created when installing ubuntu)<br />
you are now logged into ubuntu via kitty. kitty is much easier to use than the vmware/ubuntu window
<p dir="auto">step 4 installing steemd<br />
It may seem daunting if you are a windows user so first a few tips.<br />
rather than typing the commands you can copy and paste them from this tutorial. copy the type as usual in windows and then right handside mouse click when in kitty to paste (ctrl + v doesnt work)
<p dir="auto">if you get lost and your not sure which folder you are in you can type <code>dir to see the contents of your folder<br />
to navigate up 1 folder type : <code>cd ..<br />
to navigate to the top of the tree type : <code>cd
<p dir="auto">use kitty rather than the vmware terminal as the vmware terminal has problems with cut and paste and seeing your cursor.
<p dir="auto">If you are in windows connect to via kitty as instructed in step 3. or in ubuntu open a terminal.<br />
follow the instructions below and wait for each process to finish before moving on to the next<br />
type :<br />
<code>sudo apt-get update<br />
enter.
<p dir="auto">type :<br />
<code>sudo apt-get -y upgrade && sudo apt-get -y install git cmake g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev libssl-dev libncurses5-dev doxygen libreadline-dev dh-autoreconf screen<br />
enter.
<p dir="auto"><br />
type :<br />
<code>git clone https://github.com/steemit/steem.git<br />
enter<br />
type :<br />
<code>cd steem<br />
type :<br />
<code>git checkout v0.16.1<br />
enter<br />
type :<br />
<code>git remote add abit https://github.com/abitmore/steem.git<br />
enter<br />
type :<br />
<code>git fetch abit<br />
enter<br />
type :<br />
<code>git merge -m "merge" abit/v0.16.0-mining-shorcut-1<br />
enter<br />
if you get an error<br />
*** Please tell me who you are.<span>next we are going to install steem and @abits patched code. thanks <a href="/@abit">@abit
<p dir="auto">Run
<p dir="auto">git config --global user.email "you@example.com"<br />
git config --global user.name "Your Name"
<p dir="auto">to set your account's default identity.<br />
Omit --global to set the identity only in this repository.
<p dir="auto">fatal: unable to auto-detect email address (got 'pcste@ubuntu.(none)')
<p dir="auto">then type :<br />
<code>git config --global user.name "pcste"<br />
enter<br />
<code>git--global user.email djpcste@gmail.com<br />
enter<br />
(obviously put your own user and email in) i do believe you can put anything as your email i.e. yourname@email.com
<p dir="auto">then type :<br />
<code>git merge -m "merge" abit/v0.16.0-mining-shorcut-1<br />
enter<br />
it should now merge sucessfully.
<p dir="auto">next type :<br />
<code>git submodule update --init --recursive<br />
enter
<p dir="auto">type :<br />
<code>cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONTENT_PATCHING=OFF -DLOW_MEMORY_NODE=ON
<p dir="auto">type :<br />
<code>make<br />
enter
<p dir="auto">type :<br />
<code>cd programs/steemd<br />
enter
<p dir="auto">Now we want to run steemd so it creates config.ini<br />
type :<br />
<code>./steemd<br />
enter
<p dir="auto">then leave it a minute then press Ctrl + C on your keyboard to stop steemd
<p dir="auto">now navigate to the file that stores config.ini<br />
type :<br />
<code>cd witness_node_data_dir<br />
enter
<p dir="auto">now we are going to edit config.ini<br />
type :<br />
<code>nano config.ini<br />
enter
<p dir="auto">now copy this list of steem nodes :<br />
seed-node = 176.31.126.187:2001<br />
seed-node = 212.117.213.186:2016<br />
seed-node = 212.47.249.84:40696<br />
seed-node = 45.55.54.83:2001<br />
seed-node = 5.9.18.213:2001<br />
seed-node = 52.4.250.181:39705<br />
seed-node = 52.74.152.79:2001<br />
seed-node = gtg.steem.house:2001<br />
seed-node = seed.bitcoiner.me:2001<br />
seed-node = seed.jesta.us:2001<br />
seed-node = seed.riversteem.com:2001<br />
seed-node = seed.rossco99.com:2001<br />
seed-node = seed.royaltiffany.me:2001<br />
seed-node = seed.steemd.com:34191<br />
seed-node = seed.steemnodes.com:2001<br />
seed-node = seed.thecryptodrive.com:2001<br />
seed-node = steem-id.altexplorer.xyz:2001<br />
seed-node = steem-seed1.abit-more.com:2001<br />
seed-node = steem.clawmap.com:2001<br />
seed-node = steem.global:2001<br />
seed-node = 89.36.26.82:2001<br />
seed-node = seed.esteem.ws:2001<br />
seed-node = 104.199.118.92:2001<br />
seed-node = anyx.co:2001<br />
seed-node = seed.bhuz.info:2001<br />
seed-node = seed.steemfeeder.com:2001
<p dir="auto">paste into your config.ini that you just opened with nano (right mouse click in your kitty window to paste)<br />
now move your cursor down the page using your arrow keys until you get to
<p dir="auto"><code># P2P nodes to connect to on startup (may specify multiple times)<br />
<code># seed-node =<br />
move your cursor under # seed-node = and then right click your mouse to paste into nano.<br />
you should end up with this :
<p dir="auto"><code># Endpoint for P2P node to listen on<br />
<code># p2p-endpoint =
<p dir="auto"><code># Maxmimum number of incoming connections on P2P endpoint<br />
<code># p2p-max-connections =
<p dir="auto"><code># P2P nodes to connect to on startup (may specify multiple times)<br />
<code># seed-node =<br />
seed-node = 176.31.126.187:2001<br />
seed-node = 212.117.213.186:2016<br />
seed-node = 212.47.249.84:40696<br />
seed-node = 45.55.54.83:2001<br />
seed-node = 5.9.18.213:2001<br />
seed-node = 52.4.250.181:39705<br />
seed-node = 52.74.152.79:2001<br />
seed-node = gtg.steem.house:2001<br />
seed-node = seed.bitcoiner.me:2001<br />
seed-node = seed.jesta.us:2001<br />
seed-node = seed.riversteem.com:2001<br />
seed-node = seed.rossco99.com:2001<br />
seed-node = seed.royaltiffany.me:2001<br />
seed-node = seed.steemd.com:34191<br />
seed-node = seed.steemnodes.com:2001<br />
seed-node = seed.thecryptodrive.com:2001<br />
seed-node = steem-id.altexplorer.xyz:2001<br />
seed-node = steem-seed1.abit-more.com:2001<br />
seed-node = steem.clawmap.com:2001<br />
seed-node = steem.global:2001
<p dir="auto">find the lines :<br />
<code># Location of the shared memory file. Defaults to data_dir/blockchain<br />
<code># shared-file-dir =
<p dir="auto"><code># Size of the shared memory file. Default: 32G<br />
<code># shared-file-size =
<p dir="auto">and change to :<br />
<code># Location of the shared memory file. Defaults to data_dir/blockchain<br />
<code>shared-file-dir = /dev/shm/
<p dir="auto"><code># Size of the shared memory file. Default: 32G<br />
<code>shared-file-size = 12G
<p dir="auto">make sure you remove the # where i have done (information after the # sign is read only and will not be excecuted by the program)
<p dir="auto">Now find the lines :<br />
<code># Plugin(s) to enable, may be specified multiple times<br />
<code>enable-plugin = witness account_history account_by_key
<p dir="auto">and change to :<br />
<code># Plugin(s) to enable, may be specified multiple times<br />
<code>enable-plugin = witness
<p dir="auto">Now we want to set up our miner name and key while still in config.ini these are instructions to set up a new account name which will create a new account in steemit. to check if the name is available got to steemit and in the url bar put the user name you want in. i.e.<br /><br />
if it then says 'account unknown' then your name is available.<span>
<a href="https://steemit.com/@pcste01" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/@pcste01 (replace pcste01 with the name you want)
<p dir="auto">firstly we need a wif key (Wallet import format key)<br />
if you want to use an existing steemit account name then use the active private key on your steemit account. (listed in permissions on steemit)
<p dir="auto">if creating a new account :<br /><br />
save the page (right mouse click, save page as)<br />
once downloaded open the downloaded page move your mouse around until you see the percentage go up to 100%<br />
then click on 'bulk wallet' and UNCHECK Compressed addresses (so there is no tick in the box)<br />
click 'generate'<br />
now copy 1 of the wif private keys on the right hand side (private key begins with a 5)<span>
open a web browser and go to <a href="https://www.bitaddress.org" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://www.bitaddress.org open an internet browser
<p dir="auto">go back to your nano window and find the line :<br />
<code># name of witness controlled by this node (e.g. initwitness )<br />
<code># witness =<br />
and remove the # and put your name you want to mine with<br />
<code># name of witness controlled by this node (e.g. initwitness )<br />
<code>witness = "pcste01"<br />
(replace pcste01 with your name)
<p dir="auto">then just below find the line :<br />
<code># name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )<br />
<code># miner =<br />
and change to :<br />
<code># name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )<br />
<code>miner = ["pcste01","put your wif key here"]<br />
as before, remove the # and replace pcste01 with your name and replace put your wif key here with the wif key you have just copied from the bitaddress page (or from your steemit permissions)
<p dir="auto">if you want more than 1 miner then add more witness's and miner details. e.g.<br />
<code># name of witness controlled by this node (e.g. initwitness )<br />
<code>witness = "pcste01"<br />
<code>witness = "pcste02"<br />
<code>witness = "pcste03"
<p dir="auto"><code># name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )<br />
<code>miner = ["pcste01","wifkey"]<br />
<code>miner = ["pcste02","wifkey"]<br />
<code>miner = ["pcste03","wifkey"]
<p dir="auto">next line underneath, change the mining threads. i have a 4 core processor so i have 4 threads enabled<br />
<code># Number of threads to use for proof of work mining<br />
<code>mining-threads = 4
<p dir="auto">now scroll to bottom of file and change the log levels to info<br />
<code># route any messages logged to the default logger to the "stderr" logger we<br />
<code># declared above, if they are info level are higher<br />
[logger.default]<br />
level=info<br />
appenders=stderr
<p dir="auto"><code># route messages sent to the "p2p" logger to the p2p appender declared above<br />
[logger.p2p]<br />
level=info<br />
appenders=p2p
<p dir="auto">now save config.ini by pressing Ctrl and o<br />
then enter<br />
now press Ctrl and x to exit.
<p dir="auto">now move up a level back into the folder steemd<br />
type :<br />
<code>cd ..<br />
enter
<p dir="auto">type :<br />
<code>sudo mount -o remount,size=10G /dev/shm<br />
enter
<p dir="auto">now we want to run steemd.<br />
type :<br />
<code>./steemd
<p dir="auto">steemd will now sync with the blockchain so may take a while. once it has synced you should start the mining process.<br />
if you want to stop steemd at any point press Ctrl and c for a clean shutdown, this will ensure you start steemd next time without having to re sync the blockchain.
<p dir="auto">when mining you should see this :<br /><span>
<img src="https://images.hive.blog/768x0/https://s26.postimg.org/4lf3i70wp/vmware5.png" srcset="https://images.hive.blog/768x0/https://s26.postimg.org/4lf3i70wp/vmware5.png 1x, https://images.hive.blog/1536x0/https://s26.postimg.org/4lf3i70wp/vmware5.png 2x" />
<p dir="auto">sources i used.<br /><br /><br /><br /><br /><span>
<a href="https://steemit.com/mining/@abit/steem-v0-16-0-brief-mining-guide" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/mining/@abit/steem-v0-16-0-brief-mining-guide<span>
<a href="https://steemit.com/steem/@pfunk/guide-maximize-your-mining-hashrate-in-windows-by-mining-steem-in-a-vm" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/steem/@pfunk/guide-maximize-your-mining-hashrate-in-windows-by-mining-steem-in-a-vm<span>
<a href="https://steemit.com/steemhelp/@joseph/mining-steem-for-dummies" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/steemhelp/@joseph/mining-steem-for-dummies<span>
<a href="https://github.com/steemit/steem" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://github.com/steemit/steem<span>
<a href="https://status.steemnodes.com/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://status.steemnodes.com/
<p dir="auto">links to some of my other tutorials and projects.<br /><br /><br /><br /><br /><br /><span>
<a href="https://steemit.com/mining/@pcste/how-to-build-your-own-gpu-mining-rig-frame-stackable-option-for-farms" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/mining/@pcste/how-to-build-your-own-gpu-mining-rig-frame-stackable-option-for-farms<span>
<a href="https://steemit.com/photography/@pcste/pcste-s-photography-tutorials-how-to-make-your-own-photography-paper-cyanotype-easy-process" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/photography/@pcste/pcste-s-photography-tutorials-how-to-make-your-own-photography-paper-cyanotype-easy-process<span>
<a href="https://steemit.com/steemit/@pcste/total-crypto-newbie-guide-how-to-turn-your-steem-into-btc-and-fiat-cash" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/steemit/@pcste/total-crypto-newbie-guide-how-to-turn-your-steem-into-btc-and-fiat-cash<span>
<a href="https://steemit.com/photography/@pcste/pcste-s-photography-tutorials-introducing-digital-transfer-film-we-ve-come-full-circle-digital-back-to-analogue" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/photography/@pcste/pcste-s-photography-tutorials-introducing-digital-transfer-film-we-ve-come-full-circle-digital-back-to-analogue<span>
<a href="https://steemit.com/steemit/@pcste/new-website-www-howtosteemit-com-simple-newbie-instructions-first-test-stage-please-give-feedback" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/steemit/@pcste/new-website-www-howtosteemit-com-simple-newbie-instructions-first-test-stage-please-give-feedback<span>
<a href="https://steemit.com/steemit/@pcste/new-website-steemfriends-com-social-site-for-steem-users-alpha-stage-testers-needed-please-give-feedback" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/steemit/@pcste/new-website-steemfriends-com-social-site-for-steem-users-alpha-stage-testers-needed-please-give-feedback
This is the best and the most straightforward guide about steem mining so far. Congratulations!
I have an urge to try it immediately :)
How about the forthcoming hard fork and steem mining? Will the mining still continue after the fork? Thank you!
Thanks :-)
I do believe mining will continue, however when HF17 comes a new patch may be required. thats why i thinks its good to keep up to date with the mining process. steem is still evolving
What about for Windows? :)
currently the only way to run in windows is by using a virtual machine like in this tutorial.
why not give it a try, if you get stuck i can try and help. theres also helpfull steemians on mining chat that guide you. https://steemit.chat/channel/mining
There used to be a way, using steem-win64 miner. Has it changed?
yes. currently afaik its only possible to mine with @abit's patch for hardfork 16 which . I don't think anybody has upgraded a windows version yet to hardfork 16.
Your post has been added to Steem Data Resources - Collection Of Posts About Steem Bots, Data And Mining, Issue No. 3.
Thank you very much for your work and contribution!
Awesome thank you. Would some other miners like to share what hardware they are using?
If I could upvote this again I would. Thanks so much!
That is what i was looking for pff you read my mind.
Im gonna stick to buying steem like I have until now. Mining looks like brain surgery
Thanks for the tutorial. Some basic questions.
What kind of hardware is necessary to mine effectively?
How much Steem could you expect to mine per day?
Im unsure what the minimum spec is atm as @abits patch addresses some of the previous hardware issues like ram. i asked a similar question in mining chat. here a reply from @bitcoiner "I don't think the hashrate and in turn the number of pows found and blocks produced relate to the hardware specs anymore as it used to, because with abit's mining shortcut, you aren't actually doing work and just keep submitting" https://steemit.chat/channel/mining?msg=nseuJchmz4hTKMv6b
I believe with @abit's code you don't need as much ram as its using virtual ram so i think people will be able to mine with a lower spec than before. all i can say is give it a try. what spec machine do you have?
with regard to how much steem you can expect, unfortunately its currently not a lot atm, maybe 1 or 2 steem per day. but as with all crypto-currencies things change over time. bitcoin wasn't worth much originally and now look at it. so those few steem might be worth a lot in the future. also mining algo's change so there will be more efficient future mining as time goes on. As its not really costing me to mine atm as i have my pc on all the time anyway, i might as well keep mining so i have knowledge and experience for when things do change again.
Also i would like to be a witness so this is experience and not wasted time even though it doesn't return me much revenue.
Another thing, you can also use mining to create new accounts
ok ive edited the post slightly, some of the lines where showing as bold headers because of the hashtag affecting the post's markdown code. should be easier to read now.
ive also added links to some of my other tutorials and projects.
Thanks everyone for the interest in this post, it took me a long time to do so it makes it worthwhile to get good feedback. :-)
Thanks for sharing! Your post was included in the Steem.center wiki page about Setting up a Miner as a recommended link. Thanks and good luck again!
Thank you been looking for something like this for the raspberry voted and followed thanks again Karl
You have provided a great source of information on Steem mining. I am looking forward to follow your instructions. Thank you!
Im afraid mining is no longer possible. you can become a witness tho.
If mining is not possible, then how Steemit generate Steems for their rewarding? Is mining banned for the internet users and only Steemit consortium is doing the mining?
mining is replaced by witnesses, a witness signs a block just like a miner would do, but to be a witness you have to be voted in . so the witnesses (miners) are delegated by the majority of steemians voting for them.
So, how to become a witness? Do you have any idea?
Yes. I am a witness. I can point you in the right direction.
I will get back to you with some information.
Feel free to contact me in chat :-)
MINING DRONE