Skip to content

Sjors/SwiftLightning

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift Lightning Project Logo

SwiftLightning

A Lightning Network light wallet implementation on native iOS using Swift

SwiftLightning is a work-in-progress codename for a Lightning Network light wallet implementation based on the open sourced LND - Lightning Network Daemon. This project is written in native Swift for iOS. By being an early implementation of a mobile Lighting wallet, it is hoped that SwiftLightning can act as a test harness to help accelerate LND's features and reliability for iOS.

Getting Started

Tools & Pre-requisites

The Go Lang toolchain, along with Go Dep, are required. This is in addition to of course the Xcode toolchain on MacOS. You can get:

Go Lang from https://golang.org/

Go Dep from https://github.com/golang/dep

Building LND

A LND branch with support for direct functional bindings is required to build SwiftLighting. An example of that can be found at https://github.com/biscottigelato/lnd/tree/mobile-support. You should be able to generate Lndmobile.framework with mobile-support branch by just executing

$ ./lnd/mobile/dep ensure
$ ./lnd/mobile/build_mobile.sh

Lndmobile.framework should then be found under /lnd/mobile/build/ios/. Please see the instruction in the LND Github page for further details. Once Lndmobile.framework is generated, copy it to /SwiftLightning/ios/Lndmobile.framework.

Build & Install

Make sure Lndmobile.framework is placed under /SwiftLightning/ios/

Install all Cocoapod dependencies

$ cd ios
$ pod install

Start Xcode!

$ xcode ios/SwiftLightning.xcworkspace

Reconverting LND .proto files into Swift

If there are changes to the LND .proto files, you might need to regenerate the Swift proto bindings.

Install Swift Protobuf

$ brew install swift-protobuf

Install Swift GRPC. The following sometimes doesn't work. So follow the instructions on the Swift GRPC Github for the most accurate instructions

$ git clone https://www.github.com/grpc/grpc-swift
make install

You will need to have LND in your GOPATH for this script to work

$ ./gen_protos.sh

About

Lightning Network mobile wallet built on top of LND. Written in native Swift for iOS.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 99.9%
  • Other 0.1%