/shinjiru

simple blockchain implementation in golang

Primary LanguageGoMIT LicenseMIT

Blockchain implementation in golang

Features:

  • Low level badger db (uses leveldb under the hood)

  • Using proof of work

  • Merkle tree

  • Cli tool

  • Can be run using docker

Const difficulty (10) :(

  • You can use some difficulty algorithms to calculate the difficulty

Project structure:

shinjiru
│
├── blockchain
│   ├── blockchain.go
│   ├── block.go
│   ├── chain_iter.go
│   ├── merkle.go
│   ├── merkle_test.go
│   ├── proof.go
│   ├── transaction.go
│   ├── tx.go
│   └── utxo.go
├── cli
│   └── cli.go
├── cmd
│   └── main.go
├── Dockerfile
├── go.mod
├── go.sum
├── network
│   └── network.go
├── README.md
├── tmp
│   └── blocks
│       └── keep.txt
└── wallet
    ├── utils.go
    ├── wallet.go
    └── wallets.go

Installation

git clone https://github.com/nezutero/shinjiru

Usage

cd cmd
go run main.go
  • Or use Docker:
docker build -t your_image_name .
docker run -d -p 8080:80 your_image_name

Contributing

  • Pull requests are welcome, for major changes, please open an issue first to discuss what you would like to change.

License