mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-04 01:36:24 +01:00
docs/grpc: add additional links to node.js tutorial
This commit is contained in:
parent
b2aa45db03
commit
e96e83f5eb
1 changed files with 21 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
# How to write a simple lnd client in Javascript using nodejs?
|
# How to write a simple `lnd` client in Javascript using `node.js
|
||||||
|
|
||||||
First, you need to initialize a simple nodejs project:
|
First, you'll need to initialize a simple nodejs project:
|
||||||
|
|
||||||
```
|
```
|
||||||
npm init (or npm init -f if you want to use the default values without prompt)
|
npm init (or npm init -f if you want to use the default values without prompt)
|
||||||
|
@ -12,19 +12,22 @@ Then you need to install the Javascript grpc library dependency:
|
||||||
npm install grpc --save
|
npm install grpc --save
|
||||||
```
|
```
|
||||||
|
|
||||||
You also need to copy the `lnd` `rpc.proto` file in your project directory (or at least somewhere reachable by your Javascript code).
|
You also need to copy the `lnd` `rpc.proto` file in your project directory (or
|
||||||
|
at least somewhere reachable by your Javascript code).
|
||||||
|
|
||||||
The `rpc.proto` file is located in the `lnrpc` directory of the `lnd` sources.
|
The `rpc.proto` file is [located in the `lnrpc` directory of the `lnd`
|
||||||
|
sources](https://github.com/lightningnetwork/lnd/blob/master/lnrpc/rpc.proto).
|
||||||
I had to comment the following line in the `rpc.proto` file otherwise `grpc` would crash:
|
|
||||||
|
|
||||||
|
In order to allow the auto code generated to compile the protos succucsfully,
|
||||||
|
you'll need to comment out the following line:
|
||||||
```
|
```
|
||||||
//import "google/api/annotations.proto";
|
//import "google/api/annotations.proto";
|
||||||
```
|
```
|
||||||
|
|
||||||
Let's now write some Javascript code that simply displays the getinfo command result on the console:
|
Let's now write some Javascript code that simply displays the `getinfo` command
|
||||||
|
result on the console:
|
||||||
|
|
||||||
```
|
```js
|
||||||
var grpc = require('grpc');
|
var grpc = require('grpc');
|
||||||
|
|
||||||
var lnrpcDescriptor = grpc.load("rpc.proto");
|
var lnrpcDescriptor = grpc.load("rpc.proto");
|
||||||
|
@ -39,7 +42,8 @@ lightning.getInfo({}, function(err, response) {
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You just have to lauch your newly created Javascript file `getinfo.js` using `nodejs`:
|
You just have to lauch your newly created Javascript file `getinfo.js` using
|
||||||
|
`nodejs`:
|
||||||
|
|
||||||
```
|
```
|
||||||
node getinfo.js
|
node getinfo.js
|
||||||
|
@ -59,4 +63,11 @@ GetInfo: { identity_pubkey: '03c892e3f3f077ea1e381c081abb36491a2502bc43ed37ffb82
|
||||||
testnet: true }
|
testnet: true }
|
||||||
```
|
```
|
||||||
|
|
||||||
Enjoy!
|
With the above, you should have all the `lnd` related `gRPC` dependencies
|
||||||
|
installed locally in your local project. In order to get up to speed with
|
||||||
|
`protofbuf` usage from Javascript, see [this official `protobuf` reference for
|
||||||
|
Javascript](https://developers.google.com/protocol-buffers/docs/reference/javascript-generated).
|
||||||
|
Additionally, [this official gRPC
|
||||||
|
resource](http://www.grpc.io/docs/tutorials/basic/node.html) details how to
|
||||||
|
drive `gRPC` from `node.js` including the basics of making RPC calls, streaming
|
||||||
|
RPC's (bi-directional and uni-directional), etc.
|
||||||
|
|
Loading…
Add table
Reference in a new issue