Documentation
¶
Overview ¶
Package rtns provides a secure, stand-alone IPNS publishing service that leverages the KaaS encrypted keystore service
Index ¶
Constants ¶
View Source
const DefaultRecordLifetime = time.Hour * 24
DefaultRecordLifetime is the default lifetime for IPNS records
Variables ¶
View Source
var DefaultRebroadcastInterval = time.Hour * 4
DefaultRebroadcastInterval is the default interval at which we rebroadcast IPNS records
View Source
var FailureRetryInterval = time.Minute * 5
FailureRetryInterval is the interval at which we retry IPNS records broadcasts (when they fail)
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Datastore datastore.Batching
PK ci.PrivKey
ListenAddrs []multiaddr.Multiaddr
Secret []byte
}
Config is used to configure the RTNS service
type Service ¶ added in v0.0.7
type Service interface {
// Close is used to trigger a shutdown of internal services
Close()
// DefaultBootstrapPeers returns the normal libp2p bootstrap peers, as well as the production nodes of Temporal.
DefaultBootstrapPeers() []pinfo.PeerAddrInfo
// Bootstrap is used to bootstrap the dht
Bootstrap(peers []pinfo.PeerAddrInfo)
// Publish enables publishing of an IPNS record with a default lifetime of 24 hours
Publish(ctx context.Context, pk ci.PrivKey, cache bool, keyID, content string) error
// PublishWithEOL allows specifying a lifetime for this record overriding the default lifetime of 24 hours
PublishWithEOL(ctx context.Context, pk ci.PrivKey, eol time.Time, cache bool, keyID, content string) error
// GetKey returns a key from the underlying krab keystore
GetKey(name string) (ci.PrivKey, error)
// HasKey returns whether or not the key is in our keystore
HasKey(name string) (bool, error)
}
Service implements the rtns logic as a consumable service or library.
Click to show internal directories.
Click to hide internal directories.