Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. package main
  2.  
  3. import(
  4. "fmt"
  5. "os/user"
  6. "log"
  7. "google.golang.org/grpc"
  8. "google.golang.org/grpc/credentials"
  9. "google.golang.org/grpc/metadata"
  10. "time"
  11. "context"
  12. "github.com/lightningnetwork/lnd/lnrpc"
  13. )
  14.  
  15. // Macaroons global var
  16. var MACAROONOPTION grpc.CallOption
  17.  
  18. func main(){
  19. grpcConn := grpcSetup()
  20. defer grpcConn.Close()
  21.  
  22. lncli := lnrpc.NewLightningClient(grpcConn)
  23.  
  24. ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
  25. walletBalanceReq := lnrpc.WalletBalanceRequest{}
  26. walletRes, err := lncli.WalletBalance(ctx, &walletBalanceReq, MACAROONOPTION)
  27. if err != nil {
  28. fmt.Println(err)
  29. }
  30. fmt.Println(walletRes.TotalBalance)
  31.  
  32. newAddressRequest := lnrpc.NewAddressRequest{Type: 0}
  33. newAddrRes, err := lncli.NewAddress(ctx, &newAddressRequest, MACAROONOPTION)
  34. if err != nil {
  35. fmt.Println(err)
  36. }
  37.  
  38. fmt.Println(newAddrRes.Address)
  39.  
  40. }
  41.  
  42. func grpcSetup()*grpc.ClientConn{
  43. usr, err := user.Current()
  44. if err != nil {
  45. log.Fatal( err )
  46. }
  47. homeDir := usr.HomeDir
  48. lndDir := fmt.Sprintf("%s/Library/Application Support/Lnd", homeDir)
  49.  
  50. // SSL credentials setup
  51. var serverName string
  52. certFileLocation := fmt.Sprintf("%s/tls.cert", lndDir)
  53. creds, err := credentials.NewClientTLSFromFile(certFileLocation, serverName)
  54. if err != nil {
  55. fmt.Println(err)
  56. }
  57.  
  58. // Macaroon setup
  59. macaroonFileLocation := fmt.Sprintf("%s/data/chain/bitcoin/regtest/admin.macaroon", lndDir)
  60. macaroonMap := map[string]string{"macaroon": macaroonFileLocation}
  61. macaroonMetadata := metadata.New(macaroonMap)
  62. MACAROONOPTION = grpc.Header(&macaroonMetadata)
  63.  
  64.  
  65. conn, err := grpc.Dial("localhost:10009", grpc.WithTransportCredentials(creds))
  66. if err != nil {
  67. log.Fatal( err )
  68. }
  69.  
  70. return conn
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement