bitcoin p2pのやりとりをログに表示する 〜 cloud9で無料で環境整える

技術メモ

bitcoin p2pの生ログを見る方法を教えてもらったので構築方法を記載しておく。

環境構築

cloud9というサイトを教えてもらったのでここで環境構築する。
初期設定はこちら -> Cloud9の使い方と便利機能!最強プログラミング開発環境(IDE)

Workspace name に任意の名前を入れ、Clone from Git or Mercurial URL に https://github.com/bitpay/bitcore-p2p を指定する。
また、Choose a template で Nodeを指定して、Create Workspace ボタンを押す

以下の画面がでて

ワークスペースが表示される。
ここでしたのタブで「npm install」とうつと関連ライブラリのインストールが始まる。

その後、index.js を以下のように変更する。また、下記の「127.0.0.1」の部分は公開されているbitcoinのfullnodeを指定する。
あまり外部の公開されているfullnodeを探してアクセスすると迷惑になるのでできる限り自前のサーバーにアクセスがよいが、、、、

ちなみに、fullnode は https://bitnodes.21.co/nodes/?q=Japan のサイトで検索できる。

var bitcore = require('bitcore-lib');
bitcore.P2P = require('./lib');

module.exports = bitcore.P2P;

var Peer = bitcore.P2P.Peer;

var peer = new Peer({host: '127.0.0.1'});

peer.on('ready', function() {
  // peer info
  console.log(peer.version, peer.subversion, peer.bestHeight);
});

peer.on('disconnect', function() {
  console.log('connection closed');
});

peer.on('inv', function(message) {
  console.log('inv');
});

peer.on('tx', function(message) {
  console.log('inv');
});

peer.connect();

その後、Run すると inv をメッセージをやりとりした際に inv が出力される。

peer.on('inv', function(message) {

を増やしていけば、各メッセージの内容を受け取ることができる。
もう少しこの辺りに変更加えて、生ログなどを見ていこうと思う。

Sponsored Link
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Dapps
Plasma Porker をとりあえず動かす

最近、Plasma界隈で賑わしている Plasma Prime。 Plasma Prime desi …

仮想通貨全般
TendermintをDocker使って起動してみる

以前、勉強会に行ってきた際にTendermintの事を聞いて ブロックチェーンプロトコルが実装できる …

仮想通貨全般
Bitcoinのdifficultyを決めるnBitsを理解する

マイニングする際の理解を深めようと思い、マイニング難易度(difficulty)を決めるnBitsに …