func registerChaincodeSupport(chainname chaincode.ChainName, grpcServer *grpc.Server, secHelper crypto.Peer) { //get user mode userRunsCC := false if viper.GetString("chaincode.mode") == chaincode.DevModeUserRunsChaincode { userRunsCC = true } //get chaincode startup timeout tOut, err := strconv.Atoi(viper.GetString("chaincode.startuptimeout")) if err != nil { //what went wrong ? fmt.Printf("could not retrive timeout var...setting to 5secs\n") tOut = 5000 } ccStartupTimeout := time.Duration(tOut) * time.Millisecond pb.RegisterChaincodeSupportServer(grpcServer, chaincode.NewChaincodeSupport(chainname, peer.GetPeerEndpoint, userRunsCC, ccStartupTimeout, secHelper)) }
func TestGenesis(t *testing.T) { //use a different address than what we usually use for "peer" //we override the peerAddress set in chaincode_support.go peerAddress := "0.0.0.0:50303" lis, err := net.Listen("tcp", peerAddress) if err != nil { t.Fail() t.Logf("Error starting peer listener %s", err) return } var opts []grpc.ServerOption if viper.GetBool("peer.tls.enabled") { creds, err := credentials.NewServerTLSFromFile(viper.GetString("peer.tls.cert.file"), viper.GetString("peer.tls.key.file")) if err != nil { grpclog.Fatalf("Failed to generate credentials %v", err) } opts = []grpc.ServerOption{grpc.Creds(creds)} } grpcServer := grpc.NewServer(opts...) getPeerEndpoint := func() (*protos.PeerEndpoint, error) { return &protos.PeerEndpoint{ID: &protos.PeerID{Name: "testpeer"}, Address: peerAddress}, nil } ccStartupTimeout := time.Duration(30000) * time.Millisecond protos.RegisterChaincodeSupportServer(grpcServer, chaincode.NewChaincodeSupport(chaincode.DefaultChain, getPeerEndpoint, false, ccStartupTimeout, nil)) go grpcServer.Serve(lis) ledger := ledger.InitTestLedger(t) if ledger.GetBlockchainSize() != 0 { t.Fatalf("Expected blockchain size of 0, but got %d", ledger.GetBlockchainSize()) } makeGenesisErr := MakeGenesis() if makeGenesisErr != nil { t.Fatalf("Error creating genesis block, %s", makeGenesisErr) } if ledger.GetBlockchainSize() != 1 { t.Fatalf("Expected blockchain size of 1, but got %d", ledger.GetBlockchainSize()) } }
func initVP() { var opts []grpc.ServerOption if viper.GetBool("peer.tls.enabled") { creds, err := credentials.NewServerTLSFromFile(viper.GetString("peer.tls.cert.file"), viper.GetString("peer.tls.key.file")) if err != nil { grpclog.Fatalf("Failed to generate credentials %v", err) } opts = []grpc.ServerOption{grpc.Creds(creds)} } grpcServer := grpc.NewServer(opts...) //lis, err := net.Listen("tcp", viper.GetString("peer.address")) //use a different address than what we usually use for "peer" //we override the peerAddress set in chaincode_support.go peerAddress := "0.0.0.0:40404" var err error lis, err = net.Listen("tcp", peerAddress) if err != nil { return } getPeerEndpoint := func() (*pb.PeerEndpoint, error) { return &pb.PeerEndpoint{ID: &pb.PeerID{Name: "testpeer"}, Address: peerAddress}, nil } ccStartupTimeout := time.Duration(chaincodeStartupTimeoutDefault) * time.Millisecond userRunsCC := true // Install security object for peer var secHelper crypto.Peer if viper.GetBool("security.enabled") { enrollID := viper.GetString("security.enrollID") enrollSecret := viper.GetString("security.enrollSecret") var err error if viper.GetBool("peer.validator.enabled") { testLogger.Debug("Registering validator with enroll ID: %s", enrollID) if err = crypto.RegisterValidator(enrollID, nil, enrollID, enrollSecret); nil != err { panic(err) } testLogger.Debug("Initializing validator with enroll ID: %s", enrollID) secHelper, err = crypto.InitValidator(enrollID, nil) if nil != err { panic(err) } } else { testLogger.Debug("Registering non-validator with enroll ID: %s", enrollID) if err = crypto.RegisterPeer(enrollID, nil, enrollID, enrollSecret); nil != err { panic(err) } testLogger.Debug("Initializing non-validator with enroll ID: %s", enrollID) secHelper, err = crypto.InitPeer(enrollID, nil) if nil != err { panic(err) } } } pb.RegisterChaincodeSupportServer(grpcServer, chaincode.NewChaincodeSupport(chaincode.DefaultChain, getPeerEndpoint, userRunsCC, ccStartupTimeout, secHelper)) grpcServer.Serve(lis) }