19 lines
484 B
Go
19 lines
484 B
Go
package main
|
|
|
|
// Blockchain keeps a sequence of Blocks
|
|
type Blockchain struct {
|
|
blocks []*Block
|
|
}
|
|
|
|
// AddBlock saves provided data as a block in the blockchain
|
|
func (bc *Blockchain) AddBlock(data string) {
|
|
prevBlock := bc.blocks[len(bc.blocks)-1]
|
|
newBlock := NewBlock(data, prevBlock.Hash)
|
|
bc.blocks = append(bc.blocks, newBlock)
|
|
}
|
|
|
|
// NewBlockchain creates a new Blockchain with genesis Block
|
|
func NewBlockchain() *Blockchain {
|
|
return &Blockchain{[]*Block{NewGenesisBlock()}}
|
|
}
|