Lain:1 LNDにTCP接続する

とりあえず、ここから。 LNDの標準RPCポートにtype scriptで接続する。 import * as net from 'net'; const client = new net.Socket(); client.connect(10009, '127.0.0.1', () => { console.log('Connected : ') »

VS code or atom

タイプスクリプトでLightning Networkのクライアントを書く、こんな壮大過ぎる目標を立てているんだけど、そこで少し環境を整えた。 サクッと使ってみた限りにおいては、いつも使ってるatomとそれほど違いは感じなかった。 だけど、やっぱりいろいろエディタ使うの辛いー、同じので統一したいからatomで完結したい。 で、どうやってatomでやろうかと考えていて、無駄に時間が過ぎていく。 と思ったらこれでいいじゃん! node --inspect-brk --require ts-node/register ts_src/index.ts »

tsでnpm install

type scriptでは、今までのjsのノリでnpm installしてもimportはできない。これは当然で、型がないから。 アプローチは2つ。 @types からインストールする require でモジュール読み込み つまりどういうことかと言うと、 @types からインストールする npm install --save @types/bitcoinjs-lib をまずはやってみて、存在すればラッキー、なければ、 require でモジュール読み込み var BitcoinJS »

node.jsの開発環境について

使うのはLTS(Node.js v10.15.3)になるだろう。 node.jsでは、es6は対応済、開発中等のものに分離しているのが現状のようだ。 とすると、基本的にはes5で書きたいところだが、将来的にes6に移行するなら先にそうしておくべき、という議論もある。 babel環境、debugともにできていそうだし、そっちでいくか。 »

The open_channel Message

type: 32 (open_channel) data: [32:chain_hash] [32:temporary_channel_id] [8:funding_satoshis] [8:push_msat] [8:dust_limit_satoshis] [8:max_htlc_value_ »

天才たちの日課

疲れたときに読みかえすシリーズ。 いろんな歴代のアーティストの生活を、5ページくらいにまとめて延々と繰り返される。大体は朝に仕事をしていて、孤独な日々に見える。 ブリティッシュライブラリに入り浸ったというマルクスであれば、 朝9時から閉館時間のよる7時までいる。仕事中はひっきりなしにタバコを吸った。これが彼の健康にずっと悪影響を及ぼしていた。苛立ちの原因になったともに、、もともと不安定だった生計の手段を脅かした。 俺も習慣の奴隷なほうだとは思い、共感する部分も多い。人に何も言われなければ、1習慣同じものを食べ続けるし、朝はいつも一番早いし、決まりが多い。なぜこうなったのか、思い返せば、部活時代のトラウマが蘇る。あまりにも言うことを聞かない身体に、せめてそれ以外の要素はすべて排除しようと、すべてを決まりきったものにするようになった。 これによって、自分の変化には極めて敏感になった。 »

Channel Establishment

この辺は、よく説明されている部分にもリンクするので、イメージは多少しやすい。 まず、原理的な部分。 lncli openchannel --nodekey= --localamt=1000000 open TXの作成 secret hashの交換 commitTXの作成 openTXのbroadcast これをコードレベルで。 この場合だと、commitTXをinputにopenTXに署名するわけだけど、それってそもそもboltではどう書かれるのか。 さらっと読んだところ、まさにこの動きをしているが、どうやら実際にtxをやり取りするわけではなく、鍵の交換等をうまくやるかんじか。 +-------+ +-------+ »

BOLTに準拠してinit

brontideでnoise protocolが完了すると、そのpeerはoutbound peerリストに登録される。 // OutboundPeerConnected initializes a new peer in response to a new outbound // connection. // NOTE: This function is safe for concurrent access. func (s »

反応しない練習 あらゆる悩みが消えていくブッダの超・合理的な「考え方」

暇だから読んだシリーズ。 「因果関係によって 作り出されたすべての ものは無常である」 (諸行無常)と 智慧によって見るとき、 人は苦しみを 厭い離れる。 これが、人が清らかに なるための道である。 瞑想は昔からする。高校生くらいからか?なんていうか、まさに「反応」というか、ずっとテレビとかアプリとかをザッピングしているような状態から脱却できる重要な方法。 なのだけど、2つ欠点があって、一つは、ものすごく集中力がいる。ずっとやっていると、到達したい状態って言うのが見えてくるんだけど、そこに行くのはただ目をつぶって座っていれば良いわけではなくて、 »

アウトプット大全

レオナルドダヴィンチは鏡文字で人には読めないようにしつつ、読者に語りかけていたし、何を持ってアウトプットというのかの定義は難しい。ライフハック全般、あまり意味のある議論ではないと思うが、ファーストチェス理論は面白かった。 「5秒で考えた手」と「30分かけて考えた手」は、実際のところ86%が同じ手であることが実証されている この理論って、逆にいうと、14%の意思決定はずれていくわけで、連続して決定して行かないといけないシーンではよく考えた方がいいことになる。だけど、それでもこの理論はおそらく強力に作用する。 大切なことは自分が意思決定者になることで、自分で何かを決めると、やらないといけないことはその瞬間から全てになる。次に何をどのようにやるのか、それはなぜか。これは全体感を持つとか、細部にこだわるとか、学ぶとか、 »