// Build a chaincode. func getDeploymentSpec(context context.Context, spec *pb.ChaincodeSpec) (*pb.ChaincodeDeploymentSpec, error) { fmt.Printf("getting deployment spec for chaincode spec: %v\n", spec) codePackageBytes, err := container.GetChaincodePackageBytes(spec) if err != nil { return nil, err } chaincodeDeploymentSpec := &pb.ChaincodeDeploymentSpec{ChaincodeSpec: spec, CodePackage: codePackageBytes} return chaincodeDeploymentSpec, nil }
func getDeploymentSpec(context context.Context, spec *pb.ChaincodeSpec) (*pb.ChaincodeDeploymentSpec, error) { fmt.Printf("getting deployment spec for chaincode spec: %v\n", spec) var codePackageBytes []byte //if we have a name, we don't need to deploy (we are in userRunsCC mode) if spec.ChaincodeID.Name == "" { var err error codePackageBytes, err = container.GetChaincodePackageBytes(spec) if err != nil { return nil, err } } chaincodeDeploymentSpec := &pb.ChaincodeDeploymentSpec{ChaincodeSpec: spec, CodePackage: codePackageBytes} return chaincodeDeploymentSpec, nil }
// get chaincode bytes func (*Devops) getChaincodeBytes(context context.Context, spec *pb.ChaincodeSpec) (*pb.ChaincodeDeploymentSpec, error) { mode := viper.GetString("chaincode.mode") var codePackageBytes []byte if mode != chaincode.DevModeUserRunsChaincode { devopsLogger.Debug("Received build request for chaincode spec: %v", spec) var err error if err = CheckSpec(spec); err != nil { return nil, err } codePackageBytes, err = container.GetChaincodePackageBytes(spec) if err != nil { err = fmt.Errorf("Error getting chaincode package bytes: %s", err) devopsLogger.Error(fmt.Sprintf("%s", err)) return nil, err } } chaincodeDeploymentSpec := &pb.ChaincodeDeploymentSpec{ChaincodeSpec: spec, CodePackage: codePackageBytes} return chaincodeDeploymentSpec, nil }
//BuildLocal builds a given chaincode code func BuildLocal(context context.Context, spec *protos.ChaincodeSpec) (*protos.ChaincodeDeploymentSpec, error) { genesisLogger.Debug("Received build request for chaincode spec: %v", spec) mode := viper.GetString("chaincode.chaincoderunmode") var codePackageBytes []byte if mode != chaincode.DevModeUserRunsChaincode { if err := openchain.CheckSpec(spec); err != nil { genesisLogger.Debug("check spec failed: %s", err) return nil, err } // Build the spec var err error codePackageBytes, err = container.GetChaincodePackageBytes(spec) if err != nil { genesisLogger.Error(fmt.Sprintf("Error getting VM: %s", err)) return nil, err } } chaincodeDeploymentSpec := &protos.ChaincodeDeploymentSpec{ChaincodeSpec: spec, CodePackage: codePackageBytes} return chaincodeDeploymentSpec, nil }