func (i *Noops) notifyBlockAdded(block *pb.Block, delta *statemgmt.StateDelta) error { //make Payload nil to reduce block size.. //anything else to remove .. do we need StateDelta ? for _, tx := range block.Transactions { tx.Payload = nil } data, err := proto.Marshal(&pb.BlockState{Block: block, StateDelta: delta.Marshal()}) if err != nil { return fmt.Errorf("Fail to marshall BlockState structure: %v", err) } if logger.IsEnabledFor(logging.DEBUG) { logger.Debug("Broadcasting OpenchainMessage_SYNC_BLOCK_ADDED to non-validators") } // Broadcast SYNC_BLOCK_ADDED to connected NVPs // VPs already know about this newly added block since they participate // in the execution. That is, they can compare their current block with // the network block msg := &pb.OpenchainMessage{Type: pb.OpenchainMessage_SYNC_BLOCK_ADDED, Payload: data, Timestamp: util.CreateUtcTimestamp()} if errs := i.stack.Broadcast(msg, pb.PeerEndpoint_NON_VALIDATOR); nil != errs { return fmt.Errorf("Failed to broadcast with errors: %v", errs) } return nil }