cmd

package
v1.3.1-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2021 License: MIT, Apache-2.0, MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var RunCmd = &cli.Command{
	Name:  "run",
	Usage: "Start a venus wallet process",
	Flags: []cli.Flag{

		&cli.StringFlag{Name: cmdNetwork, Value: ""},
		&cli.StringFlag{Name: cmdPwd, Value: "", Aliases: []string{"pwd"}},
		&cli.StringSliceFlag{Name: cmdGatewayAPI},
		&cli.StringFlag{Name: cmdGatewayToken, Value: ""},
		&cli.StringSliceFlag{Name: cmdSupportAccounts},
	},
	Action: func(cctx *cli.Context) error {
		ctx, _ := tag.New(context.Background(), tag.Insert(middleware.Version, version.BuildVersion))
		dir, err := homedir.Expand(cctx.String(cmdRepo))
		if err != nil {
			log.Warnw("could not expand repo location", "error", err)
		} else {
			log.Infof("wallet repo: %s", dir)
		}
		op := &filemgr.OverrideParams{
			GatewayAPI:      cctx.StringSlice(cmdGatewayAPI),
			GatewayToken:    cctx.String(cmdGatewayToken),
			SupportAccounts: cctx.StringSlice(cmdSupportAccounts),
		}
		r, err := filemgr.NewFS(cctx.String(cmdRepo), op)
		if err != nil {
			return xerrors.Errorf("opening fs repo: %w", err)
		}
		core.WalletStrategyLevel = r.Config().Strategy.Level
		secret, err := r.APISecret()
		if err != nil {
			return xerrors.Errorf("read secret failed: %w", err)
		}
		var fullAPI api.IFullAPI

		address.CurrentNetwork = address.Mainnet
		if cctx.String(cmdNetwork) == "test" {
			address.CurrentNetwork = address.Testnet
		}
		stop, err := build.New(ctx,
			build.FullAPIOpt(&fullAPI),
			build.WalletOpt(r, cctx.String(cmdPwd)),
			build.CommonOpt(secret),
			build.ApplyIf(func(s *build.Settings) bool { return cctx.IsSet(cmdNetwork) },
				build.Override(new(build.NetworkName), build.NetworkName(cctx.String(cmdNetwork)))),
		)
		if err != nil {
			return xerrors.Errorf("initializing node: %w", err)
		}

		if err = view.Register(
			middleware.DefaultViews...,
		); err != nil {
			log.Fatalf("Cannot register the view: %v", err)
		}

		stats.Record(ctx, middleware.VenusInfo.M(1))

		endpoint, err := r.APIEndpoint()
		if err != nil {
			return xerrors.Errorf("getting api endpoint: %w", err)
		}

		return ServeRPC(fullAPI, stop, endpoint)
	},
}

DaemonCmd is the `go-lotus daemon` command

Functions

func CorsMiddleWare

func CorsMiddleWare(next http.Handler) http.Handler

httpparse cors setting

func ServeRPC

func ServeRPC(a api.IFullAPI, stop build.StopFunc, addr string) error

Start the interface service and bind the address

Types

type Handler

type Handler struct {
	Verify func(ctx context.Context, token string) ([]permission.Permission, error)
	Next   http.HandlerFunc
}

JWT verify

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

JWT verify

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL