Clone or download
furiousteam Merge pull request #7 from furiousteam/dev
BLOC wallet update v2.0.2
Latest commit e4a405d Oct 7, 2018


A secure, private, decentralized, egalitarian, fungible, fast cryptocurrency.

License: GPL v3

Key FeaturesHow To UseDownloadAPI ReferencesRelatedLicense

Key Features

  • Decentralized
  • True egalitarian Proof of Work
  • Secure
  • Private
  • Untraceable
  • Transparent
  • Fast transactions speeds
  • Fungible
  • Double spending protection

The is the new digital cash powered by an open-source blockchain with anonymous transactions including exclusive mining tools which provide a true egalitarian money distribution. Everybody can earn passive income while sleeping or just anywhere, anytime by simply using a mobile phone.

Our Proof Of Work algorithm is designed to make low end and high end hardware mining roughly equally efficient and restrict ASIC mining.

How to Use

To clone and build the BLOC core, you'll need Git installed on your computer. From your command line:

# Clone this repository
$ git clone

# Go into the repository
$ cd BLOC

macOS instructions

After installing Xcode, make sure the Command Line Tools are installed as well:

xcode-select --install

BLOC also needs CMake 2.8.6 or later as well as Boost 1.55 (make sure Homebrew is also installed):

brew install cmake
brew install boost

Build everything:


Ubuntu (16.04) instructions

Install the needed dependencies:

apt-get update
apt-get install sudo
sudo apt-get -y install build-essential cmake libboost-all-dev  vim git pkg-config
sudo apt-get -y install libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev
sudo apt-get -y install liblzma-dev libreadline6-dev libldns-dev libexpat1-dev doxygen graphviz
sudo apt-get -y install libgtest-dev git

Build everything:


Windows instructions

Make sure to install the following dependencies:

To build everything, inside the project folder:

mkdir build
cd build
cmake -DSTATIC=1 -Wno-dev ^
-DCMAKE_PREFIX_PATH="C:\Qt\Qt5.10.0\5.10.0\msvc2015_64" ^
-DBOOST_ROOT="C:\local\boost_1_64_0_64" ^
-DBOOST_INCLUDEDIR="C:\local\boost_1_64_0_64\lib64-msvc-14.1" ^
-DBOOST_LIBRARYDIR="C:\local\boost_1_64_0_64\libs" ^
-G "Visual Studio 15 Win64" ..

# Open Solution file in Build folder and Build Release.

If you are building on an older processor without AVX support, add the following options to cmake:


Advanced settings

  • Parallel build: use make -j<number of threads> instead of make.
  • Debug build: run make build-debug.
  • Test suite (Release): run make test-release to run tests in addition to building.
  • Test suite (Debug): run make test-debug to run tests in addition to building.
  • Building with Clang: it's possible to use Clang instead of GCC. To build, run export CC=clang CXX=clang++ before running make.


BLOCd is used to sync the blockchain locally and is needed to run simplewallet, walletd and miner.



  exit            Shutdown the daemon
  help            Show this help
  print_bc        Print blockchain info in a given blocks range, print_bc <begin_height> [<end_height>]
  print_block     Print block, print_block <block_hash> | <block_height>
  print_cn        Print connections
  print_pl        Print peer list
  print_pool      Print transaction pool (long format)
  print_pool_sh   Print transaction pool (short format)
  print_tx        Print transaction, print_tx <transaction_hash>
  set_log         set_log <level> - Change current log level, <level> is a number 0-4

The complete API reference is available here:


simplewallet is a simple CLI wallet for BLOC.


Usage: simplewallet [--wallet-file=<file>|--generate-new-wallet=<file>] [--daemon-address=<host>:<port>] [<COMMAND>]
General options:
  --help                          Produce help message
  --version                       Output version information

Wallet options:
  --wallet-file arg               Use specified wallet file
  --password arg                  Wallet password to open the wallet
  --remote-daemon arg             Connect to the remote daemon at <url:port> using RPC Port
  --rpc-bind-ip arg (=  Specify ip to bind rpc server
  --rpc-bind-port arg             Starts wallet as rpc server for wallet
                                  operations, sets bind port for server
  --rpc-password arg              Specify the password to access the rpc
  --rpc-legacy-security           Enable legacy mode (no password for RPC).
                                  WARNING: INSECURE. USE ONLY AS A LAST RESORT.
  --generate-new-wallet arg       Generate new wallet and save it to <arg>
  --daemon-host arg               Use daemon instance at host <arg> instead of
  --daemon-port arg (=0)          Use daemon instance at port <arg> instead of
  --command arg
  --set_log arg
  --testnet                       Used to deploy test nets. The daemon must be
                                  launched with --testnet flag

  help                 Show this help
  reset                Discard cache data and start synchronizing from the start
  bc_height            Show blockchain height
  balance              Show current wallet balance
  export_keys          Show wallet private keys
  address              Show current wallet public address
  exit                 Close wallet
  save                 Save wallet synchronized data
  incoming_transfers   Show incoming transfers
  outgoing_transfers   Show outgoing transfers
  list_transfers       Show all known transfers
  quick_optimize      Quickly optimize your wallet to send large amounts
  full_optimize       Fully optimize your wallet to send large amounts
  transfer             transfer <mixin_count> <addr_1> <amount_1> [<addr_2> <amount_2> ... <addr_N> <amount_N>] [-p payment_id] [-f fee] - Transfer <amount_1>,... <amount_N> to <address_1>,... <address_N>, respectively. <mixin_count> is the number of transactions yours is indistinguishable from (from 0 to maximum available)
  payments             payments <payment_id_1> [<payment_id_2> ... <payment_id_N>] - Show payments <payment_id_1>, ... <payment_id_N>
  set_log              set_log <level> - Change current log level, <level> is a number 0-4
  start_mining         start_mining [<number_of_threads>] - Start mining in daemon
  stop_mining          Stop mining in daemon

You can also specify various settings for the RPC interface:

./simplewallet --wallet-file filename --password yourpassword --rpc-bind-ip= --rpc-bind-port 2053 --rpc-password rpcpassword

The complete API reference is available here:


walletd is a more advanced CLI wallet that can handle many wallets at once inside a container.

Start by creating a config file:

container-file = yourfile
container-password = password
daemon-port = 2086
bind-port = 2053
testnet = no
bind-address =
rpc-password = rpcpassword

Then generate the container:

./walletd --container-file=mywallet --container-password=password --generate-container

Start walletd:

./walletd --config=yourfile.conf --rpc-password yourrpcpassword

The complete API reference is available here:


You can download latest stable version of the BLOC software for Windows, macOS and Linux.

API References



GPL v3