Skip to content

feature request: @helia/ipns republish specific existing records #877

@tabcat

Description

@tabcat

I want to add a republish method to the IPNS interface that would take a routing key and an existing IPNS record and republish it regularly to keep it in the DHT until it expires or IPNS.unpublish is called for that routing key.

Adding the method is needed to specify which external records (a record where the publishing private key is not local) in the localStore should be republished.

The IPNS.republish would do something like:

  1. check the routing key matches the record - throw if verification fails
  2. check the record expiry - throw if expired
  3. immediately publish to routers with option: { republish: true }

The republish option is read by the localStore to add a separate republish key, like the metadata key, to the datastore along with the Record.

Type Signature:

(key: CID<unknown, 0x72, 0x00 | 0x12, 1> | PublicKey | MultihashDigest<0x00 | 0x12> | PeerId, record: IPNSRecord): Promise<void>

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium: Good to have, but can wait until someone steps updif/mediumPrior experience is likely helpfuleffort/daysEstimated to take multiple days, but less than a weekhelp wantedSeeking public contribution on this issuekind/enhancementA net-new feature or improvement to an existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions