func sendProducerBlockEvent(block *protos.Block) { // Remove payload from deploy transactions. This is done to make block // events more lightweight as the payload for these types of transactions // can be very large. blockTransactions := block.GetTransactions() for _, transaction := range blockTransactions { if transaction.Type == protos.Transaction_CHAINCODE_DEPLOY { deploymentSpec := &protos.ChaincodeDeploymentSpec{} err := proto.Unmarshal(transaction.Payload, deploymentSpec) if err != nil { ledgerLogger.Errorf("Error unmarshalling deployment transaction for block event: %s", err) continue } deploymentSpec.CodePackage = nil deploymentSpecBytes, err := proto.Marshal(deploymentSpec) if err != nil { ledgerLogger.Errorf("Error marshalling deployment transaction for block event: %s", err) continue } transaction.Payload = deploymentSpecBytes } } producer.Send(producer.CreateBlockEvent(block)) }
func createTestBlock() *ehpb.Event { emsg := producer.CreateBlockEvent(&ehpb.Block{Transactions: []*ehpb.Transaction{}}) return emsg }