daae8a9944
This commit adds a shutdown logger which will send a request for shutdown on critical errors. It uses the signal package to request safe shutdown of the daemon. Since we init our logs in config validation, we add a started channel to the signal package to prevent the case where we have a critical log after the ShutdownLogger has started but before the daemon has started listening for intercepts. In this case, we just ignore the shutdown request. |
||
---|---|---|
.. | ||
bindings.go | ||
gen_bindings.sh | ||
README.md | ||
sample_lnd.conf |
Building mobile libraries
Prerequisites
protoc
Install the dependencies for generating protobuf definitions as stated in lnrpc docs
gomobile
Follow gomobile in order to install
gomobile
and dependencies.
Remember to run gomobile init
(otherwise the lnd
build might just hang).
Note that gomobile
only supports building projects from GOPATH
at this
point.
falafel
Install falafel
:
go get -u -v github.com/lightninglabs/falafel
Building lnd
for iOS
make ios
Building lnd
for Android
make android
make mobile
will build both iOS and Android libs.
Libraries
After the build has succeeded, the libraries will be found in
mobile/build/ios/Lndmobile.framework
and
mobile/build/android/Lndmobile.aar
. Reference your platforms' SDK
documentation for how to add the library to your project.
Generating proto definitions for your language.
In order to call the methods in the generated library, the serialized proto for the given RPC call must be provided. Similarly, the response will be a serialized proto.
In order to generate protobuf definitions for your language of choice, add the
proto plugin to the protoc
invocations found in
gen_protos.sh
. For instance to generate protos for
Swift, add --swift_out=.
and run make rpc
.
Options
Similar to lnd, subservers can be conditionally compiled with the build by setting the tags argument:
make ios
To support subservers that have APIs with name conflicts, pass the "prefix" flag. This will add the subserver name as a prefix to each method name:
make ios prefix=1
API docs
TODO(halseth)