cosmos-sdk/README.md

2.4 KiB

Basecoin

DISCLAIMER: Basecoin is not associated with Coinbase.com, an excellent Bitcoin/Ethereum service.

Basecoin is an ABCI application designed to be used with the Tendermint consensus engine to form a Proof-of-Stake cryptocurrency. It also provides a general purpose framework for extending the feature-set of the cryptocurrency by implementing plugins.

Basecoin serves as a reference implementation for how we build ABCI applications in Go, and is the framework in which we implement the Cosmos Hub. It's easy to use, and doesn't require any forking - just implement your plugin, import the basecoin libraries, and away you go with a full-stack blockchain and command line tool for transacting.

WARNING: Currently uses plain-text private keys for transactions and is otherwise not production ready.

Installation

On a good day, basecoin can be installed like a normal Go program:

go get -u github.com/tendermint/basecoin/cmd/basecoin

In some cases, if that fails, or if another branch is required, we use glide for dependency management.

The guaranteed correct way of compiling from source, assuming you've already run go get or otherwise cloned the repo, is:

cd $GOPATH/src/github.com/tendermint/basecoin
git checkout develop # (until we release tendermint v0.9)
make get_vendor_deps
make install

This will create the basecoin binary in $GOPATH/bin.

Command Line Interface

The basecoin CLI can be used to start a stand-alone basecoin instance (basecoin start), or to start basecoin with Tendermint in the same process (basecoin start --in-proc). It can also be used to send transactions, eg. basecoin tx send --to 0x4793A333846E5104C46DD9AB9A00E31821B2F301 --amount 100 See basecoin --help and basecoin [cmd] --help for more details`.

Learn more

  1. Getting started with the Basecoin tool
  2. Learn more about Basecoin's design
  3. Extend Basecoin using the plugin system
  4. Learn more about plugin design
  5. See some more example applications
  6. Learn how to use InterBlockchain Communication (IBC)
  7. Deploy testnets running your basecoin application.