b.blocks = append(b.blocks, createBlock("Genesis Block"))
func (b *blockchain) AddBlock(data string){
b.blocks = append(b.blocks, createBlock(data))
}
func GetBlockchain() *blockchain {
if b == nil {
once.Do(func() {
b = &blockchain{}
b.AddBlock("Genesis")
})
}
return b
}
func main() {
chain := blockchain.GetBlockchain()
chain.AddBlock("Second Block")
chain.AddBlock("Thrid Block")
chain.AddBlock("Fourth Block")
}
type blockchain struct {
Blocks []*block
}
func AllBlocks() []*block {
return GetBlockchain().blocks
}
func (b *blockchain) AllBlocks() []*block {
return b.blocks
}
func main() {
chain := blockchain.GetBlockchain()
chain.AddBlock("Second Block")
chain.AddBlock("Thrid Block")
chain.AddBlock("Fourth Block")
chain.AllBlocks()
}
type block struct {
Data string
Hash string
PrevHash string
}
func main() {
chain := blockchain.GetBlockchain()
chain.AddBlock("Second Block")
chain.AddBlock("Thrid Block")
chain.AddBlock("Fourth Block")
for _, block := range chain.AllBlocks() {
fmt.Printf("Data : %s\n", block.Data)
fmt.Printf("Hash : %s\n", block.Hash)
fmt.Printf("PrevHash : %s\n", block.PrevHash)
}
}
Data : Genesis
Hash : 81ddc8d248b2dccdd3fdd5e84f0cad62b08f2d10b57f9a831c13451e5c5c80a5
PrevHash :
Data : Second Block
Hash : f41b519bca7a353b19581ebc9b23c1e4db2d92cfe25a7fb5c5df3768604df5e2
PrevHash : 81ddc8d248b2dccdd3fdd5e84f0cad62b08f2d10b57f9a831c13451e5c5c80a5
Data : Thrid Block
Hash : 13ddd629f599f0206445a1930d7ad6dd4605a33b7519475657145c1d8cef4863
PrevHash : f41b519bca7a353b19581ebc9b23c1e4db2d92cfe25a7fb5c5df3768604df5e2
Data : Fourth Block
Hash : 065956b3be69e0b04cd0e6a43c4b737d4f529121d97b1d189b13aa053aabe6b4
PrevHash : 13ddd629f599f0206445a1930d7ad6dd4605a33b7519475657145c1d8cef4863
출처 : 노마드코인, 노마드코더
[Nomad Coin] Explorer - #5.1 Rendering Templates (0) | 2022.07.17 |
---|---|
[Nomad Coin] Explorer - #5.0 Setup (0) | 2022.07.16 |
[Nomad Coin] Blockchain - #4.4 Refactoring part One (0) | 2022.07.16 |
[Nomad Coin] Blockchain - #4.3 Singleton Pattern (1) | 2022.07.15 |
[Nomad Coin] Blockchain - #4.2 Our First Blockchain (0) | 2022.07.14 |
댓글 영역