noise_stream

以前に作ったnoise-lightningはnoise protocolの各actを実行するものだったが、今回、lightning networkでの利用に絞って、protocolを意識することなく接続できるnoise-streamを作った。

これによって、LNDやその他のlightning networkのソフトウェアとの接続も可能となっている。

const NoiseStream = require('@bruwbird/noise_stream');  
const net = require('net');  
const secp256k1 = require('bcrypto/lib/secp256k1');

const priv = secp256k1.privateKeyGenerate();  
const stream = new NoiseStream();  
const socket = net.connect(9735);

stream.connect(  
  socket,
  Buffer.from(priv,'hex'),
  Buffer.from("<Lightning client addr>",'hex')
);

stream.on('connect',()=>{  
  console.log("connected!")
})

socketを引数としているが、これもクラスに持たせてしまうという手もあるなあと思っている。

これで一旦はbolt8は実装できたといえるとおもうけれど、ここからどこに進んでいくべきか。まあ次はbolt1だろうねえ。initか。