Skip to content

Helia Integration Progress and Next Steps (IPFS Utility Grants) #102

@akhileshthite

Description

@akhileshthite

Summary

The Distributed Press team has made significant progress in transitioning from Kubo, a go-ipfs implementation, to Helia, a lightweight JavaScript-based IPFS client. This upgrade reduces system requirements, enhances Node.js compatibility, and maintains functionality for publishing sites to the distributed web. All tests are passing, and the codebase complies with TypeScript linting standards. The next steps involve executing the migration script on the DP production server and optimizing Helia for reliability, followed by a comprehensive experience report and helia-examples documentation.

Progress So Far

Pull Request: #101

  • Helia: We’ve successfully swapped Kubo for Helia in the IPFSProtocol class, using Helia’s unixfs and ipns packages to handle site publishing. Tests like ipfs: basic e2e sync confirm it’s working smoothly.

Image

  • Migration Script: We’ve built and tested migrateIPNSKeys, a script to transfer IPNS keys from Kubo’s keystore to Helia’s, ensuring all published sites can transition without a hitch.

Image

  • Code Quality: Fixed linting issues and updated tests to keep everything clean and reliable.

Next Steps

  1. Run Migration Script on DP Server
    • We’ll execute migrateIPNSKeys on the production server to migrate keys and verify site syncs work as expected.
  2. Tune Helia for Reliability
    • We’ll optimize Helia’s settings (e.g., libp2p services) to ensure it performs well with the sites.
  3. Detailed Experience Report
    • We’re planning a report to help developers get started with Helia, compare it to Kubo, and share our integration insights—making it easier for others to adopt.

Looking Ahead

  • helia-examples: We’ll add docs in helia-examples with GitHub Actions to simplify publishing sites to the decentralized web (dWeb) using Helia and DP, plus add DNS management for custom domains.

Metadata

Metadata

Labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions