Skip to content

Commit

Permalink
Fix Web UI Integration With Prysm Beta (#7591)
Browse files Browse the repository at this point in the history
* fix change password endpoint

* attempt same port as gateway

* update site to latest release

* final fixes

* rem gorilla mux

* gaz fix

* gaz fix

* fmt

* fix build

* fix flags
  • Loading branch information
rauljordan committed Oct 21, 2020
1 parent 553492e commit e4e8dd4
Show file tree
Hide file tree
Showing 19 changed files with 494 additions and 545 deletions.
5 changes: 2 additions & 3 deletions WORKSPACE
Expand Up @@ -349,10 +349,9 @@ filegroup(
visibility = ["//visibility:public"],
)
""",
sha256 = "507d574be56a63d5a30a28b4426b9ece89cf70bbb29739e982e0a8fdf1285e3a",
sha256 = "6bb16ff0dc9348090cc31a9ea453643d32b617e66ac6e7bb38985d530070631b",
urls = [
"https://prysmaticlabs.com/uploads/prysm-web-ui.0.0.1-alpha.tar.gz",
"https://github.com/prysmaticlabs/prysm-web-ui/releases/download/0.0.1-alpha/prysm-web-ui.tar.gz",
"https://github.com/prysmaticlabs/prysm-web-ui/releases/download/0.0.2-alpha/prysm-web-ui.tar.gz",
],
)

Expand Down
308 changes: 154 additions & 154 deletions proto/validator/accounts/v2/web_api.pb.go

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions proto/validator/accounts/v2/web_api.proto
Expand Up @@ -34,12 +34,6 @@ service Wallet {
get: "/v2/validator/mnemonic/generate"
};
}
rpc ChangePassword(ChangePasswordRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v2/validator/wallet/password/edit",
body: "*"
};
}
rpc ImportKeystores(ImportKeystoresRequest) returns (ImportKeystoresResponse) {
option (google.api.http) = {
post: "/v2/validator/wallet/keystores/import",
Expand All @@ -66,6 +60,12 @@ service Accounts {
body: "*"
};
}
rpc ChangePassword(ChangePasswordRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v2/validator/password/edit",
body: "*"
};
}
}

service Health {
Expand Down
305 changes: 152 additions & 153 deletions proto/validator/accounts/v2_gateway/web_api.pb.go

Large diffs are not rendered by default.

156 changes: 78 additions & 78 deletions proto/validator/accounts/v2_gateway/web_api.pb.gw.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 0 additions & 12 deletions validator/flags/flags.go
Expand Up @@ -251,18 +251,6 @@ var (
Usage: "Enables the web portal for the validator client (work in progress)",
Value: false,
}
// WebHostFlag specifies the host name to bind the Prysm web UI server.
WebHostFlag = &cli.StringFlag{
Name: "web-host",
Usage: "The host address which to serve the Prysm web UI",
Value: "127.0.0.1",
}
// WebPortFlag specifies the port number to bind the Prysm web UI server.
WebPortFlag = &cli.Uint64Flag{
Name: "web-port",
Usage: "The host port which to serve the Prysm web UI",
Value: 4242,
}
)

// DefaultValidatorDir returns OS-specific default validator directory.
Expand Down
2 changes: 0 additions & 2 deletions validator/main.go
Expand Up @@ -72,8 +72,6 @@ var appFlags = []cli.Flag{
flags.WalletPasswordFileFlag,
flags.WalletDirFlag,
flags.EnableWebFlag,
flags.WebHostFlag,
flags.WebPortFlag,
cmd.MinimalConfigFlag,
cmd.E2EConfigFlag,
cmd.VerbosityFlag,
Expand Down
1 change: 0 additions & 1 deletion validator/node/BUILD.bazel
Expand Up @@ -45,7 +45,6 @@ go_library(
"//validator/rpc:go_default_library",
"//validator/rpc/gateway:go_default_library",
"//validator/slashing-protection:go_default_library",
"//validator/web:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
Expand Down
25 changes: 12 additions & 13 deletions validator/node/node.go
Expand Up @@ -33,7 +33,6 @@ import (
"github.com/prysmaticlabs/prysm/validator/rpc"
"github.com/prysmaticlabs/prysm/validator/rpc/gateway"
slashing_protection "github.com/prysmaticlabs/prysm/validator/slashing-protection"
"github.com/prysmaticlabs/prysm/validator/web"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
)
Expand Down Expand Up @@ -232,7 +231,7 @@ func (s *ValidatorClient) initializeFromCLI(cliCtx *cli.Context) error {
return err
}
if cliCtx.Bool(flags.EnableRPCFlag.Name) {
if err := s.registerRPCService(cliCtx); err != nil {
if err := s.registerRPCService(cliCtx, keyManager); err != nil {
return err
}
if err := s.registerRPCGatewayService(cliCtx); err != nil {
Expand Down Expand Up @@ -326,13 +325,19 @@ func (s *ValidatorClient) initializeForWeb(cliCtx *cli.Context) error {
if err := s.registerClientService(keyManager); err != nil {
return err
}
if err := s.registerRPCService(cliCtx); err != nil {
if err := s.registerRPCService(cliCtx, keyManager); err != nil {
return err
}
if err := s.registerRPCGatewayService(cliCtx); err != nil {
return err
}
return s.registerWebService(cliCtx)
gatewayHost := cliCtx.String(flags.GRPCGatewayHost.Name)
gatewayPort := cliCtx.Int(flags.GRPCGatewayPort.Name)
webAddress := fmt.Sprintf("http://%s:%d", gatewayHost, gatewayPort)
log.WithField("address", webAddress).Info(
"Starting Prysm web UI on address, open in browser to access",
)
return nil
}

func (s *ValidatorClient) registerPrometheusService() error {
Expand Down Expand Up @@ -408,7 +413,7 @@ func (s *ValidatorClient) registerSlasherClientService() error {
return s.services.RegisterService(sp)
}

func (s *ValidatorClient) registerRPCService(cliCtx *cli.Context) error {
func (s *ValidatorClient) registerRPCService(cliCtx *cli.Context, km keymanager.IKeymanager) error {
var vs *client.ValidatorService
if err := s.services.FetchService(&vs); err != nil {
return err
Expand All @@ -427,6 +432,8 @@ func (s *ValidatorClient) registerRPCService(cliCtx *cli.Context) error {
GenesisFetcher: vs,
NodeGatewayEndpoint: nodeGatewayEndpoint,
WalletDir: walletDir,
Wallet: s.wallet,
Keymanager: km,
})
return s.services.RegisterService(server)
}
Expand All @@ -448,14 +455,6 @@ func (s *ValidatorClient) registerRPCGatewayService(cliCtx *cli.Context) error {
return s.services.RegisterService(gatewaySrv)
}

func (s *ValidatorClient) registerWebService(cliCtx *cli.Context) error {
host := cliCtx.String(flags.WebHostFlag.Name)
port := cliCtx.Uint64(flags.WebPortFlag.Name)
webAddress := fmt.Sprintf("%s:%d", host, port)
srv := web.NewServer(webAddress)
return s.services.RegisterService(srv)
}

func clearDB(dataDir string, force bool) error {
var err error
clearDBConfirmed := force
Expand Down
2 changes: 1 addition & 1 deletion validator/rpc/auth.go
Expand Up @@ -53,7 +53,7 @@ func (s *Server) Signup(ctx context.Context, req *pb.AuthRequest) (*pb.AuthRespo
return nil, status.Error(codes.FailedPrecondition, "Could not check if wallet directory exists")
}
if !hasDir {
if err := os.MkdirAll(walletDir, params.BeaconIoConfig().ReadWritePermissions); err != nil {
if err := os.MkdirAll(walletDir, os.ModePerm); err != nil {
return nil, status.Errorf(codes.Internal, "could not write directory %s to disk: %v", walletDir, err)
}
}
Expand Down
1 change: 1 addition & 0 deletions validator/rpc/gateway/BUILD.bazel
Expand Up @@ -7,6 +7,7 @@ go_library(
visibility = ["//validator:__subpackages__"],
deps = [
"//proto/validator/accounts/v2:ethereum_validator_account_gateway_proto",
"//validator/web:go_default_library",
"@com_github_grpc_ecosystem_grpc_gateway//runtime:go_default_library",
"@com_github_rs_cors//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
Expand Down

0 comments on commit e4e8dd4

Please sign in to comment.