10

テストのために、1 台のマシンで複数の IPFS ノードを実行できるようにしたいと考えています。

これがシナリオです: IPFS コア ライブラリの上に小さなサービスを構築しています。独自の IPFS サービスガイドを作成します。クライアントとサーバーを同じマシンに配置しようとすると (それぞれが独自の IPFS ノードを作成することに注意してください)、次のようになります。

panic: cannot acquire lock: Lock FcntlFlock of /Users/long/.ipfs/repo.lock failed: resource temporarily unavailable
4

3 に答える 3

19

通常、IPFS を開始するときはipfs init、新しいノードを作成する を使用します。その特定のノードに保存されているデフォルトのデータと構成は、 にあります~/.ipfs。ここでは、新しいノードを作成し、デフォルト ノード以外で実行できるように構成する方法を示します。

1. 新しいノードを作成する

新しいノードの場合は、ipfs init再度使用する必要があります。たとえば、次を使用します。

IPFS_PATH=~/.ipfs2 ipfs init

これにより、~/.ipfs2 に新しいノードが作成されます (デフォルト パスは使用されません)。

2. アドレス構成の変更

両方のノードが同じポートにバインドされるようになったため、ポート構成を変更して、両方のノードが並行して実行できるようにする必要があります。これを行うには、 ~/.ipfs2/config and findAddresses` を開きます:

"Addresses": {
    "API": "/ip4/127.0.0.1/tcp/5001",
    "Gateway": "/ip4/127.0.0.1/tcp/8080",
    "Swarm": [
        "/ip4/0.0.0.0/tcp/4001",
        "/ip6/::/tcp/4001"
    ]
}

たとえば、次のようにします。

"Addresses": {
    "API": "/ip4/127.0.0.1/tcp/5002",
    "Gateway": "/ip4/127.0.0.1/tcp/8081",
    "Swarm": [
        "/ip4/0.0.0.0/tcp/4002",
        "/ip6/::/tcp/4002"
    ]
}

これにより、ノード .ipfs と .ipfs2 の両方を 1 台のマシンで実行できるようになります。


ノート:

  1. .ipfs2 を使用するときはいつでも、env 変数を設定する必要がありますIPFS_PATH=~/.ipfs2
  2. あなたの例では、クライアントまたはサーバーノードのいずれかを ~/.ipfs から ~/.ipfs2 に変更する必要があります
  3. IPFS_PATH=~/.ipfs2 ipfs daemon & を使用して、2 番目のノードでデーモンを開始することもできます。
于 2016-10-21T15:13:51.617 に答える