github n0-computer/iroh v0.1.0

latest releases: v0.28.1, v0.28.0, v0.27.0...
2 years ago

We’re on the board 🎉! This first release of iroh brings a new implementation of IPFS to the world.

Key things to highlight about the first release of iroh:

  • Exchange Data with Kubo. Iroh can interoperate with kubo nodes on the IPFS network, pushing & fetching data.
  • Service Oriented architecture. Don't want p2p? Turn it off! Iroh will still work without it.
  • Single CLI to control all services.
  • Built for efficiency. Iroh's memory footprint & CPU usage are either on par or better than the best interoperable IPFS implementations out there.
  • Runs well on a laptop. We have a custom installer script that will configure iroh for your laptop. See our install docs

v0.1.0 ships as 4 binaries for Linux & macOS with zero external dependencies:

  • iroh - command line client
  • iroh-store - data storage daemon
  • iroh-p2p - peer 2 peer networking
  • iroh-gateway - IPFS-to-HTTP bridge

You'll need to download all of them & put them on your $PATH to work with iroh. Our install docs have more info.

Please do give iroh a try, we'd love to hear your feedback. Thanks!

Benchmarks

We're runnning benchmarks on a relatively stock AWS box for ease-of-replication. We don't have benchmarks for IPFS network retrieval this round.

Adding Single Files

Add a single file with iroh add --no-wrap --offline:

file size real (s) user(s) sys(s) cpu % cpu/total %
100K 0.0102 0.0162 0.0317 469.6078431 7.337622549
1M 0.0167 0.004 0.0519 334.7305389 5.230164671
10M 0.01345 0.0101 0.0418 385.87 6.03
100M 0.01345 0.0101 0.0418 385.87 6.03
1G 0.01345 0.0101 0.0418 385.87 6.03

Fetching Cached Gateway Content

Repeatedly request the same CID of different file sizes to measure cached content throughput via HTTP request

File size cpu/total (%) rps throughput/s avg latency
100K 90.48072917 40,064.27 3.85GB 5.08ms
1M 87.66614583 6,926.95 6.77GB 29.08ms
10M 87.34010417 711.55 6.98GB 278.86ms
100M 88.00885417 66.52 6.82GB 2.85s
1G 87.84947917 6.65 6.85GB 0.00s

Production Readiness

Is this production ready? No. We need your help to kick tires & find bugs!.

The v0.1.0 moniker should testify to just how new this software is. Please don't deploy it anywhere mission critical until we've had at least a month or two to address bugs & write tests.

Things you should know about this release:

There are two problems we couldn't properly address

  • There is no delete command. Data added to iroh will stay there until a future release where we add content removal. See issue #432 for details. The workaround for now is to blow away the storage database.
  • We have one particularly nasty known bug that can cause iroh to not persist data for highly nested directories upon add we plan to address ASAP in a patch release. See issue #423.

Don't miss a new iroh release

NewReleases is sending notifications on new releases.