Beetle
Feature Support
Beetle & Kubo (formerly go-ipfs) are both implementations of IPFS.
Kubo | Beetle | |
---|---|---|
Language | go | rust |
License | dual MIT/Apache-2.0 | dual MIT/Apache-2.0 |
Project Start | Feb 2015 | April 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: