How to obtain the STEEM client

From Steem Center
Jump to: navigation, search

One popular client for STEEM is known as steemd. Witnesses, seeds, and miners all run this client. Other clients - such as Steemit.com and Busy.org - are not independent clients, but rely on Steemd to function. Steemd is open source and is available on Github here: https://github.com/steemit/steem

Some Operating System's have binaries available, however you may have to compile the client in some cases.


Running CLI Wallet without a Steem Daemon

You can run CLI Wallet against any public seed if you don't have the resources (or just don't want) to run steemd.

   cli_wallet -s wss://rpc.buildteam.io

If you're on Windows, you may need to download cacert.pem to avoid SSL errors:

Download here: https://curl.haxx.se/ca/cacert.pem

With cacert in the same directory, you can now run:

   cli_wallet -a cacert.pem -s wss://rpc.buildteam.io

Windows

Binaries

There are binaries (pre-compiled client) available for Windows, they are built by @bitcube.

The latest binaries (0.13.0) are available here: https://steemit.com/steem/@bitcube/steem-windows-wallet-and-miner-v0-13-0

Compilation instructions

Unknown

OSX

Binaries

Unknown

Compilation instructions

Unknown

Ubuntu/Debian Linux

Binaries

A prebuilt docker image has been produced. This works across all Linux (and possibly OSX/Windows) platforms as it is self contained.

docker pull steemit/steem

The docker image contains steemd and cli_wallet. See steemit/steem github quickstart documentation for details how to get started with the docker image.

There are no known prebuilt .deb packages as of yet.

Compilation instructions

These instructions have been tested on a completely untouched Ubuntu 16.04 - for older versions, or different debian derivatives, you may need to alter package names, or compile them by hand.

Some parts of these instructions have been copied from https://steem.io/documentation/how-to-build/ with several additions, including many missing dependencies, and correct submodule initialization.

Step 1 - Obtaining the dependencies

   apt-get update
   apt-get install -y gcc-4.9 g++-4.9 cmake make libbz2-dev libdb++-dev libdb-dev
   apt-get install -y libssl-dev openssl libreadline-dev autoconf libtool git
   apt-get install -y autotools-dev build-essential g++ libbz2-dev libicu-dev python-dev wget doxygen python3 python3-dev

Step 2 - Build Boost 1.60

Unfortunately, even with 16.04, the latest Boost available is 1.59 - because of this you'll need to compile BOOST by hand.

Please be aware this process can take upwards of 1 hour or longer depending on how powerful your system is.

   export BOOST_ROOT=$HOME/opt/boost_1_60_0 && \
   wget -c 'http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2/download'-O boost_1_60_0.tar.bz2
   tar xjf boost_1_60_0.tar.bz2
   cd boost_1_60_0/
   ./bootstrap.sh "--prefix=$BOOST_ROOT"
   ./b2 install

Step 3 - Build Steemd

   cd ~
   git clone https://github.com/steemit/steem.git
   cd steem
   git submodule update --init --recursive
   export BOOST_ROOT=$HOME/opt/boost_1_60_0
   cmake -DBOOST_ROOT="$BOOST_ROOT" -DCMAKE_BUILD_TYPE=Release .
   make && sudo make install

Step 4 - Configure Steem

First, make sure you're in the directory where you want your data files to go. Steem will create a folder called witness_node_data_dir in whatever directory you're currently in.

Once you're sure this is where you want the data dir to go, run Steem to generate a config file:

   /usr/local/bin/steemd

Press Ctrl-C after Steem starts up, this is to simply allow it to generate a config file.

Now, you can open config.ini and modify to your requirements. It's recommended to remove the account_history history plugin unless you know you're using it.

   vim witness_node_data_dir/config.ini # or nano, whatever your preferred text editor is

Be aware that you'll need to add some seed nodes to config.ini for your steem daemon to work. The seed ran by the owner of this wiki is seed.steem.network (a better alias for steemit-seed.someguy123.com) You can find up-to-date steem seeds at http://status.steemnodes.com

   seed-node = seed.steem.network:2001
   seed-node = seed.riversteem.com:2001
   seed-node = 52.74.152.79:2001

Once you've done this, you'll be able to launch steemd correctly using (will not fork into the background, so may want to run it in screen/tmux):

   $ /usr/local/bin/steemd --rpc-endpoint --replay-blockchain

You can check the status of your steem daemon by running cli_wallet and running the info command

  $ /usr/local/bin/cli_wallet
  ---------------------
  >>> info
  {
       ...
       "head_block_num": 1234,
       "head_block_age": "19 weeks old",
       ...
  }

Links

Related articles

In other languages




Help keep this wiki page updated. Register, click in edit, add or modify the text and save.
If you're already a steemian you can be rewarded with STEEM, see how in @steemcenterwiki.