Skip to content

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

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>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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