Restore api flags
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
parent
70419c0f55
commit
a58e165339
@ -9,6 +9,7 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"github.com/multiformats/go-multiaddr"
|
"github.com/multiformats/go-multiaddr"
|
||||||
|
manet "github.com/multiformats/go-multiaddr-net"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
"gopkg.in/urfave/cli.v2"
|
"gopkg.in/urfave/cli.v2"
|
||||||
|
|
||||||
@ -27,7 +28,7 @@ var runCmd = &cli.Command{
|
|||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "api",
|
Name: "api",
|
||||||
Value: "2345",
|
Value: "",
|
||||||
},
|
},
|
||||||
&cli.BoolFlag{
|
&cli.BoolFlag{
|
||||||
Name: "enable-gpu-proving",
|
Name: "enable-gpu-proving",
|
||||||
@ -75,19 +76,27 @@ var runCmd = &cli.Command{
|
|||||||
node.Online(),
|
node.Online(),
|
||||||
node.Repo(r),
|
node.Repo(r),
|
||||||
|
|
||||||
node.Override(node.SetApiEndpointKey, func(lr repo.LockedRepo) error {
|
node.ApplyIf(func(s *node.Settings) bool { return cctx.IsSet("api") },
|
||||||
apima, err := multiaddr.NewMultiaddr("/ip4/127.0.0.1/tcp/" + cctx.String("api"))
|
node.Override(node.SetApiEndpointKey, func(lr repo.LockedRepo) error {
|
||||||
if err != nil {
|
apima, err := multiaddr.NewMultiaddr("/ip4/127.0.0.1/tcp/" +
|
||||||
return err
|
cctx.String("api"))
|
||||||
}
|
if err != nil {
|
||||||
return lr.SetAPIEndpoint(apima)
|
return err
|
||||||
}),
|
}
|
||||||
|
return lr.SetAPIEndpoint(apima)
|
||||||
|
})),
|
||||||
|
|
||||||
node.Override(new(api.FullNode), nodeApi),
|
node.Override(new(api.FullNode), nodeApi),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
endpoint, err := r.APIEndpoint()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// Bootstrap with full node
|
// Bootstrap with full node
|
||||||
remoteAddrs, err := nodeApi.NetAddrsListen(ctx)
|
remoteAddrs, err := nodeApi.NetAddrsListen(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -100,6 +109,11 @@ var runCmd = &cli.Command{
|
|||||||
|
|
||||||
log.Infof("Remote version %s", v)
|
log.Infof("Remote version %s", v)
|
||||||
|
|
||||||
|
lst, err := manet.Listen(endpoint)
|
||||||
|
if err != nil {
|
||||||
|
return xerrors.Errorf("could not listen: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
rpcServer := jsonrpc.NewServer()
|
rpcServer := jsonrpc.NewServer()
|
||||||
rpcServer.Register("Filecoin", api.PermissionedStorMinerAPI(minerapi))
|
rpcServer.Register("Filecoin", api.PermissionedStorMinerAPI(minerapi))
|
||||||
|
|
||||||
@ -110,7 +124,7 @@ var runCmd = &cli.Command{
|
|||||||
|
|
||||||
http.Handle("/rpc/v0", ah)
|
http.Handle("/rpc/v0", ah)
|
||||||
|
|
||||||
srv := &http.Server{Addr: "127.0.0.1:" + cctx.String("api"), Handler: http.DefaultServeMux}
|
srv := &http.Server{Handler: http.DefaultServeMux}
|
||||||
|
|
||||||
sigChan := make(chan os.Signal, 2)
|
sigChan := make(chan os.Signal, 2)
|
||||||
go func() {
|
go func() {
|
||||||
@ -126,6 +140,6 @@ var runCmd = &cli.Command{
|
|||||||
}()
|
}()
|
||||||
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
|
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT)
|
||||||
|
|
||||||
return srv.ListenAndServe()
|
return srv.Serve(manet.NetListener(lst))
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,8 @@ import (
|
|||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/peermgr"
|
"github.com/filecoin-project/lotus/peermgr"
|
||||||
|
|
||||||
"github.com/multiformats/go-multiaddr"
|
"github.com/multiformats/go-multiaddr"
|
||||||
|
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
"gopkg.in/urfave/cli.v2"
|
"gopkg.in/urfave/cli.v2"
|
||||||
|
|
||||||
@ -29,6 +29,10 @@ var DaemonCmd = &cli.Command{
|
|||||||
Name: "daemon",
|
Name: "daemon",
|
||||||
Usage: "Start a lotus daemon process",
|
Usage: "Start a lotus daemon process",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "api",
|
||||||
|
Value: "1234",
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: makeGenFlag,
|
Name: makeGenFlag,
|
||||||
Value: "",
|
Value: "",
|
||||||
@ -77,7 +81,6 @@ var DaemonCmd = &cli.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
var api api.FullNode
|
var api api.FullNode
|
||||||
var endpoint multiaddr.Multiaddr
|
|
||||||
|
|
||||||
stop, err := node.New(ctx,
|
stop, err := node.New(ctx,
|
||||||
node.FullAPI(&api),
|
node.FullAPI(&api),
|
||||||
@ -87,20 +90,15 @@ var DaemonCmd = &cli.Command{
|
|||||||
|
|
||||||
genesis,
|
genesis,
|
||||||
|
|
||||||
node.Override(node.SetApiEndpointKey, func(lr repo.LockedRepo) error {
|
node.ApplyIf(func(s *node.Settings) bool { return cctx.IsSet("api") },
|
||||||
cfg, err := lr.Config()
|
node.Override(node.SetApiEndpointKey, func(lr repo.LockedRepo) error {
|
||||||
if err != nil {
|
apima, err := multiaddr.NewMultiaddr("/ip4/127.0.0.1/tcp/" +
|
||||||
return xerrors.Errorf("could not get config: %w", err)
|
cctx.String("api"))
|
||||||
}
|
if err != nil {
|
||||||
|
return err
|
||||||
apima, err := multiaddr.NewMultiaddr(cfg.API.ListenAddress)
|
}
|
||||||
if err != nil {
|
return lr.SetAPIEndpoint(apima)
|
||||||
return err
|
})),
|
||||||
}
|
|
||||||
endpoint = apima
|
|
||||||
return lr.SetAPIEndpoint(apima)
|
|
||||||
}),
|
|
||||||
|
|
||||||
node.ApplyIf(func(s *node.Settings) bool { return !cctx.Bool("bootstrap") },
|
node.ApplyIf(func(s *node.Settings) bool { return !cctx.Bool("bootstrap") },
|
||||||
node.Unset(node.RunPeerMgrKey),
|
node.Unset(node.RunPeerMgrKey),
|
||||||
node.Unset(new(*peermgr.PeerMgr)),
|
node.Unset(new(*peermgr.PeerMgr)),
|
||||||
@ -110,6 +108,11 @@ var DaemonCmd = &cli.Command{
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
endpoint, err := r.APIEndpoint()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: properly parse api endpoint (or make it a URL)
|
// TODO: properly parse api endpoint (or make it a URL)
|
||||||
return serveRPC(api, stop, endpoint)
|
return serveRPC(api, stop, endpoint)
|
||||||
},
|
},
|
||||||
|
@ -14,6 +14,7 @@ import (
|
|||||||
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
|
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
|
||||||
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
||||||
record "github.com/libp2p/go-libp2p-record"
|
record "github.com/libp2p/go-libp2p-record"
|
||||||
|
"github.com/multiformats/go-multiaddr"
|
||||||
"go.uber.org/fx"
|
"go.uber.org/fx"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
@ -284,6 +285,14 @@ func ConfigCommon(cfg *config.Common) Option {
|
|||||||
return Options(
|
return Options(
|
||||||
func(s *Settings) error { s.Config = true; return nil },
|
func(s *Settings) error { s.Config = true; return nil },
|
||||||
|
|
||||||
|
Override(SetApiEndpointKey, func(lr repo.LockedRepo) error {
|
||||||
|
apima, err := multiaddr.NewMultiaddr(cfg.API.ListenAddress)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return lr.SetAPIEndpoint(apima)
|
||||||
|
}),
|
||||||
|
|
||||||
ApplyIf(func(s *Settings) bool { return s.Online },
|
ApplyIf(func(s *Settings) bool { return s.Online },
|
||||||
Override(StartListeningKey, lp2p.StartListening(cfg.Libp2p.ListenAddresses)),
|
Override(StartListeningKey, lp2p.StartListening(cfg.Libp2p.ListenAddresses)),
|
||||||
|
|
||||||
|
@ -75,13 +75,15 @@ func DefaultFullNode() *FullNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DefaultStorageMiner() *StorageMiner {
|
func DefaultStorageMiner() *StorageMiner {
|
||||||
return &StorageMiner{
|
cfg := &StorageMiner{
|
||||||
Common: defCommon(),
|
Common: defCommon(),
|
||||||
|
|
||||||
SectorBuilder: SectorBuilder{
|
SectorBuilder: SectorBuilder{
|
||||||
WorkerCount: 5,
|
WorkerCount: 5,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
cfg.Common.API.ListenAddress = "/ip6/::1/tcp/2345/http"
|
||||||
|
return cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ encoding.TextMarshaler = (*Duration)(nil)
|
var _ encoding.TextMarshaler = (*Duration)(nil)
|
||||||
|
Loading…
Reference in New Issue
Block a user