diff --git a/cmd/kaspawallet/common.go b/cmd/kaspawallet/common.go index 5f3dcd508b..c63b15dcce 100644 --- a/cmd/kaspawallet/common.go +++ b/cmd/kaspawallet/common.go @@ -6,7 +6,7 @@ import ( "time" ) -const daemonTimeout = 2 * time.Minute +const daemonTimeout = 5 * time.Minute func printErrorAndExit(err error) { fmt.Fprintf(os.Stderr, "%s\n", err) diff --git a/cmd/kaspawallet/daemon/client/client.go b/cmd/kaspawallet/daemon/client/client.go index 6cfd38a326..bea4e544c0 100644 --- a/cmd/kaspawallet/daemon/client/client.go +++ b/cmd/kaspawallet/daemon/client/client.go @@ -7,6 +7,7 @@ import ( "github.com/pkg/errors" "github.com/kaspanet/kaspad/cmd/kaspawallet/daemon/pb" + "github.com/kaspanet/kaspad/cmd/kaspawallet/daemon/server" "google.golang.org/grpc" ) @@ -16,7 +17,14 @@ func Connect(address string) (pb.KaspawalletdClient, func(), error) { ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() - conn, err := grpc.DialContext(ctx, address, grpc.WithInsecure(), grpc.WithBlock()) + conn, err := grpc.DialContext( + ctx, address, + grpc.WithInsecure(), + grpc.WithBlock(), + grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(server.MaxDaemonMsgSize), + grpc.MaxCallSendMsgSize(server.MaxDaemonMsgSize))) + if err != nil { if errors.Is(err, context.DeadlineExceeded) { return nil, nil, errors.New("kaspawallet daemon is not running, start it with `kaspawallet start-daemon`") diff --git a/cmd/kaspawallet/daemon/server/server.go b/cmd/kaspawallet/daemon/server/server.go index d66ff8d65d..167b3a2fde 100644 --- a/cmd/kaspawallet/daemon/server/server.go +++ b/cmd/kaspawallet/daemon/server/server.go @@ -24,6 +24,10 @@ import ( "google.golang.org/grpc" ) +// MaxDaemonMsgSize is the max send/receive message size used for the daemon client and server. +// Currently, set to 100MB +const MaxDaemonMsgSize = 100_000_000 + type server struct { pb.UnimplementedKaspawalletdServer @@ -96,7 +100,9 @@ func Start(params *dagconfig.Params, listen, rpcServer string, keysFilePath stri } }) - grpcServer := grpc.NewServer() + grpcServer := grpc.NewServer( + grpc.MaxRecvMsgSize(MaxDaemonMsgSize), + grpc.MaxSendMsgSize(MaxDaemonMsgSize)) pb.RegisterKaspawalletdServer(grpcServer, serverInstance) spawn("grpcServer.Serve", func() {