Beetle and Kubo
Beetle

Feature Support

Beetle & Kubo (formerly go-ipfs) are both implementations of IPFS.

KuboBeetle
Languagegorust
Licensedual MIT/Apache-2.0dual MIT/Apache-2.0
Project StartFeb 2015April 2022

kubo is the reference implementation for the IPFS protocol. Beetle doesn’t aim to implement all features that kubo supports. Instead Beetle focuses on the most-used parts of the protocol that can be integrated into a performance sensitive context.

Hash compatibility

UnixFS content created with kubo can be read by Beetle, and vice versa. However, content added to Beetle will not output the same hash as the same content created with kubo. This is because Beetle uses different defaults for adding content.

HTTP Gateway

What started as the Kubo HTTP Gateway has been codified into a specification which both Beetle and kubo support. Beetle has the following caveats:

  • iroh does not yet support subdomain gateways
  • HTML templates for items like UnixFS directories will differ when rendered with Beetle.

Kubo RPC API

The Kubo RPC API provides an HTTP an interface for controlling a kubo node. Beetle does not have the same API and instead uses the beetle command line client to issue requests that control Beetle services.

Detailed command comparison

The following table maps commands within kubo to their corresponding support in iroh: