624e776987
To try uspv, do ./lnd -spv The remote node is hardcoded in shell.go. If you aren't running a full node on localhost, specify where to connect to. Nearby nodes will be much faster but random testnet nodes on the internet should also work.
87 lines
1.8 KiB
Go
87 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/lightningnetwork/lnd/lnrpc"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
// connects via grpc to the ln node. default (hardcoded?) local:10K
|
|
func RpcConnect(args []string) error {
|
|
// client := getClient(ctx)
|
|
opts := []grpc.DialOption{grpc.WithInsecure()}
|
|
conn, err := grpc.Dial("localhost:10000", opts...)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
state, err := conn.State()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
fmt.Printf("connection state: %s\n", state.String())
|
|
time.Sleep(time.Second * 2)
|
|
// lnClient := lnrpc.NewLightningClient(conn)
|
|
// lnClient.NewAddress(nil, nil, nil) // crashes
|
|
|
|
state, err = conn.State()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
fmt.Printf("connection state: %s\n", state.String())
|
|
|
|
err = conn.Close()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func LnConnect(args []string) error {
|
|
if len(args) == 0 {
|
|
return fmt.Errorf("need: lnc pubkeyhash@hostname or pkh (via pbx)")
|
|
}
|
|
|
|
req := &lnrpc.ConnectPeerRequest{args[0]}
|
|
resp, err := z.ConnectPeer(stub, req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
fmt.Printf("connected. remote lnid is %x\n", resp.LnID)
|
|
return nil
|
|
}
|
|
|
|
// For testing. Syntax: lnhi hello world
|
|
/*func LnChat(args []string) error {
|
|
var err error
|
|
if len(args) < 2 {
|
|
return fmt.Errorf("too short, need: lnhi 32hexcharLNID message.\n")
|
|
}
|
|
req := new(lnrpc.LnChatRequest)
|
|
req.DestID, err = hex.DecodeString(args[0])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if len(req.DestID) != 16 {
|
|
return fmt.Errorf("requested destination %x is %d bytes, expenct 16\n",
|
|
req.DestID, len(req.DestID))
|
|
}
|
|
|
|
var chat string
|
|
for _, s := range args[1:] {
|
|
chat += s + " "
|
|
}
|
|
|
|
fmt.Printf("will send to %x text message: %s\n", req.DestID, chat)
|
|
|
|
req.Msg = chat
|
|
_, err = z.LNChat(stub, req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
fmt.Printf("got response but there's nothing in it\n")
|
|
return nil
|
|
}*/
|