https://github.com/satimoto/satimoto
No sign-up, no credit cards, charge your electric vehicle and pay instantly using Bitcoin over the Lightning Network
https://github.com/satimoto/satimoto
android bitcoin golang grpc ios java lightning lightning-network lnd-mobile lng neutrino react-native swift typescript
Last synced: 18 days ago
JSON representation
No sign-up, no credit cards, charge your electric vehicle and pay instantly using Bitcoin over the Lightning Network
- Host: GitHub
- URL: https://github.com/satimoto/satimoto
- Owner: satimoto
- License: mit
- Created: 2021-08-24T14:16:20.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T15:51:59.000Z (about 1 year ago)
- Last Synced: 2025-03-12T16:40:04.596Z (about 1 year ago)
- Topics: android, bitcoin, golang, grpc, ios, java, lightning, lightning-network, lnd-mobile, lng, neutrino, react-native, swift, typescript
- Language: Swift
- Homepage: https://satimoto.com
- Size: 7.31 MB
- Stars: 19
- Watchers: 2
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Satimoto
Satimoto mobile application using react native
## Build Requirements
_Required for iOS_
* Xcode
* cocoapods 1.7.2 (`brew install cocoapods`)
_Required for Android_
* Java OpenJDK 11
* [Android Studio](https://developer.android.com/studio)
* [Android NDK](https://developer.android.com/ndk/guides)
## Building LND mobile binaries
Before running the app, the mobile binaries need to be built for LND so GRPC calls can be made during runtime.
Switch go module aware build mode to auto
```bash
go env -w GO111MODULE=auto
```
Install protobuf
```bash
brew install protobuf
```
Go get gomobile prerequisites
```bash
go get golang.org/x/tools/go/packages
go get golang.org/x/tools/cmd/goimports
go get golang.org/x/mobile/cmd/gomobile
```
Initialize gomobile
```bash
gomobile init
```
Go get protoc modules and falafel
```bash
GO111MODULE=on go get github.com/golang/protobuf/protoc-gen-go@v1.3.2
GO111MODULE=on go get github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v1.14.3
GO111MODULE=on go get github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger@v1.14.3
GO111MODULE=on go get -u -v github.com/lightninglabs/falafel
```
Go get LND
```bash
go get -d github.com/lightningnetwork/lnd
cd $GOPATH/src/github.com/lightningnetwork/lnd
```
Change lnd remote
```bash
git remote add satimoto https://github.com/satimoto/lnd
git fetch satimoto
```
Checkout branch to build (Reset staged/unstaged changes if you need to)
```bash
git reset --hard HEAD
git checkout -b allocate-alias satimoto/allocate-alias
```
Build for iOS platform (`Lndmobile.xcframework`)
```bash
make ios prefix="1" tags="chainrpc invoicesrpc routerrpc signrpc walletrpc"
cp -r $GOPATH/src/github.com/lightningnetwork/lnd/mobile/build/ios/Lndmobile.xcframework /react-mobile/ios/LndMobile
```
Build for android platform (`Lndmobile.aar`)
```bash
make android prefix="1" tags="chainrpc invoicesrpc routerrpc signrpc walletrpc"
cp $GOPATH/src/github.com/lightningnetwork/lnd/mobile/build/android/Lndmobile.aar /react-mobile/android/Lndmobile
```
## Building an LND docker image
```bash
docker build . --build-arg git_url=https://github.com/satimoto/lnd --build-arg checkout=allocate-alias -t satimoto/lnd:allocate-alias
```