Docs/IPNS Publishing
Documentation

IPNS Publishing

IPNS allows you to create mutable links to IPFS content, letting you update your content while maintaining the same address. Bio-AI DIDs sequencer offers reliable IPNS publishing with fast propagation.

Understanding IPNS

IPFS is content addressed, meaning that each piece of content has a unique identifier (CID) based on its hash. This creates immutability, but presents a challenge when you need to update content.

InterPlanetary Name System (IPNS) solves this by providing a way to create a persistent, mutable pointer to changing content.

Think of IPNS as a changeable signpost that can point to different IPFS content over time, while the signpost itself maintains the same address.

IPNS Benefits

  • Stable References: Keep the same link even as content changes
  • Content Versioning: Update content without breaking existing links
  • Simplified Updates: No need to update references across multiple systems
  • DNS Integration: Can be combined with DNSLink for human readable names

Using IPNS with Bio-AI DIDs sequencer

Key creation and the first publish are a single call - you never manage key names by hand.

Creating a pointer

bash
curl -X POST https://api.ekayana.com/api/ipns/create \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "cid": "QmExampleContentCID123", "file_name": "protocol.pdf" }'

Returns the record, including the stable ipns_name to share and a version counter starting at 1.

Publishing an update

bash
curl -X POST https://api.ekayana.com/api/ipns/update \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "ipns_name": "k51qzi5uqu5d…", "cid": "QmNewCid…" }'

The name stays fixed, current_cid moves, and version increments. A collaborator can publish too if they hold a UCAN granting write.

Resolving

bash
curl https://api.ekayana.com/api/ipns/k51qzi5uqu5d…/resolve \
  -H "Authorization: Bearer $TOKEN"
# -> { "ipns_name": "k51qzi5uqu5d…", "cid": "QmNewCid…" }

Every revision is retained - GET /api/ipns/{ipns_name}/versions returns the full history, so a citation of an earlier version still resolves to the exact bytes that were reviewed. Full walkthrough in the IPNS Tutorial.

IPNS with DNSLink

For enhanced usability, you can combine IPNS with DNSLink to use domain names:

  • Add a TXT record to your domain's DNS:
_dnslink.example.com. IN TXT "dnslink=/ipns/k51qzi5uqu5dkknju2isuhotajrhi2tnvo88qv2qz89gm3qp8ldtq612kzkeoe"
  • Access via gateway:
https://gateway.ekayana.com/ipns/example.com

Performance Considerations

Bio-AI DIDs sequencer optimizes IPNS with:

  • Fast Propagation: Quick publishing across all nodes
  • Caching: Enhanced caching for faster resolution
  • High Availability: Redundant infrastructure for reliable IPNS operations