LoginSignup
9
4

More than 5 years have passed since last update.

IPFSのP2Pネットワークを特定のノードのみで構成する手順

Last updated at Posted at 2016-08-11

現在、私は、ひっそりこっそりIPFSとEthereumを使用したシステムを作っております。

開発していると、当然、開発中のお恥ずかしいデータをpublicなP2Pネットワークに撒き散らしたくないという熱い思いが湧いてきます。
なので、私は、EthereumについてはPrivate Blockchain、IPFSについては限定したノードのみで構成されるP2Pネットワークを作る、という形にしています。

今日は山の日、でもボク暇な日、たまにはQiitaに投稿してみるか・・・ということで、
上記のIPFSネットワーク構成する手順について、気合3割弱程度で書いてみます。

1.ノードIDをゲット

ノードとなる各マシンのIDを下記コマンドでゲットします。

ipfs id

すると、JSON形式でノードの情報が表示されます。こんな感じ。

{
    "ID": "〜",
    "PublicKey": "〜",
    "Addresses": [
        "/ip4/127.0.0.1/tcp/4001/ipfs/〜",
        "/ip4/192.168.XXX.XXX/tcp/4001/ipfs/〜",
        "/ip4/10.XXX.XXX.XXX/tcp/18030/ipfs/〜"
    ],
    "AgentVersion": "go-libp2p/0.1.0",
    "ProtocolVersion": "ipfs/0.1.0"
}

この中の、"Addresses" 要素のネットワーク形成にイケてる方(LAN内で閉じるなら多分2番目)のアドレスを控えます。ここは敢えて紙に。鉛筆で。

2.ノードIDをセット

下記にIPFSの設定ファイルが配置されています。

(ユーザディレクトリ)/.ipfs/config
unix系なら ~/.ipfs/config

開くと、これまたJSON形式の情報がイッパイ表示されます。
その中にある"Bootstrap"要素のリストを、控えたノードリストで置き換えます。

{
     "Bootstrap": [
       "〜",
       "〜" 
     ],
}

そして全力で保存。

3.ノードIDをチェック

各マシンのIPFSデーモンを再起動します。
繋がっているかどうかを下記コマンドでチェック。

ipfs swarm peers

うまく繋がっていれば、こんな感じで怒涛の勢いでノードリストが表示されます。

/ip4/192.168.XXX.XXX/tcp/4001/ipfs/〜
/ip4/192.168.XXX.XXX/tcp/4001/ipfs/〜
/ip4/192.168.XXX.XXX/tcp/4001/ipfs/〜

以上。

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4