Browse Source

Fix mining

gRPC
garritfra 6 years ago
parent
commit
6154951cd5
  1. 5
      core/Blockchain.go
  2. 9
      core/Server.go

5
core/Blockchain.go

@ -14,16 +14,15 @@ type Blockchain struct {
// AddBlock adds a block to the chain
func (bc *Blockchain) AddBlock(block Block) {
block.PreviousHash = bc.GetLastHash()
log.Print("Mining Block...")
// Mine Block
for {
hash := calculateHash(block)
if strings.HasPrefix(hash, "00000") {
if strings.HasPrefix(hash, "0000") {
block.Hash = hash
block.Timestamp = time.Now()
block.PreviousHash = bc.GetLastHash()
bc.blocks = append(bc.blocks, block)
log.Print("Block Added: ", block.Hash)
break

9
core/Server.go

@ -21,7 +21,14 @@ func StartServer() {
transaction := Transaction{Sender: "foo", Receiver: "bar", Amount: 100}
block.AddTransaction(transaction)
blockchain.AddBlock(block)
go blockchain.AddBlock(block)
block = Block{}
transaction = Transaction{Sender: "bar", Receiver: "baz", Amount: 500}
block.AddTransaction(transaction)
go blockchain.AddBlock(block)
http.HandleFunc("/", redirect)
http.HandleFunc("/blockchain", listBlocks)

Loading…
Cancel
Save