drand

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: May 18, 2020 License: Apache-2.0, MIT Imports: 14 Imported by: 6

Documentation

Overview

Package drand is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterControlServer added in v0.5.2

func RegisterControlServer(s *grpc.Server, srv ControlServer)

func RegisterProtocolServer added in v0.5.2

func RegisterProtocolServer(s *grpc.Server, srv ProtocolServer)

func RegisterPublicHandler added in v0.5.2

func RegisterPublicHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterPublicHandler registers the http handlers for service Public to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterPublicHandlerClient added in v0.5.2

func RegisterPublicHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PublicClient) error

RegisterPublicHandlerClient registers the http handlers for service Public to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PublicClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PublicClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "PublicClient" to call the correct interceptors.

func RegisterPublicHandlerFromEndpoint added in v0.5.2

func RegisterPublicHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterPublicHandlerFromEndpoint is same as RegisterPublicHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterPublicHandlerServer added in v0.6.1

func RegisterPublicHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PublicServer) error

RegisterPublicHandlerServer registers the http handlers for service Public to "mux". UnaryRPC :call PublicServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.

func RegisterPublicServer added in v0.5.2

func RegisterPublicServer(s *grpc.Server, srv PublicServer)

Types

type BeaconPacket added in v0.6.1

type BeaconPacket struct {
	PreviousSig          []byte   `protobuf:"bytes,1,opt,name=previous_sig,json=previousSig,proto3" json:"previous_sig,omitempty"`
	Round                uint64   `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Signature            []byte   `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*BeaconPacket) Descriptor added in v0.6.1

func (*BeaconPacket) Descriptor() ([]byte, []int)

func (*BeaconPacket) GetPreviousSig added in v0.6.1

func (m *BeaconPacket) GetPreviousSig() []byte

func (*BeaconPacket) GetRound added in v0.6.1

func (m *BeaconPacket) GetRound() uint64

func (*BeaconPacket) GetSignature added in v0.7.5

func (m *BeaconPacket) GetSignature() []byte

func (*BeaconPacket) ProtoMessage added in v0.6.1

func (*BeaconPacket) ProtoMessage()

func (*BeaconPacket) Reset added in v0.6.1

func (m *BeaconPacket) Reset()

func (*BeaconPacket) String added in v0.6.1

func (m *BeaconPacket) String() string

func (*BeaconPacket) XXX_DiscardUnknown added in v0.6.1

func (m *BeaconPacket) XXX_DiscardUnknown()

func (*BeaconPacket) XXX_Marshal added in v0.6.1

func (m *BeaconPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BeaconPacket) XXX_Merge added in v0.6.1

func (m *BeaconPacket) XXX_Merge(src proto.Message)

func (*BeaconPacket) XXX_Size added in v0.6.1

func (m *BeaconPacket) XXX_Size() int

func (*BeaconPacket) XXX_Unmarshal added in v0.6.1

func (m *BeaconPacket) XXX_Unmarshal(b []byte) error

type CokeyRequest added in v0.5.2

type CokeyRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

CokeyRequest requests the collective key of a drand node

func (*CokeyRequest) Descriptor added in v0.5.2

func (*CokeyRequest) Descriptor() ([]byte, []int)

func (*CokeyRequest) ProtoMessage added in v0.5.2

func (*CokeyRequest) ProtoMessage()

func (*CokeyRequest) Reset added in v0.5.2

func (m *CokeyRequest) Reset()

func (*CokeyRequest) String added in v0.5.2

func (m *CokeyRequest) String() string

func (*CokeyRequest) XXX_DiscardUnknown added in v0.5.2

func (m *CokeyRequest) XXX_DiscardUnknown()

func (*CokeyRequest) XXX_Marshal added in v0.5.2

func (m *CokeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CokeyRequest) XXX_Merge added in v0.5.2

func (m *CokeyRequest) XXX_Merge(src proto.Message)

func (*CokeyRequest) XXX_Size added in v0.5.2

func (m *CokeyRequest) XXX_Size() int

func (*CokeyRequest) XXX_Unmarshal added in v0.5.2

func (m *CokeyRequest) XXX_Unmarshal(b []byte) error

type CokeyResponse added in v0.5.2

