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