vdri

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const DIDCommServiceType = "did-communication"

DIDCommServiceType default DID Communication service endpoint type

Variables

View Source
var ErrNotFound = errors.New("DID not found")

ErrNotFound is returned when a DID resolver does not find the DID.

Functions

This section is empty.

Types

type CreateDIDOpts

type CreateDIDOpts struct {
	ServiceType     string
	KeyType         string
	ServiceEndpoint string
	RoutingKeys     []string
	RequestBuilder  func([]byte) (io.Reader, error)
}

CreateDIDOpts holds the options for creating DID

type DocOpts

type DocOpts func(opts *CreateDIDOpts)

DocOpts is a create DID option

func WithKeyType

func WithKeyType(keyType string) DocOpts

WithKeyType allows for setting key type

func WithRequestBuilder

func WithRequestBuilder(builder func(payload []byte) (io.Reader, error)) DocOpts

WithRequestBuilder allows to supply request builder which can be used to add headers to request stream to be sent to HTTP binding URL

func WithRoutingKeys

func WithRoutingKeys(routingKeys []string) DocOpts

WithRoutingKeys allows for setting routing keys.

func WithServiceEndpoint

func WithServiceEndpoint(serviceEndpoint string) DocOpts

WithServiceEndpoint allows for setting service endpoint

func WithServiceType

func WithServiceType(serviceType string) DocOpts

WithServiceType service type of DID document to be created

type ModifiedBy

type ModifiedBy struct {
	Key string `json:"key,omitempty"`
	Sig string `json:"sig,omitempty"`
}

ModifiedBy key/signature used to update the DID Document

type PubKey

type PubKey struct {
	Value string // base58 encoded
	Type  string
}

PubKey contains public key type and value

type Registry

type Registry interface {
	Resolve(did string, opts ...ResolveOpts) (*did.Doc, error)
	Store(doc *did.Doc) error
	Create(method string, opts ...DocOpts) (*did.Doc, error)
	Close() error
}

Registry vdri registry

type ResolveDIDOpts

type ResolveDIDOpts struct {
	ResultType  ResultType
	VersionID   interface{}
	VersionTime string
	NoCache     bool
}

ResolveDIDOpts holds the options for did resolve

type ResolveOpts

type ResolveOpts func(opts *ResolveDIDOpts)

ResolveOpts is a did resolve option

func WithNoCache

func WithNoCache(noCache bool) ResolveOpts

WithNoCache the no-cache input option can be used to turn cache on or off

func WithResultType

func WithResultType(resultType ResultType) ResolveOpts

WithResultType the result type input option can be used to request a certain type of result

func WithVersionID

func WithVersionID(versionID interface{}) ResolveOpts

WithVersionID the version id input option can be used to request a specific version of a DID Document

func WithVersionTime

func WithVersionTime(versionTime time.Time) ResolveOpts

WithVersionTime the version time input option can used to request a specific version of a DID Document

type ResultType

type ResultType int

ResultType input option can be used to request a certain type of result.

const (
	// DidDocumentResult Request a DID Document as output
	DidDocumentResult ResultType = iota
	// ResolutionResult Request a DID Resolution Result
	ResolutionResult
)

type VDRI

type VDRI interface {
	Read(did string, opts ...ResolveOpts) (*did.Doc, error)
	Store(doc *did.Doc, by *[]ModifiedBy) error
	Build(pubKey *PubKey, opts ...DocOpts) (*did.Doc, error)
	Accept(method string) bool
	Close() error
}

VDRI verifiable data registry interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL