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