type CokeyResponse struct {
	CoKey                []byte   `protobuf:"bytes,2,opt,name=coKey,proto3" json:"coKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

CokeyResponse holds the collective key of a drand node

func (*CokeyResponse) Descriptor added in v0.5.2

func (*CokeyResponse) Descriptor() ([]byte, []int)

func (*CokeyResponse) GetCoKey added in v0.5.2

func (m *CokeyResponse) GetCoKey() []byte

func (*CokeyResponse) ProtoMessage added in v0.5.2

func (*CokeyResponse) ProtoMessage()

func (*CokeyResponse) Reset added in v0.5.2

func (m *CokeyResponse) Reset()

func (*CokeyResponse) String added in v0.5.2

func (m *CokeyResponse) String() string

func (*CokeyResponse) XXX_DiscardUnknown added in v0.5.2

func (m *CokeyResponse) XXX_DiscardUnknown()

func (*CokeyResponse) XXX_Marshal added in v0.5.2

func (m *CokeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CokeyResponse) XXX_Merge added in v0.5.2

func (m *CokeyResponse) XXX_Merge(src proto.Message)

func (*CokeyResponse) XXX_Size added in v0.5.2

func (m *CokeyResponse) XXX_Size() int

func (*CokeyResponse) XXX_Unmarshal added in v0.5.2

func (m *CokeyResponse) XXX_Unmarshal(b []byte) error

type ControlClient added in v0.5.2

type ControlClient interface {
	// PingPong returns an empty message. Purpose is to test the control port.
	PingPong(ctx context.Context, in *Ping, opts ...grpc.CallOption) (*Pong, error)
	// InitDKG sends information to daemon to start a fresh DKG protocol
	InitDKG(ctx context.Context, in *InitDKGPacket, opts ...grpc.CallOption) (*GroupPacket, error)
	// InitReshares sends all informations so that the drand node knows how to
	// proceeed during the next resharing protocol.
	InitReshare(ctx context.Context, in *InitResharePacket, opts ...grpc.CallOption) (*GroupPacket, error)
	// Share returns the current private share used by the node
	Share(ctx context.Context, in *ShareRequest, opts ...grpc.CallOption) (*ShareResponse, error)
	// PublicKey returns the longterm public key of the drand node
	PublicKey(ctx context.Context, in *PublicKeyRequest, opts ...grpc.CallOption) (*PublicKeyResponse, error)
	// PrivateKey returns the longterm private key of the drand node
	PrivateKey(ctx context.Context, in *PrivateKeyRequest, opts ...grpc.CallOption) (*PrivateKeyResponse, error)
	// CollectiveKey returns the distributed public key used by the node
	CollectiveKey(ctx context.Context, in *CokeyRequest, opts ...grpc.CallOption) (*CokeyResponse, error)
	// GroupFile returns the TOML-encoded group file
	// similar to public.Group method but needed for ease of use of the
	// control functionalities
	GroupFile(ctx context.Context, in *GroupRequest, opts ...grpc.CallOption) (*GroupPacket, error)
	Shutdown(ctx context.Context, in *ShutdownRequest, opts ...grpc.CallOption) (*ShutdownResponse, error)
}

ControlClient is the client API for Control service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewControlClient added in v0.5.2

func NewControlClient(cc grpc.ClientConnInterface) ControlClient

type ControlServer added in v0.5.2

type ControlServer interface {
	// PingPong returns an empty message. Purpose is to test the control port.
	PingPong(context.Context, *Ping) (*Pong, error)
	// InitDKG sends information to daemon to start a fresh DKG protocol
	InitDKG(context.Context, *InitDKGPacket) (*GroupPacket, error)
	// InitReshares sends all informations so that the drand node knows how to
	// proceeed during the next resharing protocol.
	InitReshare(context.Context, *InitResharePacket) (*GroupPacket, error)
	// Share returns the current private share used by the node
	Share(context.Context, *ShareRequest) (*ShareResponse, error)
	// PublicKey returns the longterm public key of the drand node
	PublicKey(context.Context, *PublicKeyRequest) (*PublicKeyResponse, error)
	// PrivateKey returns the longterm private key of the drand node
	PrivateKey(context.Context, *PrivateKeyRequest) (*PrivateKeyResponse, error)
	// CollectiveKey returns the distributed public key used by the node
	CollectiveKey(context.Context, *CokeyRequest) (*CokeyResponse, error)
	// GroupFile returns the TOML-encoded group file
	// similar to public.Group method but needed for ease of use of the
	// control functionalities
	GroupFile(context.Context, *GroupRequest) (*GroupPacket, error)
	Shutdown(context.Context, *ShutdownRequest) (*ShutdownResponse, error)
}

ControlServer is the server API for Control service.

type DKGInfoPacket added in v0.9.0

type DKGInfoPacket struct {
	NewGroup             *GroupPacket `protobuf:"bytes,1,opt,name=new_group,json=newGroup,proto3" json:"new_group,omitempty"`
	SecretProof          string       `protobuf:"bytes,2,opt,name=secret_proof,json=secretProof,proto3" json:"secret_proof,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

PushDKGInfor is the packet the coordinator sends that contains the group over which to run the DKG on, the secret proof (to prove it's he's part of the expected group, and it's not a random packet) and as well the time at which every node should start the DKG.

func (*DKGInfoPacket) Descriptor added in v0.9.0

func (*DKGInfoPacket) Descriptor() ([]byte, []int)

func (*DKGInfoPacket) GetNewGroup added in v0.9.0

func (m *DKGInfoPacket) GetNewGroup() *GroupPacket

func (*DKGInfoPacket) GetSecretProof added in v0.9.0

func (m *DKGInfoPacket) GetSecretProof() string

func (*DKGInfoPacket) ProtoMessage added in v0.9.0

func (*DKGInfoPacket) ProtoMessage()

func (*DKGInfoPacket) Reset added in v0.9.0

func (m *DKGInfoPacket) Reset()

func (*DKGInfoPacket) String added in v0.9.0

func (m *DKGInfoPacket) String() string

func (*DKGInfoPacket) XXX_DiscardUnknown added in v0.9.0

func (m *DKGInfoPacket) XXX_DiscardUnknown()

func (*DKGInfoPacket) XXX_Marshal added in v0.9.0

func (m *DKGInfoPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DKGInfoPacket) XXX_Merge added in v0.9.0

func (m *DKGInfoPacket) XXX_Merge(src proto.Message)

func (*DKGInfoPacket) XXX_Size added in v0.9.0

func (m *DKGInfoPacket) XXX_Size() int

func (*DKGInfoPacket) XXX_Unmarshal added in v0.9.0

func (m *DKGInfoPacket) XXX_Unmarshal(b []byte) error

type DKGPacket added in v0.7.1

type DKGPacket struct {
	Dkg                  *dkg.Packet `protobuf:"bytes,1,opt,name=dkg,proto3" json:"dkg,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*DKGPacket) Descriptor added in v0.7.1

func (*DKGPacket) Descriptor() ([]byte, []int)

func (*DKGPacket) GetDkg added in v0.7.1

func (m *DKGPacket) GetDkg() *dkg.Packet

func (*DKGPacket) ProtoMessage added in v0.7.1

func (*DKGPacket) ProtoMessage()

func (*DKGPacket) Reset added in v0.7.1

func (m *DKGPacket) Reset()

func (*DKGPacket) String added in v0.7.1

func (m *DKGPacket) String() string

func (*DKGPacket) XXX_DiscardUnknown added in v0.7.1

func (m *DKGPacket) XXX_DiscardUnknown()

func (*DKGPacket) XXX_Marshal added in v0.7.1

func (m *DKGPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DKGPacket) XXX_Merge added in v0.7.1

func (m *DKGPacket) XXX_Merge(src proto.Message)

func (*DKGPacket) XXX_Size added in v0.7.1

func (m *DKGPacket) XXX_Size() int

func (*DKGPacket) XXX_Unmarshal added in v0.7.1

func (m *DKGPacket) XXX_Unmarshal(b []byte) error

type DistKeyRequest added in v0.3.7

type DistKeyRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

DistKeyRequest requests the distributed public key used during the randomness generation process

func (*DistKeyRequest) Descriptor added in v0.3.7

func (*DistKeyRequest) Descriptor() ([]byte, []int)

func (*DistKeyRequest) ProtoMessage added in v0.3.7

func (*DistKeyRequest) ProtoMessage()

func (*DistKeyRequest) Reset added in v0.3.7

func (m *DistKeyRequest) Reset()

func (*DistKeyRequest) String added in v0.3.7

func (m *DistKeyRequest) String() string

func (*DistKeyRequest) XXX_DiscardUnknown added in v0.3.7

func (m *DistKeyRequest) XXX_DiscardUnknown()

func (*DistKeyRequest) XXX_Marshal added in v0.3.7

func (m *DistKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DistKeyRequest) XXX_Merge added in v0.3.7

func (m *DistKeyRequest) XXX_Merge(src proto.Message)

func (*DistKeyRequest) XXX_Size added in v0.3.7

func (m *DistKeyRequest) XXX_Size() int

func (*DistKeyRequest) XXX_Unmarshal added in v0.3.7

func (m *DistKeyRequest) XXX_Unmarshal(b []byte) error

type DistKeyResponse added in v0.3.7

type DistKeyResponse struct {
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DistKeyResponse) Descriptor added in v0.3.7

func (*DistKeyResponse) Descriptor() ([]byte, []int)

func (*DistKeyResponse) GetKey added in v0.3.7

func (m *DistKeyResponse) GetKey() []byte

func (*DistKeyResponse) ProtoMessage added in v0.3.7

func (*DistKeyResponse) ProtoMessage()

func (*DistKeyResponse) Reset added in v0.3.7

func (m *DistKeyResponse) Reset()

func (*DistKeyResponse) String added in v0.3.7

func (m *DistKeyResponse) String() string

func (*DistKeyResponse) XXX_DiscardUnknown added in v0.3.7

func (m *DistKeyResponse) XXX_DiscardUnknown()

func (*DistKeyResponse) XXX_Marshal added in v0.3.7

func (m *DistKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DistKeyResponse) XXX_Merge added in v0.3.7

func (m *DistKeyResponse) XXX_Merge(src proto.Message)

func (*DistKeyResponse) XXX_Size added in v0.3.7

func (m *DistKeyResponse) XXX_Size() int

func (*DistKeyResponse) XXX_Unmarshal added in v0.3.7

func (m *DistKeyResponse) XXX_Unmarshal(b []byte) error

type Empty added in v0.5.2

type Empty struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Empty) Descriptor added in v0.5.2

func (*Empty) Descriptor() ([]byte, []int)

func (*Empty) ProtoMessage added in v0.5.2

func (*Empty) ProtoMessage()

func (*Empty) Reset added in v0.5.2

func (m *Empty) Reset()

func (*Empty) String added in v0.5.2

func (m *Empty) String() string

func (*Empty) XXX_DiscardUnknown added in v0.5.2

func (m *Empty) XXX_DiscardUnknown()

func (*Empty) XXX_Marshal added in v0.5.2

func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Empty) XXX_Merge added in v0.5.2

func (m *Empty) XXX_Merge(src proto.Message)

func (*Empty) XXX_Size added in v0.5.2

func (m *Empty) XXX_Size() int

func (*Empty) XXX_Unmarshal added in v0.5.2

func (m *Empty) XXX_Unmarshal(b []byte) error

type EntropyInfo added in v0.5.4

type EntropyInfo struct {
	// the path to the script to run that returns random bytes when called
	Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
	// do we only take this entropy source or mix it with /dev/urandom
	UserOnly             bool     `protobuf:"varint,10,opt,name=userOnly,proto3" json:"userOnly,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

EntropyInfo contains information about external entropy sources can be optional

func (*EntropyInfo) Descriptor added in v0.5.4

func (*EntropyInfo) Descriptor() ([]byte, []int)

func (*EntropyInfo) GetScript added in v0.5.4

func (m *EntropyInfo) GetScript() string

func (*EntropyInfo) GetUserOnly added in v0.5.4

func (m *EntropyInfo) GetUserOnly() bool

func (*EntropyInfo) ProtoMessage added in v0.5.4

func (*EntropyInfo) ProtoMessage()

func (*EntropyInfo) Reset added in v0.5.4

func (m *EntropyInfo) Reset()

func (*EntropyInfo) String added in v0.5.4

func (m *EntropyInfo) String() string

func (*EntropyInfo) XXX_DiscardUnknown added in v0.5.4

func (m *EntropyInfo) XXX_DiscardUnknown()

func (*EntropyInfo) XXX_Marshal added in v0.5.4

func (m *EntropyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EntropyInfo) XXX_Merge added in v0.5.4

func (m *EntropyInfo) XXX_Merge(src proto.Message)

func (*EntropyInfo) XXX_Size added in v0.5.4

func (m *EntropyInfo) XXX_Size() int

func (*EntropyInfo) XXX_Unmarshal added in v0.5.4

func (m *EntropyInfo) XXX_Unmarshal(b []byte) error

type GroupInfo added in v0.5.2

type GroupInfo struct {
	// Types that are valid to be assigned to Location:
	//	*GroupInfo_Path
	//	*GroupInfo_Url
	Location             isGroupInfo_Location `protobuf_oneof:"location"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

GroupInfo holds the information to load a group information such as the nodes and the genesis etc. Currently only the loading of a group via filesystem is supported although the basis to support loading a group from a URI is setup. For example, for new nodes that wants to join a network, they could point to the URL that returns a group definition, for example at one of the currently running node.

func (*GroupInfo) Descriptor added in v0.5.2

func (*GroupInfo) Descriptor() ([]byte, []int)

func (*GroupInfo) GetLocation added in v0.5.2

func (m *GroupInfo) GetLocation() isGroupInfo_Location

func (*GroupInfo) GetPath added in v0.5.2

func (m *GroupInfo) GetPath() string

func (*GroupInfo) GetUrl added in v0.5.2

func (m *GroupInfo) GetUrl() string

func (*GroupInfo) ProtoMessage added in v0.5.2

func (*GroupInfo) ProtoMessage()

func (*GroupInfo) Reset added in v0.5.2

func (m *GroupInfo) Reset()

func (*GroupInfo) String added in v0.5.2

func (m *GroupInfo) String() string

func (*GroupInfo) XXX_DiscardUnknown added in v0.5.2

func (m *GroupInfo) XXX_DiscardUnknown()

func (*GroupInfo) XXX_Marshal added in v0.5.2

func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GroupInfo) XXX_Merge added in v0.5.2

func (m *GroupInfo) XXX_Merge(src proto.Message)

func (*GroupInfo) XXX_OneofWrappers added in v0.6.1

func (*GroupInfo) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*GroupInfo) XXX_Size added in v0.5.2

func (m *GroupInfo) XXX_Size() int

func (*GroupInfo) XXX_Unmarshal added in v0.5.2

func (m *GroupInfo) XXX_Unmarshal(b []byte) error

type GroupInfo_Path added in v0.5.2

type GroupInfo_Path struct {
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type GroupInfo_Url added in v0.5.2

type GroupInfo_Url struct {
	Url string `protobuf:"bytes,2,opt,name=url,proto3,oneof"`
}

type GroupPacket added in v0.7.1

type GroupPacket struct {
	Nodes     []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Threshold uint32  `protobuf:"varint,2,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// period in seconds
	Period               uint32   `protobuf:"varint,3,opt,name=period,proto3" json:"period,omitempty"`
	GenesisTime          uint64   `protobuf:"varint,4,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"`
	TransitionTime       uint64   `protobuf:"varint,5,opt,name=transition_time,json=transitionTime,proto3" json:"transition_time,omitempty"`
	GenesisSeed          []byte   `protobuf:"bytes,6,opt,name=genesis_seed,json=genesisSeed,proto3" json:"genesis_seed,omitempty"`
	DistKey              [][]byte `protobuf:"bytes,7,rep,name=dist_key,json=distKey,proto3" json:"dist_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

GroupPacket represents a group that is running a drand network (or is in the process of creating one or performing a resharing).

func (*GroupPacket) Descriptor added in v0.7.1

func (*GroupPacket) Descriptor() ([]byte, []int)

func (*GroupPacket) GetDistKey added in v0.7.1

func (m *GroupPacket) GetDistKey() [][]byte

func (*GroupPacket) GetGenesisSeed added in v0.7.1

func (m *GroupPacket) GetGenesisSeed() []byte

func (*GroupPacket) GetGenesisTime added in v0.7.1

func (m *GroupPacket) GetGenesisTime() uint64

func (*GroupPacket) GetNodes added in v0.7.1

func (m *GroupPacket) GetNodes() []*Node

func (*GroupPacket) GetPeriod added in v0.7.1

func (m *GroupPacket) GetPeriod() uint32

func (*GroupPacket) GetThreshold added in v0.7.1

func (m *GroupPacket) GetThreshold() uint32

func (*GroupPacket) GetTransitionTime added in v0.7.1

func (m *GroupPacket) GetTransitionTime() uint64

func (*GroupPacket) ProtoMessage added in v0.7.1

func (*GroupPacket) ProtoMessage()

func (*GroupPacket) Reset added in v0.7.1

func (m *GroupPacket) Reset()

func (*GroupPacket) String added in v0.7.1

func (m *GroupPacket) String() string

func (*GroupPacket) XXX_DiscardUnknown added in v0.7.1

func (m *GroupPacket) XXX_DiscardUnknown()

func (*GroupPacket) XXX_Marshal added in v0.7.1

func (m *GroupPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GroupPacket) XXX_Merge added in v0.7.1

func (m *GroupPacket) XXX_Merge(src proto.Message)

func (*GroupPacket) XXX_Size added in v0.7.1

func (m *GroupPacket) XXX_Size() int

func (*GroupPacket) XXX_Unmarshal added in v0.7.1

func (m *GroupPacket) XXX_Unmarshal(b []byte) error

type GroupRequest added in v0.5.2

type GroupRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GroupRequest) Descriptor added in v0.5.2

func (*GroupRequest) Descriptor() ([]byte, []int)

func (*GroupRequest) ProtoMessage added in v0.5.2

func (*GroupRequest) ProtoMessage()

func (*GroupRequest) Reset added in v0.5.2

func (m *GroupRequest) Reset()

func (*GroupRequest) String added in v0.5.2

func (m *GroupRequest) String() string

func (*GroupRequest) XXX_DiscardUnknown added in v0.5.2

func (m *GroupRequest) XXX_DiscardUnknown()

func (*GroupRequest) XXX_Marshal added in v0.5.2

func (m *GroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GroupRequest) XXX_Merge added in v0.5.2

func (m *GroupRequest) XXX_Merge(src proto.Message)

func (*GroupRequest) XXX_Size added in v0.5.2

func (m *GroupRequest) XXX_Size() int

func (*GroupRequest) XXX_Unmarshal added in v0.5.2

func (m *GroupRequest) XXX_Unmarshal(b []byte) error

type GroupTOMLResponse added in v0.5.2

type GroupTOMLResponse struct {
	// TOML-encoded group file
	GroupToml            string   `protobuf:"bytes,1,opt,name=group_toml,json=groupToml,proto3" json:"group_toml,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GroupTOMLResponse) Descriptor added in v0.5.2

func (*GroupTOMLResponse) Descriptor() ([]byte, []int)

func (*GroupTOMLResponse) GetGroupToml added in v0.5.2

func (m *GroupTOMLResponse) GetGroupToml() string

func (*GroupTOMLResponse) ProtoMessage added in v0.5.2

func (*GroupTOMLResponse) ProtoMessage()

func (*GroupTOMLResponse) Reset added in v0.5.2

func (m *GroupTOMLResponse) Reset()

func (*GroupTOMLResponse) String added in v0.5.2

func (m *GroupTOMLResponse) String() string

func (*GroupTOMLResponse) XXX_DiscardUnknown added in v0.5.2

func (m *GroupTOMLResponse) XXX_DiscardUnknown()

func (*GroupTOMLResponse) XXX_Marshal added in v0.5.2

func (m *GroupTOMLResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GroupTOMLResponse) XXX_Merge added in v0.5.2

func (m *GroupTOMLResponse) XXX_Merge(src proto.Message)

func (*GroupTOMLResponse) XXX_Size added in v0.5.2

func (m *GroupTOMLResponse) XXX_Size() int

func (*GroupTOMLResponse) XXX_Unmarshal added in v0.5.2

func (m *GroupTOMLResponse) XXX_Unmarshal(b []byte) error

type HomeRequest added in v0.4.1

type HomeRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*HomeRequest) Descriptor added in v0.4.1

func (*HomeRequest) Descriptor() ([]byte, []int)

func (*HomeRequest) ProtoMessage added in v0.4.1

func (*HomeRequest) ProtoMessage()

func (*HomeRequest) Reset added in v0.4.1

func (m *HomeRequest) Reset()

func (*HomeRequest) String added in v0.4.1

func (m *HomeRequest) String() string

func (*HomeRequest) XXX_DiscardUnknown added in v0.4.1

func (m *HomeRequest) XXX_DiscardUnknown()

func (*HomeRequest) XXX_Marshal added in v0.4.1

func (m *HomeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HomeRequest) XXX_Merge added in v0.4.1

func (m *HomeRequest) XXX_Merge(src proto.Message)

func (*HomeRequest) XXX_Size added in v0.4.1

func (m *HomeRequest) XXX_Size() int

func (*HomeRequest) XXX_Unmarshal added in v0.4.1

func (m *HomeRequest) XXX_Unmarshal(b []byte) error

type HomeResponse added in v0.4.1

type HomeResponse struct {
	Status               string   `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*HomeResponse) Descriptor added in v0.4.1

func (*HomeResponse) Descriptor() ([]byte, []int)

func (*HomeResponse) GetStatus added in v0.4.1

func (m *HomeResponse) GetStatus() string

func (*HomeResponse) ProtoMessage added in v0.4.1

func (*HomeResponse) ProtoMessage()

func (*HomeResponse) Reset added in v0.4.1

func (m *HomeResponse) Reset()

func (*HomeResponse) String added in v0.4.1

func (m *HomeResponse) String() string

func (*HomeResponse) XXX_DiscardUnknown added in v0.4.1

func (m *HomeResponse) XXX_DiscardUnknown()

func (*HomeResponse) XXX_Marshal added in v0.4.1

func (m *HomeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HomeResponse) XXX_Merge added in v0.4.1

func (m *HomeResponse) XXX_Merge(src proto.Message)

func (*HomeResponse) XXX_Size added in v0.4.1

func (m *HomeResponse) XXX_Size() int

func (*HomeResponse) XXX_Unmarshal added in v0.4.1

func (m *HomeResponse) XXX_Unmarshal(b []byte) error

type Identity added in v0.7.1

type Identity struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Key                  []byte   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Tls                  bool     `protobuf:"varint,3,opt,name=tls,proto3" json:"tls,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Identity) Descriptor added in v0.7.1

func (*Identity) Descriptor() ([]byte, []int)

func (*Identity) GetAddress added in v0.7.1

func (m *Identity) GetAddress() string

func (*Identity) GetKey added in v0.7.1

func (m *Identity) GetKey() []byte

func (*Identity) GetTls added in v0.7.1

func (m *Identity) GetTls() bool

func (*Identity) ProtoMessage added in v0.7.1

func (*Identity) ProtoMessage()

func (*Identity) Reset added in v0.7.1

func (m *Identity) Reset()

func (*Identity) String added in v0.7.1

func (m *Identity) String() string

func (*Identity) XXX_DiscardUnknown added in v0.7.1

func (m *Identity) XXX_DiscardUnknown()

func (*Identity) XXX_Marshal added in v0.7.1

func (m *Identity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Identity) XXX_Merge added in v0.7.1

func (m *Identity) XXX_Merge(src proto.Message)

func (*Identity) XXX_Size added in v0.7.1

func (m *Identity) XXX_Size() int

func (*Identity) XXX_Unmarshal added in v0.7.1

func (m *Identity) XXX_Unmarshal(b []byte) error

type InitDKGPacket added in v0.5.2

type InitDKGPacket struct {
	Info    *SetupInfoPacket `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	Entropy *EntropyInfo     `protobuf:"bytes,2,opt,name=entropy,proto3" json:"entropy,omitempty"`
	// the period time of the beacon in seconds.
	// used only in a fresh dkg
	BeaconPeriod         uint32   `protobuf:"varint,3,opt,name=beacon_period,json=beaconPeriod,proto3" json:"beacon_period,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*InitDKGPacket) Descriptor added in v0.5.2

func (*InitDKGPacket) Descriptor() ([]byte, []int)

func (*InitDKGPacket) GetBeaconPeriod added in v0.7.1

func (m *InitDKGPacket) GetBeaconPeriod() uint32

func (*InitDKGPacket) GetEntropy added in v0.5.4

func (m *InitDKGPacket) GetEntropy() *EntropyInfo

func (*InitDKGPacket) GetInfo added in v0.7.1

func (m *InitDKGPacket) GetInfo() *SetupInfoPacket

func (*InitDKGPacket) ProtoMessage added in v0.5.2

func (*InitDKGPacket) ProtoMessage()

func (*InitDKGPacket) Reset added in v0.5.2

func (m *InitDKGPacket) Reset()

func (*InitDKGPacket) String added in v0.5.2

func (m *InitDKGPacket) String() string

func (*InitDKGPacket) XXX_DiscardUnknown added in v0.5.2

func (m *InitDKGPacket) XXX_DiscardUnknown()

func (*InitDKGPacket) XXX_Marshal added in v0.5.2

func (m *InitDKGPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitDKGPacket) XXX_Merge added in v0.5.2

func (m *InitDKGPacket) XXX_Merge(src proto.Message)

func (*InitDKGPacket) XXX_Size added in v0.5.2

func (m *InitDKGPacket) XXX_Size() int

func (*InitDKGPacket) XXX_Unmarshal added in v0.5.2

func (m *InitDKGPacket) XXX_Unmarshal(b []byte) error

type InitResharePacket added in v0.5.2

type InitResharePacket struct {
	// Old group that needs to issue the shares for the new group
	// NOTE: It can be empty / nil. In that case, the drand node will try to
	// load the group he belongs to at the moment, if any, and use it as the old
	// group.
	Old                  *GroupInfo       `protobuf:"bytes,1,opt,name=old,proto3" json:"old,omitempty"`
	Info                 *SetupInfoPacket `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

ReshareRequest contains references to the old and new group to perform the resharing protocol.

func (*InitResharePacket) Descriptor added in v0.5.2

func (*InitResharePacket) Descriptor() ([]byte, []int)

func (*InitResharePacket) GetInfo added in v0.7.1

func (m *InitResharePacket) GetInfo() *SetupInfoPacket

func (*InitResharePacket) GetOld added in v0.5.2

func (m *InitResharePacket) GetOld() *GroupInfo

func (*InitResharePacket) ProtoMessage added in v0.5.2

func (*InitResharePacket) ProtoMessage()

func (*InitResharePacket) Reset added in v0.5.2

func (m *InitResharePacket) Reset()

func (*InitResharePacket) String added in v0.5.2

func (m *InitResharePacket) String() string

func (*InitResharePacket) XXX_DiscardUnknown added in v0.5.2

func (m *InitResharePacket) XXX_DiscardUnknown()

func (*InitResharePacket) XXX_Marshal added in v0.5.2

func (m *InitResharePacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitResharePacket) XXX_Merge added in v0.5.2

func (m *InitResharePacket) XXX_Merge(src proto.Message)

func (*InitResharePacket) XXX_Size added in v0.5.2

func (m *InitResharePacket) XXX_Size() int

func (*InitResharePacket) XXX_Unmarshal added in v0.5.2

func (m *InitResharePacket) XXX_Unmarshal(b []byte) error

type Node added in v0.5.2

type Node struct {
	Public               *Identity `protobuf:"bytes,1,opt,name=public,proto3" json:"public,omitempty"`
	Index                uint32    `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

Node holds the information related to a server in a group that forms a drand network

func (*Node) Descriptor added in v0.5.2

func (*Node) Descriptor() ([]byte, []int)

func (*Node) GetIndex added in v0.9.0

func (m *Node) GetIndex() uint32

func (*Node) GetPublic added in v0.9.0

func (m *Node) GetPublic() *Identity

func (*Node) ProtoMessage added in v0.5.2

func (*Node) ProtoMessage()

func (*Node) Reset added in v0.5.2

func (m *Node) Reset()

func (*Node) String added in v0.5.2

func (m *Node) String() string

func (*Node) XXX_DiscardUnknown added in v0.5.2

func (m *Node) XXX_DiscardUnknown()

func (*Node) XXX_Marshal added in v0.5.2

func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Node) XXX_Merge added in v0.5.2

func (m *Node) XXX_Merge(src proto.Message)

func (*Node) XXX_Size added in v0.5.2

func (m *Node) XXX_Size() int

func (*Node) XXX_Unmarshal added in v0.5.2

func (m *Node) XXX_Unmarshal(b []byte) error

type PartialBeaconPacket added in v0.7.5

type PartialBeaconPacket struct {
	// Round is the round for which the beacon will be created from the partial
	// signatures
	Round uint64 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
	// signature of the previous round - could be removed at some point but now
	// is used to verify the signature even before accessing the store
	PreviousSig []byte `protobuf:"bytes,2,opt,name=previous_sig,json=previousSig,proto3" json:"previous_sig,omitempty"`
	// partial signature - a threshold of them needs to be aggregated to produce
	// the final beacon at the given round.
	PartialSig           []byte   `protobuf:"bytes,3,opt,name=partial_sig,json=partialSig,proto3" json:"partial_sig,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*PartialBeaconPacket) Descriptor added in v0.7.5

func (*PartialBeaconPacket) Descriptor() ([]byte, []int)

func (*PartialBeaconPacket) GetPartialSig added in v0.7.5

func (m *PartialBeaconPacket) GetPartialSig() []byte

func (*PartialBeaconPacket) GetPreviousSig added in v0.7.5

func (m *PartialBeaconPacket) GetPreviousSig() []byte

func (*PartialBeaconPacket) GetRound added in v0.7.5

func (m *PartialBeaconPacket) GetRound() uint64

func (*PartialBeaconPacket) ProtoMessage added in v0.7.5

func (*PartialBeaconPacket) ProtoMessage()

func (*PartialBeaconPacket) Reset added in v0.7.5

func (m *PartialBeaconPacket) Reset()

func (*PartialBeaconPacket) String added in v0.7.5

func (m *PartialBeaconPacket) String() string

func (*PartialBeaconPacket) XXX_DiscardUnknown added in v0.7.5

func (m *PartialBeaconPacket) XXX_DiscardUnknown()

func (*PartialBeaconPacket) XXX_Marshal added in v0.7.5

func (m *PartialBeaconPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PartialBeaconPacket) XXX_Merge added in v0.7.5

func (m *PartialBeaconPacket) XXX_Merge(src proto.Message)

func (*PartialBeaconPacket) XXX_Size added in v0.7.5

func (m *PartialBeaconPacket) XXX_Size() int

func (*PartialBeaconPacket) XXX_Unmarshal added in v0.7.5

func (m *PartialBeaconPacket) XXX_Unmarshal(b []byte) error

type Ping added in v0.5.2

type Ping struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Ping) Descriptor added in v0.5.2

func (*Ping) Descriptor() ([]byte, []int)

func (*Ping) ProtoMessage added in v0.5.2

func (*Ping) ProtoMessage()

func (*Ping) Reset added in v0.5.2

func (m *Ping) Reset()

func (*Ping) String added in v0.5.2

func (m *Ping) String() string

func (*Ping) XXX_DiscardUnknown added in v0.5.2

func (m *Ping) XXX_DiscardUnknown()

func (*Ping) XXX_Marshal added in v0.5.2

func (m *Ping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Ping) XXX_Merge added in v0.5.2

func (m *Ping) XXX_Merge(src proto.Message)

func (*Ping) XXX_Size added in v0.5.2

func (m *Ping) XXX_Size() int

func (*Ping) XXX_Unmarshal added in v0.5.2

func (m *Ping) XXX_Unmarshal(b []byte) error

type Pong added in v0.5.2

type Pong struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Pong) Descriptor added in v0.5.2

func (*Pong) Descriptor() ([]byte, []int)

func (*Pong) ProtoMessage added in v0.5.2

func (*Pong) ProtoMessage()

func (*Pong) Reset added in v0.5.2

func (m *Pong) Reset()

func (*Pong) String added in v0.5.2

func (m *Pong) String() string

func (*Pong) XXX_DiscardUnknown added in v0.5.2

func (m *Pong) XXX_DiscardUnknown()

func (*Pong) XXX_Marshal added in v0.5.2

func (m *Pong) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Pong) XXX_Merge added in v0.5.2

func (m *Pong) XXX_Merge(src proto.Message)

func (*Pong) XXX_Size added in v0.5.2

func (m *Pong) XXX_Size() int

func (*Pong) XXX_Unmarshal added in v0.5.2

func (m *Pong) XXX_Unmarshal(b []byte) error

type PrivateKeyRequest added in v0.5.2

type PrivateKeyRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PrivateKeyRequest requests the private key of a drand node

func (*PrivateKeyRequest) Descriptor added in v0.5.2

func (*PrivateKeyRequest) Descriptor() ([]byte, []int)

func (*PrivateKeyRequest) ProtoMessage added in v0.5.2

func (*PrivateKeyRequest) ProtoMessage()

func (*PrivateKeyRequest) Reset added in v0.5.2

func (m *PrivateKeyRequest) Reset()

func (*PrivateKeyRequest) String added in v0.5.2

func (m *PrivateKeyRequest) String() string

func (*PrivateKeyRequest) XXX_DiscardUnknown added in v0.5.2

func (m *PrivateKeyRequest) XXX_DiscardUnknown()

func (*PrivateKeyRequest) XXX_Marshal added in v0.5.2

func (m *PrivateKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PrivateKeyRequest) XXX_Merge added in v0.5.2

func (m *PrivateKeyRequest) XXX_Merge(src proto.Message)

func (*PrivateKeyRequest) XXX_Size added in v0.5.2

func (m *PrivateKeyRequest) XXX_Size() int

func (*PrivateKeyRequest) XXX_Unmarshal added in v0.5.2

func (m *PrivateKeyRequest) XXX_Unmarshal(b []byte) error

type PrivateKeyResponse added in v0.5.2

type PrivateKeyResponse struct {
	PriKey               []byte   `protobuf:"bytes,2,opt,name=priKey,proto3" json:"priKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PrivateKeyResponse holds the private key of a drand node

func (*PrivateKeyResponse) Descriptor added in v0.5.2

func (*PrivateKeyResponse) Descriptor() ([]byte, []int)

func (*PrivateKeyResponse) GetPriKey added in v0.5.2

func (m *PrivateKeyResponse) GetPriKey() []byte

func (*PrivateKeyResponse) ProtoMessage added in v0.5.2

func (*PrivateKeyResponse) ProtoMessage()

func (*PrivateKeyResponse) Reset added in v0.5.2

func (m *PrivateKeyResponse) Reset()

func (*PrivateKeyResponse) String added in v0.5.2

func (m *PrivateKeyResponse) String() string

func (*PrivateKeyResponse) XXX_DiscardUnknown added in v0.5.2

func (m *PrivateKeyResponse) XXX_DiscardUnknown()

func (*PrivateKeyResponse) XXX_Marshal added in v0.5.2

func (m *PrivateKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PrivateKeyResponse) XXX_Merge added in v0.5.2

func (m *PrivateKeyResponse) XXX_Merge(src proto.Message)

func (*PrivateKeyResponse) XXX_Size added in v0.5.2

func (m *PrivateKeyResponse) XXX_Size() int

func (*PrivateKeyResponse) XXX_Unmarshal added in v0.5.2

func (m *PrivateKeyResponse) XXX_Unmarshal(b []byte) error

type PrivateRandRequest

type PrivateRandRequest struct {
	// Request is the ECIES encryption of an ephemereal public key towards which
	// to encrypt the private randomness. The format of the bytes is denoted by
	// the ECIES encryption used by drand.
	Request              []byte   `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PrivateRandRequest is the message to send when requesting a private random value.

func (*PrivateRandRequest) Descriptor

func (*PrivateRandRequest) Descriptor() ([]byte, []int)

func (*PrivateRandRequest) GetRequest

func (m *PrivateRandRequest) GetRequest() []byte

func (*PrivateRandRequest) ProtoMessage

func (*PrivateRandRequest) ProtoMessage()

func (*PrivateRandRequest) Reset

func (m *PrivateRandRequest) Reset()

func (*PrivateRandRequest) String

func (m *PrivateRandRequest) String() string

func (*PrivateRandRequest) XXX_DiscardUnknown added in v0.3.7

func (m *PrivateRandRequest) XXX_DiscardUnknown()

func (*PrivateRandRequest) XXX_Marshal added in v0.3.7

func (m *PrivateRandRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PrivateRandRequest) XXX_Merge added in v0.3.7

func (m *PrivateRandRequest) XXX_Merge(src proto.Message)

func (*PrivateRandRequest) XXX_Size added in v0.3.7

func (m *PrivateRandRequest) XXX_Size() int

func (*PrivateRandRequest) XXX_Unmarshal added in v0.3.7

func (m *PrivateRandRequest) XXX_Unmarshal(b []byte) error

type PrivateRandResponse

type PrivateRandResponse struct {
	// Responses is the ECIES encryption of the private randomness using the
	// ephemereal public key sent in the request.  The format of the bytes is
	// denoted by the ECIES  encryption used by drand.
	Response             []byte   `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*PrivateRandResponse) Descriptor

func (*PrivateRandResponse) Descriptor() ([]byte, []int)

func (*PrivateRandResponse) GetResponse

func (m *PrivateRandResponse) GetResponse() []byte

func (*PrivateRandResponse) ProtoMessage

func (*PrivateRandResponse) ProtoMessage()

func (*PrivateRandResponse) Reset

func (m *PrivateRandResponse) Reset()

func (*PrivateRandResponse) String

func (m *PrivateRandResponse) String() string

func (*PrivateRandResponse) XXX_DiscardUnknown added in v0.3.7

func (m *PrivateRandResponse) XXX_DiscardUnknown()

func (*PrivateRandResponse) XXX_Marshal added in v0.3.7

func (m *PrivateRandResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PrivateRandResponse) XXX_Merge added in v0.3.7

func (m *PrivateRandResponse) XXX_Merge(src proto.Message)

func (*PrivateRandResponse) XXX_Size added in v0.3.7

func (m *PrivateRandResponse) XXX_Size() int

func (*PrivateRandResponse) XXX_Unmarshal added in v0.3.7

func (m *PrivateRandResponse) XXX_Unmarshal(b []byte) error

type ProtocolClient added in v0.5.2

type ProtocolClient interface {
	// SignalDKGParticipant is called by non-coordinators nodes that sends their
	// public keys and secret proof they have to the coordinator so that he can
	// create the group.
	SignalDKGParticipant(ctx context.Context, in *SignalDKGPacket, opts ...grpc.CallOption) (*Empty, error)
	// PushDKGInfo is called by the coordinator to push the group he created
	// from all received keys and as well other information such as the time of
	// starting the DKG.
	PushDKGInfo(ctx context.Context, in *DKGInfoPacket, opts ...grpc.CallOption) (*Empty, error)
	// Setup is doing the DKG setup phase
	FreshDKG(ctx context.Context, in *DKGPacket, opts ...grpc.CallOption) (*Empty, error)
	// Reshare performs the resharing phase
	ReshareDKG(ctx context.Context, in *ResharePacket, opts ...grpc.CallOption) (*Empty, error)
	// PartialBeacon sends its partial beacon to another node
	PartialBeacon(ctx context.Context, in *PartialBeaconPacket, opts ...grpc.CallOption) (*Empty, error)
	SyncChain(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (Protocol_SyncChainClient, error)
}

ProtocolClient is the client API for Protocol service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewProtocolClient added in v0.5.2

func NewProtocolClient(cc grpc.ClientConnInterface) ProtocolClient

type ProtocolServer added in v0.5.2

type ProtocolServer interface {
	// SignalDKGParticipant is called by non-coordinators nodes that sends their
	// public keys and secret proof they have to the coordinator so that he can
	// create the group.
	SignalDKGParticipant(context.Context, *SignalDKGPacket) (*Empty, error)
	// PushDKGInfo is called by the coordinator to push the group he created
	// from all received keys and as well other information such as the time of
	// starting the DKG.
	PushDKGInfo(context.Context, *DKGInfoPacket) (*Empty, error)
	// Setup is doing the DKG setup phase
	FreshDKG(context.Context, *DKGPacket) (*Empty, error)
	// Reshare performs the resharing phase
	ReshareDKG(context.Context, *ResharePacket) (*Empty, error)
	// PartialBeacon sends its partial beacon to another node
	PartialBeacon(context.Context, *PartialBeaconPacket) (*Empty, error)
	SyncChain(*SyncRequest, Protocol_SyncChainServer) error
}

ProtocolServer is the server API for Protocol service.

type Protocol_SyncChainClient added in v0.6.1

type Protocol_SyncChainClient interface {
	Recv() (*BeaconPacket, error)
	grpc.ClientStream
}

type Protocol_SyncChainServer added in v0.6.1

type Protocol_SyncChainServer interface {
	Send(*BeaconPacket) error
	grpc.ServerStream
}

type PublicClient added in v0.5.2

type PublicClient interface {
	// PublicRand is the method that returns the publicly verifiable randomness
	// generated by the drand network.
	PublicRand(ctx context.Context, in *PublicRandRequest, opts ...grpc.CallOption) (*PublicRandResponse, error)
	PublicRandStream(ctx context.Context, in *PublicRandRequest, opts ...grpc.CallOption) (Public_PublicRandStreamClient, error)
	// PrivateRand is the method that returns the private randomness generated
	// by the drand node only.
	PrivateRand(ctx context.Context, in *PrivateRandRequest, opts ...grpc.CallOption) (*PrivateRandResponse, error)
	// Group is the method that returns the group descrition that the drand
	// endpoint belongs to
	Group(ctx context.Context, in *GroupRequest, opts ...grpc.CallOption) (*GroupPacket, error)
	// DistKey returns the distributed key from which drand node endpoint get a share
	DistKey(ctx context.Context, in *DistKeyRequest, opts ...grpc.CallOption) (*DistKeyResponse, error)
	// Home is a simple endpoint
	Home(ctx context.Context, in *HomeRequest, opts ...grpc.CallOption) (*HomeResponse, error)
}

PublicClient is the client API for Public service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewPublicClient added in v0.5.2

func NewPublicClient(cc grpc.ClientConnInterface) PublicClient

type PublicKeyRequest added in v0.5.2

type PublicKeyRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PublicKeyRequest requests the public key of a drand node

func (*PublicKeyRequest) Descriptor added in v0.5.2

func (*PublicKeyRequest) Descriptor() ([]byte, []int)

func (*PublicKeyRequest) ProtoMessage added in v0.5.2

func (*PublicKeyRequest) ProtoMessage()

func (*PublicKeyRequest) Reset added in v0.5.2

func (m *PublicKeyRequest) Reset()

func (*PublicKeyRequest) String added in v0.5.2

func (m *PublicKeyRequest) String() string

func (*PublicKeyRequest) XXX_DiscardUnknown added in v0.5.2

func (m *PublicKeyRequest) XXX_DiscardUnknown()

func (*PublicKeyRequest) XXX_Marshal added in v0.5.2

func (m *PublicKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PublicKeyRequest) XXX_Merge added in v0.5.2

func (m *PublicKeyRequest) XXX_Merge(src proto.Message)

func (*PublicKeyRequest) XXX_Size added in v0.5.2

func (m *PublicKeyRequest) XXX_Size() int

func (*PublicKeyRequest) XXX_Unmarshal added in v0.5.2

func (m *PublicKeyRequest) XXX_Unmarshal(b []byte) error

type PublicKeyResponse added in v0.5.2

type PublicKeyResponse struct {
	PubKey               []byte   `protobuf:"bytes,2,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PublicKeyResponse holds the public key of a drand node

func (*PublicKeyResponse) Descriptor added in v0.5.2

func (*PublicKeyResponse) Descriptor() ([]byte, []int)

func (*PublicKeyResponse) GetPubKey added in v0.5.2

func (m *PublicKeyResponse) GetPubKey() []byte

func (*PublicKeyResponse) ProtoMessage added in v0.5.2

func (*PublicKeyResponse) ProtoMessage()

func (*PublicKeyResponse) Reset added in v0.5.2

func (m *PublicKeyResponse) Reset()

func (*PublicKeyResponse) String added in v0.5.2

func (m *PublicKeyResponse) String() string

func (*PublicKeyResponse) XXX_DiscardUnknown added in v0.5.2

func (m *PublicKeyResponse) XXX_DiscardUnknown()

func (*PublicKeyResponse) XXX_Marshal added in v0.5.2

func (m *PublicKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PublicKeyResponse) XXX_Merge added in v0.5.2

func (m *PublicKeyResponse) XXX_Merge(src proto.Message)

func (*PublicKeyResponse) XXX_Size added in v0.5.2

func (m *PublicKeyResponse) XXX_Size() int

func (*PublicKeyResponse) XXX_Unmarshal added in v0.5.2

func (m *PublicKeyResponse) XXX_Unmarshal(b []byte) error

type PublicRandRequest

type PublicRandRequest struct {
	// round uniquely identifies a beacon. If round == 0 (or unspecified), then
	// the response will contain the last.
	Round                uint64   `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PublicRandRequest requests a public random value that has been generated in a unbiasable way and verifiable.

func (*PublicRandRequest) Descriptor

func (*PublicRandRequest) Descriptor() ([]byte, []int)

func (*PublicRandRequest) GetRound

func (m *PublicRandRequest) GetRound() uint64

func (*PublicRandRequest) ProtoMessage

func (*PublicRandRequest) ProtoMessage()

func (*PublicRandRequest) Reset

func (m *PublicRandRequest) Reset()

func (*PublicRandRequest) String

func (m *PublicRandRequest) String() string

func (*PublicRandRequest) XXX_DiscardUnknown added in v0.3.7

func (m *PublicRandRequest) XXX_DiscardUnknown()

func (*PublicRandRequest) XXX_Marshal added in v0.3.7

func (m *PublicRandRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PublicRandRequest) XXX_Merge added in v0.3.7

func (m *PublicRandRequest) XXX_Merge(src proto.Message)

func (*PublicRandRequest) XXX_Size added in v0.3.7

func (m *PublicRandRequest) XXX_Size() int

func (*PublicRandRequest) XXX_Unmarshal added in v0.3.7

func (m *PublicRandRequest) XXX_Unmarshal(b []byte) error

type PublicRandResponse

type PublicRandResponse struct {
	Round             uint64 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
	Signature         []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	PreviousSignature []byte `protobuf:"bytes,3,opt,name=previous_signature,json=previousSignature,proto3" json:"previous_signature,omitempty"`
	// randomness is simply there to demonstrate - it is the hash of the
	// signature. It should be computed locally.
	Randomness           []byte   `protobuf:"bytes,4,opt,name=randomness,proto3" json:"randomness,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

PublicRandResponse holds a signature which is the random value. It can be verified thanks to the distributed public key of the nodes that have ran the DKG protocol and is unbiasable. The randomness can be verified using the BLS verification routine with the message "round || previous_rand".

func (*PublicRandResponse) Descriptor

func (*PublicRandResponse) Descriptor() ([]byte, []int)

func (*PublicRandResponse) GetPreviousSignature added in v0.6.1

func (m *PublicRandResponse) GetPreviousSignature() []byte

func (*PublicRandResponse) GetRandomness

func (m *PublicRandResponse) GetRandomness() []byte

func (*PublicRandResponse) GetRound

func (m *PublicRandResponse) GetRound() uint64

func (*PublicRandResponse) GetSignature added in v0.5.2

func (m *PublicRandResponse) GetSignature() []byte

func (*PublicRandResponse) ProtoMessage

func (*PublicRandResponse) ProtoMessage()

func (*PublicRandResponse) Reset

func (m *PublicRandResponse) Reset()

func (*PublicRandResponse) String

func (m *PublicRandResponse) String() string

func (*PublicRandResponse) XXX_DiscardUnknown added in v0.3.7

func (m *PublicRandResponse) XXX_DiscardUnknown()

func (*PublicRandResponse) XXX_Marshal added in v0.3.7

func (m *PublicRandResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PublicRandResponse) XXX_Merge added in v0.3.7

func (m *PublicRandResponse) XXX_Merge(src proto.Message)

func (*PublicRandResponse) XXX_Size added in v0.3.7

func (m *PublicRandResponse) XXX_Size() int

func (*PublicRandResponse) XXX_Unmarshal added in v0.3.7

func (m *PublicRandResponse) XXX_Unmarshal(b []byte) error

type PublicServer added in v0.5.2

type PublicServer interface {
	// PublicRand is the method that returns the publicly verifiable randomness
	// generated by the drand network.
	PublicRand(context.Context, *PublicRandRequest) (*PublicRandResponse, error)
	PublicRandStream(*PublicRandRequest, Public_PublicRandStreamServer) error
	// PrivateRand is the method that returns the private randomness generated
	// by the drand node only.
	PrivateRand(context.Context, *PrivateRandRequest) (*PrivateRandResponse, error)
	// Group is the method that returns the group descrition that the drand
	// endpoint belongs to
	Group(context.Context, *GroupRequest) (*GroupPacket, error)
	// DistKey returns the distributed key from which drand node endpoint get a share
	DistKey(context.Context, *DistKeyRequest) (*DistKeyResponse, error)
	// Home is a simple endpoint
	Home(context.Context, *HomeRequest) (*HomeResponse, error)
}

PublicServer is the server API for Public service.

type Public_PublicRandStreamClient added in v0.6.1

type Public_PublicRandStreamClient interface {
	Recv() (*PublicRandResponse, error)
	grpc.ClientStream
}

type Public_PublicRandStreamServer added in v0.6.1

type Public_PublicRandStreamServer interface {
	Send(*PublicRandResponse) error
	grpc.ServerStream
}

type ResharePacket added in v0.5.2

type ResharePacket struct {
	Dkg                  *dkg.Packet `protobuf:"bytes,1,opt,name=dkg,proto3" json:"dkg,omitempty"`
	GroupHash            string      `protobuf:"bytes,2,opt,name=group_hash,json=groupHash,proto3" json:"group_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Reshare is a wrapper around a Setup packet for resharing operation that serves two purposes: - indicate to non-leader old nodes that they should generate and send their deals - indicate to which new group are we resharing. drand should keep a list of new ready-to-operate groups allowed.

func (*ResharePacket) Descriptor added in v0.5.2

func (*ResharePacket) Descriptor() ([]byte, []int)

func (*ResharePacket) GetDkg added in v0.5.2

func (m *ResharePacket) GetDkg() *dkg.Packet

func (*ResharePacket) GetGroupHash added in v0.5.2

func (m *ResharePacket) GetGroupHash() string

func (*ResharePacket) ProtoMessage added in v0.5.2

func (*ResharePacket) ProtoMessage()

func (*ResharePacket) Reset added in v0.5.2

func (m *ResharePacket) Reset()

func (*ResharePacket) String added in v0.5.2

func (m *ResharePacket) String() string

func (*ResharePacket) XXX_DiscardUnknown added in v0.5.2

func (m *ResharePacket) XXX_DiscardUnknown()

func (*ResharePacket) XXX_Marshal added in v0.5.2

func (m *ResharePacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ResharePacket) XXX_Merge added in v0.5.2

func (m *ResharePacket) XXX_Merge(src proto.Message)

func (*ResharePacket) XXX_Size added in v0.5.2

func (m *ResharePacket) XXX_Size() int

func (*ResharePacket) XXX_Unmarshal added in v0.5.2

func (m *ResharePacket) XXX_Unmarshal(b []byte) error

type SetupInfoPacket added in v0.7.1

type SetupInfoPacket struct {
	Leader bool `protobuf:"varint,1,opt,name=leader,proto3" json:"leader,omitempty"`
	// LeaderAddress is only used by non-leader
	LeaderAddress string `protobuf:"bytes,2,opt,name=leader_address,json=leaderAddress,proto3" json:"leader_address,omitempty"`
	// LeaderTls is only used by non-leader
	LeaderTls bool `protobuf:"varint,3,opt,name=leader_tls,json=leaderTls,proto3" json:"leader_tls,omitempty"`
	// the expected number of nodes the group must have
	Nodes uint32 `protobuf:"varint,4,opt,name=nodes,proto3" json:"nodes,omitempty"`
	// the threshold to set to the group
	Threshold uint32 `protobuf:"varint,5,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// timeout of the dkg - it is used for transitioning to the different phases of
	// the dkg (deal, responses and justifications if needed). Unit is in seconds.
	Timeout uint32 `protobuf:"varint,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// This field is used by the coordinator to set a genesis time or transition
	// time for the beacon to start. It normally takes time.Now() +
	// beacon_offset.  This offset MUST be superior to the time it takes to
	// run the DKG, even under "malicious case" when the dkg takes longer.
	// In such cases, the dkg takes 3 * timeout time to finish because of the
	// three phases: deal, responses and justifications.
	// XXX: should find a way to designate the time *after* the DKG - beacon
	// generation and dkg should be more separated.
	BeaconOffset uint32 `protobuf:"varint,7,opt,name=beacon_offset,json=beaconOffset,proto3" json:"beacon_offset,omitempty"`
	// dkg_offset is used to set the time for which nodes should start the DKG.
	// To avoid any concurrency / networking effect where nodes start the DKG
	// while some others still haven't received the group configuration, the
	// coordinator do this in two steps: first, send the group configuration to
	// every node, and then every node start at the specified time. This offset
	// is set to be sufficiently large such that with high confidence all nodes
	// received the group file by then.
	DkgOffset uint32 `protobuf:"varint,8,opt,name=dkg_offset,json=dkgOffset,proto3" json:"dkg_offset,omitempty"`
	// the secret used to authentify group members
	Secret               string   `protobuf:"bytes,9,opt,name=secret,proto3" json:"secret,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

SetupInfoPacket contains all information necessary to run an "automatic" setup phase where the designated leader acts as a coordinator as to what is the group file and when does the chain starts.

func (*SetupInfoPacket) Descriptor added in v0.7.1

func (*SetupInfoPacket) Descriptor() ([]byte, []int)

func (*SetupInfoPacket) GetBeaconOffset added in v0.7.1

func (m *SetupInfoPacket) GetBeaconOffset() uint32

func (*SetupInfoPacket) GetDkgOffset added in v0.9.0

func (m *SetupInfoPacket) GetDkgOffset() uint32

func (*SetupInfoPacket) GetLeader added in v0.7.1

func (m *SetupInfoPacket) GetLeader() bool

func (*SetupInfoPacket) GetLeaderAddress added in v0.7.1

func (m *SetupInfoPacket) GetLeaderAddress() string

func (*SetupInfoPacket) GetLeaderTls added in v0.7.1

func (m *SetupInfoPacket) GetLeaderTls() bool

func (*SetupInfoPacket) GetNodes added in v0.7.1

func (m *SetupInfoPacket) GetNodes() uint32

func (*SetupInfoPacket) GetSecret added in v0.7.1

func (m *SetupInfoPacket) GetSecret() string

func (*SetupInfoPacket) GetThreshold added in v0.7.1

func (m *SetupInfoPacket) GetThreshold() uint32

func (*SetupInfoPacket) GetTimeout added in v0.7.1

func (m *SetupInfoPacket) GetTimeout() uint32

func (*SetupInfoPacket) ProtoMessage added in v0.7.1

func (*SetupInfoPacket) ProtoMessage()

func (*SetupInfoPacket) Reset added in v0.7.1

func (m *SetupInfoPacket) Reset()

func (*SetupInfoPacket) String added in v0.7.1

func (m *SetupInfoPacket) String() string

func (*SetupInfoPacket) XXX_DiscardUnknown added in v0.7.1

func (m *SetupInfoPacket) XXX_DiscardUnknown()

func (*SetupInfoPacket) XXX_Marshal added in v0.7.1

func (m *SetupInfoPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SetupInfoPacket) XXX_Merge added in v0.7.1

func (m *SetupInfoPacket) XXX_Merge(src proto.Message)

func (*SetupInfoPacket) XXX_Size added in v0.7.1

func (m *SetupInfoPacket) XXX_Size() int

func (*SetupInfoPacket) XXX_Unmarshal added in v0.7.1

func (m *SetupInfoPacket) XXX_Unmarshal(b []byte) error

type ShareRequest added in v0.5.2

type ShareRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ShareRequest requests the private share of a drand node

func (*ShareRequest) Descriptor added in v0.5.2

func (*ShareRequest) Descriptor() ([]byte, []int)

func (*ShareRequest) ProtoMessage added in v0.5.2

func (*ShareRequest) ProtoMessage()

func (*ShareRequest) Reset added in v0.5.2

func (m *ShareRequest) Reset()

func (*ShareRequest) String added in v0.5.2

func (m *ShareRequest) String() string

func (*ShareRequest) XXX_DiscardUnknown added in v0.5.2

func (m *ShareRequest) XXX_DiscardUnknown()

func (*ShareRequest) XXX_Marshal added in v0.5.2

func (m *ShareRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ShareRequest) XXX_Merge added in v0.5.2

func (m *ShareRequest) XXX_Merge(src proto.Message)

func (*ShareRequest) XXX_Size added in v0.5.2

func (m *ShareRequest) XXX_Size() int

func (*ShareRequest) XXX_Unmarshal added in v0.5.2

func (m *ShareRequest) XXX_Unmarshal(b []byte) error

type ShareResponse added in v0.5.2

type ShareResponse struct {
	Index                uint32   `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	Share                []byte   `protobuf:"bytes,3,opt,name=share,proto3" json:"share,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ShareResponse holds the private share of a drand node

func (*ShareResponse) Descriptor added in v0.5.2

func (*ShareResponse) Descriptor() ([]byte, []int)

func (*ShareResponse) GetIndex added in v0.5.2

func (m *ShareResponse) GetIndex() uint32

func (*ShareResponse) GetShare added in v0.5.2

func (m *ShareResponse) GetShare() []byte

func (*ShareResponse) ProtoMessage added in v0.5.2

func (*ShareResponse) ProtoMessage()

func (*ShareResponse) Reset added in v0.5.2

func (m *ShareResponse) Reset()

func (*ShareResponse) String added in v0.5.2

func (m *ShareResponse) String() string

func (*ShareResponse) XXX_DiscardUnknown added in v0.5.2

func (m *ShareResponse) XXX_DiscardUnknown()

func (*ShareResponse) XXX_Marshal added in v0.5.2

func (m *ShareResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ShareResponse) XXX_Merge added in v0.5.2

func (m *ShareResponse) XXX_Merge(src proto.Message)

func (*ShareResponse) XXX_Size added in v0.5.2

func (m *ShareResponse) XXX_Size() int

func (*ShareResponse) XXX_Unmarshal added in v0.5.2

func (m *ShareResponse) XXX_Unmarshal(b []byte) error

type ShutdownRequest added in v0.5.4

type ShutdownRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ShutdownRequest) Descriptor added in v0.5.4

func (*ShutdownRequest) Descriptor() ([]byte, []int)

func (*ShutdownRequest) ProtoMessage added in v0.5.4

func (*ShutdownRequest) ProtoMessage()

func (*ShutdownRequest) Reset added in v0.5.4

func (m *ShutdownRequest) Reset()

func (*ShutdownRequest) String added in v0.5.4

func (m *ShutdownRequest) String() string

func (*ShutdownRequest) XXX_DiscardUnknown added in v0.5.4

func (m *ShutdownRequest) XXX_DiscardUnknown()

func (*ShutdownRequest) XXX_Marshal added in v0.5.4

func (m *ShutdownRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ShutdownRequest) XXX_Merge added in v0.5.4

func (m *ShutdownRequest) XXX_Merge(src proto.Message)

func (*ShutdownRequest) XXX_Size added in v0.5.4

func (m *ShutdownRequest) XXX_Size() int

func (*ShutdownRequest) XXX_Unmarshal added in v0.5.4

func (m *ShutdownRequest) XXX_Unmarshal(b []byte) error

type ShutdownResponse added in v0.5.4

type ShutdownResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ShutdownResponse) Descriptor added in v0.5.4

func (*ShutdownResponse) Descriptor() ([]byte, []int)

func (*ShutdownResponse) ProtoMessage added in v0.5.4

func (*ShutdownResponse) ProtoMessage()

func (*ShutdownResponse) Reset added in v0.5.4

func (m *ShutdownResponse) Reset()

func (*ShutdownResponse) String added in v0.5.4

func (m *ShutdownResponse) String() string

func (*ShutdownResponse) XXX_DiscardUnknown added in v0.5.4

func (m *ShutdownResponse) XXX_DiscardUnknown()

func (*ShutdownResponse) XXX_Marshal added in v0.5.4

func (m *ShutdownResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ShutdownResponse) XXX_Merge added in v0.5.4

func (m *ShutdownResponse) XXX_Merge(src proto.Message)

func (*ShutdownResponse) XXX_Size added in v0.5.4

func (m *ShutdownResponse) XXX_Size() int

func (*ShutdownResponse) XXX_Unmarshal added in v0.5.4

func (m *ShutdownResponse) XXX_Unmarshal(b []byte) error

type SignalDKGPacket added in v0.9.0

type SignalDKGPacket struct {
	Node *Identity `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	// following parameters are helpful if leader and participants did not run
	// with the same parameters, so the leader can reply if it's not consistent.
	Expected    uint32 `protobuf:"varint,2,opt,name=expected,proto3" json:"expected,omitempty"`
	Threshold   uint32 `protobuf:"varint,3,opt,name=threshold,proto3" json:"threshold,omitempty"`
	DkgTimeout  uint64 `protobuf:"varint,4,opt,name=dkg_timeout,json=dkgTimeout,proto3" json:"dkg_timeout,omitempty"`
	SecretProof string `protobuf:"bytes,5,opt,name=secret_proof,json=secretProof,proto3" json:"secret_proof,omitempty"`
	// In resharing cases, previous_group_hash is the hash of the previous group.
	// It is to make sure the nodes build on top of the correct previous group.
	PreviousGroupHash    []byte   `protobuf:"bytes,6,opt,name=previous_group_hash,json=previousGroupHash,proto3" json:"previous_group_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

SignalDKGPacket is the packet nodes send to a coordinator that collects all keys and setups the group and sends them back to the nodes such that they can start the DKG automatically.

func (*SignalDKGPacket) Descriptor added in v0.9.0

func (*SignalDKGPacket) Descriptor() ([]byte, []int)

func (*SignalDKGPacket) GetDkgTimeout added in v0.9.0

func (m *SignalDKGPacket) GetDkgTimeout() uint64

func (*SignalDKGPacket) GetExpected added in v0.9.0

func (m *SignalDKGPacket) GetExpected() uint32

func (*SignalDKGPacket) GetNode added in v0.9.0

func (m *SignalDKGPacket) GetNode() *Identity

func (*SignalDKGPacket) GetPreviousGroupHash added in v0.9.0

func (m *SignalDKGPacket) GetPreviousGroupHash() []byte

func (*SignalDKGPacket) GetSecretProof added in v0.9.0

func (m *SignalDKGPacket) GetSecretProof() string

func (*SignalDKGPacket) GetThreshold added in v0.9.0

func (m *SignalDKGPacket) GetThreshold() uint32

func (*SignalDKGPacket) ProtoMessage added in v0.9.0

func (*SignalDKGPacket) ProtoMessage()

func (*SignalDKGPacket) Reset added in v0.9.0

func (m *SignalDKGPacket) Reset()

func (*SignalDKGPacket) String added in v0.9.0

func (m *SignalDKGPacket) String() string

func (*SignalDKGPacket) XXX_DiscardUnknown added in v0.9.0

func (m *SignalDKGPacket) XXX_DiscardUnknown()

func (*SignalDKGPacket) XXX_Marshal added in v0.9.0

func (m *SignalDKGPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignalDKGPacket) XXX_Merge added in v0.9.0

func (m *SignalDKGPacket) XXX_Merge(src proto.Message)

func (*SignalDKGPacket) XXX_Size added in v0.9.0

func (m *SignalDKGPacket) XXX_Size() int

func (*SignalDKGPacket) XXX_Unmarshal added in v0.9.0

func (m *SignalDKGPacket) XXX_Unmarshal(b []byte) error

type SyncRequest added in v0.6.1

type SyncRequest struct {
	FromRound            uint64   `protobuf:"varint,1,opt,name=from_round,json=fromRound,proto3" json:"from_round,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

SyncRequest is from a node that needs to sync up with the current head of the chain

func (*SyncRequest) Descriptor added in v0.6.1

func (*SyncRequest) Descriptor() ([]byte, []int)

func (*SyncRequest) GetFromRound added in v0.6.1

func (m *SyncRequest) GetFromRound() uint64

func (*SyncRequest) ProtoMessage added in v0.6.1

func (*SyncRequest) ProtoMessage()

func (*SyncRequest) Reset added in v0.6.1

func (m *SyncRequest) Reset()

func (*SyncRequest) String added in v0.6.1

func (m *SyncRequest) String() string

func (*SyncRequest) XXX_DiscardUnknown added in v0.6.1

func (m *SyncRequest) XXX_DiscardUnknown()

func (*SyncRequest) XXX_Marshal added in v0.6.1

func (m *SyncRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SyncRequest) XXX_Merge added in v0.6.1

func (m *SyncRequest) XXX_Merge(src proto.Message)

func (*SyncRequest) XXX_Size added in v0.6.1

func (m *SyncRequest) XXX_Size() int

func (*SyncRequest) XXX_Unmarshal added in v0.6.1

func (m *SyncRequest) XXX_Unmarshal(b []byte) error

type UnimplementedControlServer added in v0.6.1

type UnimplementedControlServer struct {
}

UnimplementedControlServer can be embedded to have forward compatible implementations.

func (*UnimplementedControlServer) CollectiveKey added in v0.6.1

func (*UnimplementedControlServer) GroupFile added in v0.6.1

func (*UnimplementedControlServer) InitDKG added in v0.6.1

func (*UnimplementedControlServer) InitReshare added in v0.6.1

func (*UnimplementedControlServer) PingPong added in v0.6.1

func (*UnimplementedControlServer) PingPong(ctx context.Context, req *Ping) (*Pong, error)

func (*UnimplementedControlServer) PrivateKey added in v0.6.1

func (*UnimplementedControlServer) PublicKey added in v0.6.1

func (*UnimplementedControlServer) Share added in v0.6.1

func (*UnimplementedControlServer) Shutdown added in v0.6.1

type UnimplementedProtocolServer added in v0.6.1

type UnimplementedProtocolServer struct {
}

UnimplementedProtocolServer can be embedded to have forward compatible implementations.

func (*UnimplementedProtocolServer) FreshDKG added in v0.7.1

func (*UnimplementedProtocolServer) PartialBeacon added in v0.7.5

func (*UnimplementedProtocolServer) PushDKGInfo added in v0.9.0

func (*UnimplementedProtocolServer) ReshareDKG added in v0.7.1

func (*UnimplementedProtocolServer) SignalDKGParticipant added in v0.9.0

func (*UnimplementedProtocolServer) SignalDKGParticipant(ctx context.Context, req *SignalDKGPacket) (*Empty, error)

func (*UnimplementedProtocolServer) SyncChain added in v0.6.1

type UnimplementedPublicServer added in v0.6.1

type UnimplementedPublicServer struct {
}

UnimplementedPublicServer can be embedded to have forward compatible implementations.

func (*UnimplementedPublicServer) DistKey added in v0.6.1

func (*UnimplementedPublicServer) Group added in v0.6.1

func (*UnimplementedPublicServer) Home added in v0.6.1

func (*UnimplementedPublicServer) PrivateRand added in v0.6.1

func (*UnimplementedPublicServer) PublicRand added in v0.6.1

func (*UnimplementedPublicServer) PublicRandStream added in v0.6.1

Jump to

Keyboard shortcuts

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