Skip to content
A basic implementation of a cryptocurrency, TCNCoin, and a mining based transactional network based on the BitCoin Specification
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Fixed an issue on block decode Mar 25, 2018
vendor added a couple go gets Apr 1, 2018
.gitignore Initial commit Mar 7, 2018
.travis.yml Removed the Go Vet for now. Apr 10, 2018
CODE_OF_CONDUCT.md adding code of conduct Mar 20, 2018
CONTRIBUTING.md added Contrib Mar 20, 2018
LICENSE Initial commit Mar 7, 2018
README.md Updated motivation section, added slack channel Apr 9, 2018
base58.go Finished implementing address creation/validation and wallet creation Mar 25, 2018
block.go
block.val
blockchain.db
blockchain.go Fixed an issue on block decode Mar 25, 2018
cli.go Finished implementing address creation/validation and wallet creation Mar 25, 2018
main.go
proofofwork.go Finished implementing address creation/validation and wallet creation Mar 25, 2018
transactions.go Finished implementing address creation/validation and wallet creation Mar 25, 2018
wallet.dat
wallet.go Fixed an issue on block decode Mar 25, 2018
wallets.go Finished implementing address creation/validation and wallet creation Mar 25, 2018

README.md

Transactional Cryptocurrency Network

Transactional Cryptocurrency Network, TCN, is a simple blockchain and cryptocurrency implemented in Go. TCN supports wallets, block mining, transactions and a distributed network.

Motivation

I decided to start this project as a way to gain a better understanding for blockchain technology. It is a living research project that has loosely implements the bitcoin specification. Anyone interested in building anything stable upon TCN is encouraged to fork it first, since given the reseach project status, backwards breaking changes are likely.

Getting Started

These instructions will help you get TCN installed and gat the initial blockchain created and mine the Genesis block.

Installing

There are 2 methods to install TCN:

Install with go get

go get -u github.com/jplesperance/tcn

Clone the reop and install

cd $GOPATH/src/github.com/jplesperance
git clone https://github.com/jplesperance/tcn
cd tcn
go install -v

Usage

Create the blockchain

When creating the blockchain, you must specify an address, that address will recieve credit(coins) for the mining of the Genesis block

tcn createblockchain -address <wallet-address>

Getting the balance of a wallet

tcn getbalance -address <wallet-address>

Send coins to another wallet

tcn send -to <destination-wallet> -from <source-wallet> -amount <amount of coins to send>

Print all the blocks of the blockchain

tcn printchain

Slack Channel for TCH

TCN Platform Official Slack

Built With

  • BoltDB - BoltDB: embedded k/v database for Go

Contributing

Please read CONTRIBUTING.md

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

You can’t perform that action at this time.