github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/integration/chaincode/server/main.go (about)

     1  /*
     2  Copyright hechain. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package main
     8  
     9  import (
    10  	"encoding/json"
    11  	"fmt"
    12  	"io/ioutil"
    13  	"os"
    14  
    15  	"github.com/hechain20/hechain/integration/chaincode/simple"
    16  	"github.com/hyperledger/fabric-chaincode-go/shim"
    17  )
    18  
    19  type config struct {
    20  	ListenAddress string `json:"listen_address,omitempty"`
    21  	Key           string `json:"key,omitempty"`  // PEM encoded key
    22  	Cert          string `json:"cert,omitempty"` // PEM encoded certificate
    23  	CA            string `json:"ca,omitempty"`   // PEM encode CA certificate
    24  }
    25  
    26  func main() {
    27  	if len(os.Args) < 2 {
    28  		fmt.Println("usage: <package-id>")
    29  		os.Exit(1)
    30  	}
    31  
    32  	configData, err := ioutil.ReadFile("config.json")
    33  	if err != nil {
    34  		fmt.Fprintf(os.Stderr, "Cannot read config file: %s", err)
    35  		os.Exit(2)
    36  	}
    37  
    38  	var config config
    39  	if err := json.Unmarshal(configData, &config); err != nil {
    40  		fmt.Fprintf(os.Stderr, "Cannot read config file: %s", err)
    41  		os.Exit(2)
    42  	}
    43  
    44  	server := &shim.ChaincodeServer{
    45  		CCID:    os.Args[1],
    46  		Address: config.ListenAddress,
    47  		CC:      new(simple.SimpleChaincode),
    48  		TLSProps: shim.TLSProperties{
    49  			Key:           []byte(config.Key),
    50  			Cert:          []byte(config.Cert),
    51  			ClientCACerts: []byte(config.CA),
    52  		},
    53  	}
    54  
    55  	// do not modify - needed for integration test
    56  	fmt.Printf("Starting chaincode %s at %s\n", server.CCID, server.Address)
    57  	err = server.Start()
    58  	if err != nil {
    59  		fmt.Printf("Error starting Simple chaincode: %s", err)
    60  	}
    61  }