// Show a list of all existing network connections for the target peer node, // includes both validating and non-validating peers func networkList() (err error) { clientConn, err := peer.NewPeerClientConnection() if err != nil { err = fmt.Errorf("Error trying to connect to local peer: %s", err) return } openchainClient := pb.NewOpenchainClient(clientConn) peers, err := openchainClient.GetPeers(context.Background(), &google_protobuf.Empty{}) if err != nil { err = fmt.Errorf("Error trying to get peers: %s", err) return } jsonOutput, _ := json.Marshal(peers) fmt.Println(string(jsonOutput)) return nil }
// Show a list of all existing network connections for the target peer node, // includes both validating and non-validating peers func networkList() (err error) { clientConn, err := peer.NewPeerClientConnection() if err != nil { err = fmt.Errorf("Error trying to connect to local peer: %s", err) return } openchainClient := pb.NewOpenchainClient(clientConn) peers, err := openchainClient.GetPeers(context.Background(), &empty.Empty{}) if err != nil { err = fmt.Errorf("Error trying to get peers: %s", err) return } // The generated pb.PeersMessage struct will be added "omitempty" tag automatically. // But we still want to print it when pb.PeersMessage is empty. jsonOutput, _ := json.Marshal(struct{ Peers []*pb.PeerEndpoint }{append([]*pb.PeerEndpoint{}, peers.GetPeers()...)}) fmt.Println(string(jsonOutput)) return nil }