Go to file
Ivan Kuznetsov 668d209f5e Implement Merkle tree 2017-09-18 12:45:58 +07:00
.gitignore Save wallet to a file 2017-09-07 16:42:38 +07:00
README.md Update README 2017-09-12 21:18:50 +07:00
base58.go Clean up base58.go 2017-09-10 11:42:11 +07:00
block.go Clean up block.go; rework transaction hashing 2017-09-10 12:02:46 +07:00
blockchain.go FindAllUTXO → FindUTXO 2017-09-17 12:44:43 +07:00
blockchain_iterator.go Extract some structs into separate files 2017-09-10 10:54:58 +07:00
cli.go Improve UTXOSet 2017-09-17 10:30:30 +07:00
cli_createblockchain.go Reindex the UTXO set after creating a new blockchain 2017-09-17 12:37:45 +07:00
cli_createwallet.go Extract CLI commands into separate files 2017-09-10 12:53:06 +07:00
cli_getbalance.go Use the UTXO set to get balance 2017-09-17 11:01:29 +07:00
cli_listaddress.go Extract CLI commands into separate files 2017-09-10 12:53:06 +07:00
cli_printchain.go Remove the 'address' argument from NewBlockchain, since it's not used anymore 2017-09-17 10:43:23 +07:00
cli_reindexutxo.go Rename UTXOSet.GetCount to UTXOSet.CountTransactions 2017-09-18 10:41:36 +07:00
cli_send.go Update the UTXO set after mining a new block 2017-09-17 12:21:24 +07:00
main.go Implement 'createblockchain' command 2017-09-03 11:17:10 +07:00
merkle_tree.go Implement Merkle tree 2017-09-18 12:45:58 +07:00
merkle_tree_test.go Implement Merkle tree 2017-09-18 12:45:58 +07:00
proofofwork.go Set PoW target to 24 2017-09-04 11:32:59 +07:00
transaction.go Use the UTXO set to send coins 2017-09-17 11:49:59 +07:00
transaction_input.go Store input sig and key in different fields; rename TXInput.ScriptPubKey to PubKeyHash 2017-09-10 14:05:23 +07:00
transaction_output.go Implement DeserializeOutputs 2017-09-17 11:01:06 +07:00
utils.go Implement address generation and wallets 2017-09-07 14:18:12 +07:00
utxo_set.go Refactor something in UTXOSet 2017-09-18 11:01:24 +07:00
wallet.go Fix the 'checksum' function 2017-09-12 20:57:19 +07:00
wallets.go Extract some structs into separate files 2017-09-10 10:54:58 +07:00

README.md

Blockchain in Go

A blockchain implementation in Go, as described in these articles:

  1. Basic Prototype
  2. Proof-of-Work
  3. Persistence and CLI
  4. Transactions 1
  5. Addresses