arnaucube
arnaucube/bcPublic Self-hosted repository
bc/peer/blockchainlib/messageHandler.go
peer/blockchainlib/messageHandler.goRaw
 1package blockchainlib
 2
 3import (
 4	"fmt"
 5
 6	p2plib "../p2plib"
 7)
 8
 9func (bc *Blockchain) CreateMsgHandlerCases() map[string]func(p2plib.Peer, p2plib.Msg) {
10	configuredMsgCases := make(map[string]func(p2plib.Peer, p2plib.Msg))
11	configuredMsgCases["Block"] = func(peer p2plib.Peer, msg p2plib.Msg) {
12		//TODO check if the block is signed by an autorized emitter
13		//block = msg.Data converted to Block
14		var block Block
15		if !bc.BlockExists(block) {
16			bc.AddBlock(block)
17			p2plib.PropagateData(peer, "block in string format")
18		}
19	}
20
21	fmt.Println(configuredMsgCases)
22	return configuredMsgCases
23}