Skip to content

Commit a38672e

Browse files
committed
cleanup
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>
1 parent 3339fe3 commit a38672e

File tree

6 files changed

+59
-28
lines changed

6 files changed

+59
-28
lines changed

Makefile

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,4 +153,19 @@ clean-fabric-peer-images:
153153

154154
.PHONY: fsccli
155155
fsccli:
156-
@go install ./cmd/fsccli
156+
@go install ./cmd/fsccli
157+
158+
.PHONY: lint
159+
lint:
160+
@echo "Running Go Linters..."
161+
golangci-lint run --color=always --timeout=4m
162+
163+
.PHONY: lint-auto-fix
164+
lint-auto-fix:
165+
@echo "Running Go Linters with auto-fix..."
166+
golangci-lint run --color=always --timeout=4m --fix
167+
168+
.PHONY: install-linter-tool
169+
install-linter-tool:
170+
@echo "Installing golangci Linter"
171+
@curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(HOME)/go/bin v2.4.0

platform/view/sdk/dig/sdk.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/hyperledger-labs/fabric-smart-client/platform/common/services/logging"
1717
digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig"
1818
"github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/hash"
19+
endpoint2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/sdk/dig/support/endpoint"
1920
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services"
2021
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm"
2122
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm/host"
@@ -71,7 +72,7 @@ func NewSDKFrom(baseSDK dig2.SDK, registry services.Registry) *SDK {
7172
sdk.Container().Provide(func() *config.Provider { return config.GetProvider(registry) }),
7273
sdk.Container().Provide(
7374
digutils.Identity[*config.Provider](),
74-
dig.As(new(driver.ConfigService), new(id.ConfigProvider), new(endpoint.ConfigService), new(dbdriver.Config)),
75+
dig.As(new(driver.ConfigService), new(id.ConfigProvider), new(endpoint2.ConfigService), new(dbdriver.Config)),
7576
),
7677
)
7778
if err != nil {
@@ -105,17 +106,17 @@ func (p *SDK) Install() error {
105106
p.Container().Provide(endpoint.NewService),
106107
p.Container().Provide(
107108
digutils.Identity[*endpoint.Service](),
108-
dig.As(new(comm.EndpointService), new(id.EndpointService), new(endpoint.Backend), new(view.EndpointService)),
109+
dig.As(new(comm.EndpointService), new(id.EndpointService), new(endpoint2.Backend), new(view.EndpointService)),
109110
),
110-
p.Container().Provide(endpoint.NewResolversLoader),
111+
p.Container().Provide(endpoint2.NewResolversLoader),
111112

112113
// Identity Service
113114
p.Container().Provide(id.NewProvider),
114115
p.Container().Provide(newKMSDriver),
115116
p.Container().Provide(file.NewDriver, dig.Group("kms-drivers")),
116117
p.Container().Provide(
117118
digutils.Identity[*id.Provider](),
118-
dig.As(new(endpoint.IdentityService), new(server2.IdentityProvider), new(view.IdentityProvider)),
119+
dig.As(new(endpoint2.IdentityService), new(server2.IdentityProvider), new(view.IdentityProvider)),
119120
),
120121

121122
// View Manager
@@ -194,7 +195,7 @@ func (p *SDK) Install() error {
194195
}
195196

196197
// Load endpoint service's resolvers
197-
if err := p.Container().Invoke(func(resolverService *endpoint.ResolversLoader) error { return resolverService.LoadResolvers() }); err != nil {
198+
if err := p.Container().Invoke(func(resolverService *endpoint2.ResolversLoader) error { return resolverService.LoadResolvers() }); err != nil {
198199
return err
199200
}
200201
return nil

platform/view/services/endpoint/resolver.go renamed to platform/view/sdk/dig/support/endpoint/resolver.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@ import (
1111
"strings"
1212

1313
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
14+
"github.com/hyperledger-labs/fabric-smart-client/platform/common/services/logging"
15+
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm"
16+
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/endpoint"
1417
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/id"
1518
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1619
)
1720

21+
var logger = logging.MustGetLogger()
22+
1823
type Identity struct {
1924
Path string `yaml:"path"`
2025
}
@@ -72,12 +77,17 @@ func NewResolversLoader(config ConfigService, backend Backend, is IdentityServic
7277

7378
func (r *ResolversLoader) LoadResolvers() error {
7479
// add default
75-
_, err := r.backend.AddResolver(
80+
p2pAddress := r.config.GetString("fsc.p2p.listenAddress")
81+
address, err := convertAddress(r.config.GetString("fsc.p2p.listenAddress"))
82+
if err != nil {
83+
return errors.Wrapf(err, "failed to convert address [%s]", p2pAddress)
84+
}
85+
_, err = r.backend.AddResolver(
7686
r.config.GetString("fsc.id"),
7787
"",
7888
map[string]string{
79-
string(ViewPort): r.config.GetString("fsc.grpc.address"),
80-
string(P2PPort): convertAddress(r.config.GetString("fsc.p2p.listenAddress")),
89+
string(endpoint.ViewPort): r.config.GetString("fsc.grpc.address"),
90+
string(endpoint.P2PPort): address,
8191
},
8292
nil,
8393
r.is.DefaultIdentity(),
@@ -127,13 +137,14 @@ func (r *ResolversLoader) LoadResolvers() error {
127137
return nil
128138
}
129139

130-
func convertAddress(addr string) string {
131-
parts := strings.Split(addr, "/")
132-
if len(parts) != 5 {
133-
panic("unexpected address found: " + addr)
140+
func convertAddress(addr string) (string, error) {
141+
result, err := comm.ConvertAddress(addr)
142+
if err != nil {
143+
return "", err
134144
}
135-
if parts[2] == "0.0.0.0" {
136-
parts[2] = "127.0.0.1"
145+
if strings.HasPrefix(result, "0.0.0.0") {
146+
// change the prefix to 127.0.0.1
147+
result = "127.0.0.1" + strings.TrimPrefix(result, "0.0.0.0")
137148
}
138-
return parts[2] + ":" + parts[4]
149+
return result, nil
139150
}

platform/view/services/comm/host/rest/provider.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ SPDX-License-Identifier: Apache-2.0
77
package rest
88

99
import (
10-
"strings"
11-
1210
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
11+
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm"
1312
host2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm/host"
1413
routing2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm/host/rest/routing"
1514
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/id"
@@ -41,13 +40,9 @@ func (p *endpointServiceBasedProvider) GetNewHost() (host2.P2PHost, error) {
4140
return nil, errors.Wrapf(err, "failed to load identity in [%s]", p.config.CertPath())
4241
}
4342
nodeID := string(p.pkiExtractor.ExtractPKI(raw))
44-
return NewHost(nodeID, convertAddress(p.config.ListenAddress()), p.routing, p.streamProvider, p.config.ClientTLSConfig(), p.config.ServerTLSConfig()), nil
45-
}
46-
47-
func convertAddress(addr string) string {
48-
parts := strings.Split(addr, "/")
49-
if len(parts) != 5 {
50-
panic("unexpected address found: " + addr)
43+
address, err := comm.ConvertAddress(p.config.ListenAddress())
44+
if err != nil {
45+
return nil, errors.Wrapf(err, "failed to convert address")
5146
}
52-
return parts[2] + ":" + parts[4]
47+
return NewHost(nodeID, address, p.routing, p.streamProvider, p.config.ClientTLSConfig(), p.config.ServerTLSConfig()), nil
5348
}

platform/view/services/comm/p2p.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package comm
99
import (
1010
"context"
1111
"runtime/debug"
12+
"strings"
1213
"sync"
1314

1415
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
@@ -324,3 +325,13 @@ func (s *streamHandler) close(context.Context) {
324325
}
325326
s.node.m.ClosedStreams.Add(1)
326327
}
328+
329+
// ConvertAddress converts an address of the form `/ip4/host/tcp/port` to an address of the form `host:port`.
330+
// The function returns an error if the input is not in expected format.
331+
func ConvertAddress(addr string) (string, error) {
332+
parts := strings.Split(addr, "/")
333+
if len(parts) != 5 {
334+
return "", errors.Errorf("unexpected address found [%s]", addr)
335+
}
336+
return parts[2] + ":" + parts[4], nil
337+
}

platform/view/services/comm/service.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ import (
1313

1414
"github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
1515
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/comm/host"
16-
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/endpoint"
1716
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/metrics"
1817
"github.com/hyperledger-labs/fabric-smart-client/platform/view/view"
1918
)
2019

2120
type EndpointService interface {
22-
Resolve(ctx context.Context, party view.Identity) (view.Identity, map[endpoint.PortName]string, []byte, error)
2321
GetIdentity(label string, pkID []byte) (view.Identity, error)
2422
}
2523

0 commit comments

Comments
 (0)