# Basecoin _DISCLAIMER: Basecoin is not associated with Coinbase.com, an excellent Bitcoin/Ethereum service._ Basecoin is an [ABCI application](https://github.com/tendermint/abci) designed to be used with the [Tendermint consensus engine](https://tendermint.com/) 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](https://cosmos.network). 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. ## Prerequisites * Go to https://golang.org/doc/install to install Golang. * You will also need to set the $GOPATH environment variable as per the instructions [here](https://golang.org/doc/code.html#GOPATH). ## Installation On a good day, basecoin can be installed like a normal Go program: ``` go get -u github.com/tendermint/basecoin/cmd/basecoin ``` If that fails, or if another branch is required, you may have to compile from source. You will first need to install the Golang package manager [`glide`](https://github.com/Masterminds/glide). ``` 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 100btc,10gold` See `basecoin --help` and `basecoin [cmd] --help` for more details`. ## Learn more 1. Getting started with the [Basecoin tool](/docs/guide/basecoin-basics.md) 1. Learn more about [Basecoin's design](/docs/guide/basecoin-design.md) 1. Extend Basecoin [using the plugin system](/docs/guide/example-plugin.md) 1. Learn more about [plugin design](/docs/guide/plugin-design.md) 1. See some [more example applications](/docs/guide/more-examples.md) 1. Learn how to use [InterBlockchain Communication (IBC)](/docs/guide/ibc.md) 1. [Deploy testnets](deployment.md) running your basecoin application.