1.1.13 • Published 3 months ago

@libp2p/amino-dht-bootstrapper v1.1.13

Weekly downloads
-
License
Apache-2.0 OR MIT
Repository
github
Last release
3 months ago

@libp2p/amino-dht-bootstrapper

libp2p.io Discuss codecov CI

Run an Amino DHT boostrapper with js-libp2p

Table of contents

Bootstrap details

EPIC tracking issue: https://github.com/protocol/bifrost-infra/issues/2778

Find more info at https://github.com/protocol/bifrost-infra/blob/master/docs/bootstrap.md

Rust bootstrapper: https://github.com/libp2p/rust-libp2p/tree/master/misc/server

Requirements of a bootstrap node

  • The Peer IDs of the default bootstrap nodes are set explicitly, to assert that you only trust a specific peer at a given ip or dns entry.
    • This makes it harder for attackers to spoof or otherwise MITM attack, as they would also have to compromise our infrastructure to steal the private key behind the Peer ID.
  • Defaults
    • The default addresses for the bootstrap nodes are set in the ipfs/go-ipfs-config configuration

Start the bootstrapper

$ npx @libp2p/amino-dht-bootstrapper amino
Options:
      --config <CONFIG>              Path to IPFS config file
      --metrics-path <METRICS_PATH>  Metric endpoint path [default: /metrics]
      --enable-kademlia              Whether to run the libp2p Kademlia protocol and join the IPFS DHT
      --enable-autonat               Whether to run the libp2p Autonat protocol
  -h, --help                         Print help

Configuring bootstrapper options

{
  "config": {
    "description": "Path to IPFS config file",
    "type": "string"
  },
  "enableKademlia": {
    "description": "Whether to run the libp2p Kademlia protocol and join the IPFS DHT",
    "type": "boolean"
  },
  "enableAutonat": {
    "description": "Whether to run the libp2p Autonat protocol",
    "type": "boolean"
  },
  "metricsPath": {
    "description": "Metric endpoint path",
    "default": "/metrics",
    "type": "string"
  },
  "metricsPort": {
    "description": "Port to serve metrics",
    "default": "8888",
    "type": "string"
  },
  "help": {
    "description": "Show help text",
    "type": "boolean"
  }
}

Building the Docker Image

Building should be straightforward from the root of the repository:

$ docker build . --tag amino

Running the docker image (once built):

$ docker run -it amino

To pass args:

$ docker run -it amino [-- [--enable-kademlia] [--enable-autonat]...]

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

1.1.13

3 months ago

1.1.12

3 months ago

1.1.11

5 months ago

1.1.9

5 months ago

1.1.10

5 months ago

1.1.8

5 months ago

1.1.7

5 months ago

1.1.6

5 months ago

1.1.5

5 months ago

1.1.4

5 months ago

1.1.3

7 months ago

1.1.2

7 months ago

1.1.1

7 months ago

1.1.0

7 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago

0.0.0

7 months ago