|
|
|
@ -2,16 +2,26 @@ package main
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
"encoding/hex" |
|
|
|
|
"encoding/json" |
|
|
|
|
"fmt" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// Transaction struct
|
|
|
|
|
type Transaction struct { |
|
|
|
|
Sender string |
|
|
|
|
Receiver string |
|
|
|
|
Amount int |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
blockchain := newBlockchain() |
|
|
|
|
|
|
|
|
|
block := newBlock(blockchain.blocks[0].Hash, []byte("I am the first block!!")) |
|
|
|
|
data, _ := json.Marshal(Transaction{Sender: "foo", Receiver: "bar", Amount: 100}) |
|
|
|
|
block := newBlock(blockchain.blocks[0].Hash, data) |
|
|
|
|
blockchain.addBlock(block) |
|
|
|
|
|
|
|
|
|
block = newBlock(blockchain.blocks[1].Hash, []byte("This is number two")) |
|
|
|
|
data2, _ := json.Marshal(Transaction{Sender: "bar", Receiver: "baz", Amount: 5000}) |
|
|
|
|
block = newBlock(blockchain.blocks[1].Hash, data2) |
|
|
|
|
blockchain.addBlock(block) |
|
|
|
|
|
|
|
|
|
for i := 0; i < len(blockchain.blocks); i++ { |
|
|
|
@ -20,7 +30,9 @@ func main() {
|
|
|
|
|
fmt.Println("Block " + string(i)) |
|
|
|
|
fmt.Println(hex.EncodeToString(block.PreviousHash)) |
|
|
|
|
fmt.Println(hex.EncodeToString(block.Hash)) |
|
|
|
|
fmt.Println() |
|
|
|
|
|
|
|
|
|
data := string(block.Data) |
|
|
|
|
fmt.Println("Data: " + data) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|