docs/grpc: add additional links to node.js tutorial

This commit is contained in:
Olaoluwa Osuntokun 2017-02-28 18:22:02 -06:00
parent b2aa45db03
commit e96e83f5eb
No known key found for this signature in database
GPG key ID: 9CC5B105D03521A2

View file

@ -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.