• Stars
    star
    264
  • Rank 155,063 (Top 4 %)
  • Language
    Go
  • Created about 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A basic implementation of Blockchain

GoChain

A basic implementation of blockchain in go.

Building

$ cd cmd
$ go build -o gochain

Usage

Starting a node

You can start as many nodes as you want with the following command

./gochain -port=<port-number>

Endpoints

Requesting the Blockchain of a node

  • GET 127.0.0.1:8000/chain

Mining some coins

  • GET 127.0.0.1:8000/mine

Adding a new transaction

  • POST 127.0.0.1:8000/transactions/new

  • Body: A transaction to be added

    {
      "sender": "sender-address-te33412uywq89234g",
      "recipient": "recipient-address-j3h45jk23hjk543gf",
      "amount": 1000
    }

Register a new node in the network

Currently you must add each new node to each running node.

  • POST 127.0.0.1:8000/nodes/register

  • Body: A list of nodes to add

    {
       "nodes": ["http://127.0.0.1:8001", <more-nodes>]
    }

Resolving Blockchain differences in each node

  • GET 127.0.0.1:8000/nodes/resolve