I have been using Steemit for the past couple of weeks now. Like a lot of other people who started mining Steem to get their early start, I followed several guides posted by more experienced members. Following these guides, I found that most were either not detailed enough or had steps which were either missing or in some instances incorrect. As a newbie this made getting started complicated and frustrating at the same time trying to figure everything out. Piecing together information from several guides, I finally got my miner started only to have to start from square one again once a hard fork came along which required updating files.
Over the course of the past few weeks, I have deployed miners on several PCs and Virtual Machines using both Windows and Linux. I have setup miners on various cloud platforms and have finally compiled a list of steps which has worked on every deployment and should continue to work in the event of any future hard forks that come along. I initially wrote an article on how to setup mining using a free Azure account but even that article had some confusing parts to follow.
This guide will hopefully help any newbie in setting up a miner for either Windows and/or Linux and serve as a one-stop-shop for everyone. I have also included videos of actual installations that I did which will take you through the entire setup process all the way until the miner starts mining.
Before I begin, thanks to ,
,
,
, and
for getting me started. I have gathered bits and pieces from their guides and added/updated some steps of my own to create a detailed walk through which should work for everyone.
I couldn't get HTML page anchors to work, so below are the different sections to this post. You can scroll down to the specific section you need help on:
Other optional Instructions
Setting up multiple miners - beneficial to have since your miner becomes idle when it enters the block mining queue
Setting up your wallet- This is purely Optional. Although you can control your wallet from your account profile on steemit.com, configuring it through the terminal and/or DOS will give you additional control over your earnings
Setting up a miner in windows is the faster and simpler of the two Operating Systems. There has been much debate on whether mining is more efficient in Windows or in Linux. I have found that mining in either environment produces the same result. The only difference i have noticed is that your mining indicator shows up as "false" when you mine with Windows. You are however, still mining and still receive POW notifications and earnings.
Step 1: (If you have not installed this yet) Download and Install the Visual C++ Redistributable Package for Visual Studio 2013 (Choose the correct package for your operating system x64 or x32 bit)
Step 2: Download the Steem Miner and Wallet for Windows (compiled by - This link should continue to contain the latest version of the miner)
Step 3: Extract the Files to a location on your PC. I usually extract them to the root c: or to the desktop to make it easier to find (in the video example below I extracted to the desktop and then moved it to the root c:)
Step 4: (optional) rename the extracted folder to Steem (or anything you like - this step will make it easier when you are trying to navigate to the folder in DOS)
Step 5: Download the latest Blockchain file (Click the "Download Steemit" blockchain button. This file is updated every 12 hours and will reduce the amount of time it takes your miner to sync after you complete the setup)
Step 6: Extract the contents to the desktop. by default the folder name is witness_node_data_dir.
Step 7: Open the witness_node_data_dir folder you just extracted and you will see another witness_node_data_dir folder. Copy this folder to your miner folder (the folder from steps 3 and 4 above)
Step 8: Open the witness_node_data_dir folder that you copied and right click on the config.ini file. Edit this file using Wordpad
Step 9: Previously you had to edit and update the seed nodes, but in the recent versions, the file comes with nodes pre-loaded. The only fields you will need to edit are the following:
# name of witness controlled by this node (e.g. initwitness )
witness = "your-steem-account-name"
make sure the account name is not taken by going to https://steemit.com/@your-steem-account-name
and
# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )
miner = ["your-steem-account-name","5YourPrivateWIFKeyIsVeryLong"]
you can find your WIF key by either logging into your steemit account and going to the Permissions section - use the ACTIVE Private Key
or if you don't yet have an account on steemit
you can generate one at bitaddress.org - Make sure you keep this in a safe place because it will serve as your password later when logging into your steemit account. (You will need to mine a block before the account will be created automatically at steemit.com)
the last field to change is
# Number of threads to use for proof of work mining
mining-threads = X
change X to the number of threads your CPU can support. 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".
Step 10: Save the file
Step 11: Open a DOS window and navigate to the location where you stored the folder you extracted in step 3
Step 12: type in steemd.exe --rpc-endpoint to start your miner. It should start syncing and then eventually start mining
Below is a video I made of the entire setup process from start to finish for Windows
Setting up a miner in Linux/Ubuntu is a little more complex - especially if you don't have experience with the operating system (like me.) Following is step-by-step instructions on how to setup and get your miner running. All you need to do is type in the following commands and follow each step and you should be good.
Step 1: Input all of the following commands in order 1 step at a time
sudo apt-get update
sudo apt-get 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
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
wget -O boost_1_60_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.gz/download
tar xzvf boost_1_60_0.tar.gz
cd boost_1_60_0
./bootstrap.sh --prefix=/usr/local
sudo ./b2 install
cd
git clone https://github.com/bitcoin/secp256k1
cd secp256k1
./autogen.sh
./configure
make
./tests
cd
git clone https://github.com/steemit/steem
cd steem
git submodule update --init --recursive
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONTENT_PATCHING=OFF -DLOW_MEMORY_NODE=ON
make
cd programs/steemd
wget http://steemitup.eu/witness_node_data_dir.tar.gz
tar xvzf witness_node_data_dir.tar.gz
cd witness_node_data_dir
Step 2: edit your config.ini file by typing the following command
nano config.ini
Previously you had to edit and update the seed nodes, but in the recent versions, the file comes with nodes pre-loaded. The only fields you will need to edit are the following:
# name of witness controlled by this node (e.g. initwitness )
witness = "your-steem-account-name"
make sure the account name is not taken by going to https://steemit.com/@your-steem-account-name
and
# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )
miner = ["your-steem-account-name","5YourPrivateWIFKeyIsVeryLong"]
you can find your WIF key by either logging into your steemit account and going to the Permissions section - use the ACTIVE Private Key
or if you don't yet have an account on steemit
you can generate one at bitaddress.org - Make sure you keep this in a safe place because it will serve as your password later when logging into your steemit account. (You will need to mine a block before the account will be created automatically at steemit.com)
the last field to change is
# Number of threads to use for proof of work mining
mining-threads = X
change X to the number of threads your CPU can support. 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".
Step 3: Save the file by pressing Ctrl+O and then press "Enter" to save.
Step 3: Press Ctrl+X to exit
Step 4: Type cd
Step 5: Type ./steemd --rpc-endpoint to start your miner. It should start syncing and then eventually start mining
Below is a video I made of the entire setup process from start to finish for Ubuntu (Its a long video)
It is beneficial to setup multiple miners. Because of the mining queue system, this will allow you to continue mining when your initial miner enters the Miner-witness queue. To accomplish this, you just need to edit your config.ini file described in the previous Windows and Linux sections. The only difference is instead of inputting the information for 1 miner, you will need to input information for the number of miners you want to create.
# name of witness controlled by this node (e.g. initwitness )
witness = "your-steem-account-name-1"
witness = "your-steem-account-name-2"
witness = "your-steem-account-name-3"
You will also need to input miner details for all your witness accounts you create
# name of miner and its private key (e.g. ["account","WIF PRIVATE KEY"] )
miner = ["your-steem-account-name-1","5YourPrivateWIFKeyIsVeryLong"]
miner = ["your-steem-account-name-2","5YourPrivateWIFKeyIsVeryLong"]
miner = ["your-steem-account-name-3","5YourPrivateWIFKeyIsVeryLong"]
You can use the same 5YourPrivateWIFKeyIsVeryLong Key if you like, but I would recommend different ones. You will also need to make sure none of the account names are taken as mentioned in the windows and linux setup instructions. New accounts will be created for each miner when a block is found if they don't already exist.
in Linux/Ubuntu:
start a new terminal window and type in the following commands:
cd steem/programs/cli_wallet
./cli_wallet
set_password "PASSWORD"
unlock "PASSWORD"
in Windows:
Open a DOS window and Navigate to your miner folder
Type in cli_wallet.exe and use the same commands as mentioned above
set_password "PASSWORD"
unlock "PASSWORD"
import_key 5YourPrivateWIFKeyIsVeryLong - From your config.ini file that you updated previously
ctrl + c - To Exit
There are other guides on Steemit which can explain the different functions, commands, and uses for your wallet
You can also use your wallet file to generate a WIF key using the following command after you unlock your wallet as described above
suggest_brain_key
The output would look something like this:
`{
"brain_priv_key": "FULK DEBUG EARTH IMAGINE BABBLE POPIFY PREFEED EMBIND FOREPAW KAHILI ...",
"wif_priv_key": "5JsPmgU1dfKu8SHWAWkBKw1XGz97Kwz4DLwgm2bSz99qtFqTAkp",
"pub_key": "STM73jgNRFLTKSTaGWv8QfXzSopUZBsQGmrECWPvpnemjyAcBfzAc"
}`
That's It! I hope this guide proves to be useful for everyone and is a helpful contribution to the steemit community. Please don't hesitate to comment and make suggestions. I will continue to update this if anything changes.