package server

import "github.com/google/trillian/server"

Package server contains the Trillian log server implementation.

Index

Types

type TrillianLogRPCServer

type TrillianLogRPCServer struct {
	// contains filtered or unexported fields
}

TrillianLogRPCServer implements the RPC API defined in the proto

func NewTrillianLogRPCServer

func NewTrillianLogRPCServer(registry extension.Registry, timeSource clock.TimeSource) *TrillianLogRPCServer

NewTrillianLogRPCServer creates a new RPC server backed by a LogStorageProvider.

func (*TrillianLogRPCServer) AddSequencedLeaves

AddSequencedLeaves submits a batch of sequenced leaves to a pre-ordered log for later integration into its underlying tree.

func (*TrillianLogRPCServer) GetConsistencyProof

GetConsistencyProof obtains a proof that two versions of the tree are consistent with each other and that the later tree includes all the entries of the prior one. For more details see the example trees in RFC 6962.

func (*TrillianLogRPCServer) GetEntryAndProof

GetEntryAndProof returns both a Merkle Leaf entry and an inclusion proof for a given index and tree size.

func (*TrillianLogRPCServer) GetInclusionProof

GetInclusionProof obtains the proof of inclusion in the tree for a leaf that has been sequenced. Similar to the get proof by hash handler but one less step as we don't need to look up the index

func (*TrillianLogRPCServer) GetInclusionProofByHash

GetInclusionProofByHash obtains proofs of inclusion by leaf hash. Because some logs can contain duplicate hashes it is possible for multiple proofs to be returned.

func (*TrillianLogRPCServer) GetLatestSignedLogRoot

GetLatestSignedLogRoot obtains the latest published tree root for the Merkle Tree that underlies the log.

func (*TrillianLogRPCServer) GetLeavesByRange

GetLeavesByRange obtains leaves based on a range of sequence numbers within the tree. This only fetches sequenced leaves; leaves that have been queued but not yet integrated are not visible.

func (*TrillianLogRPCServer) InitLog

InitLog initialises a freshly created Log by creating the first STH with size 0.

func (*TrillianLogRPCServer) IsHealthy

func (t *TrillianLogRPCServer) IsHealthy() error

IsHealthy returns nil if the server is healthy, error otherwise.

func (*TrillianLogRPCServer) QueueLeaf

QueueLeaf submits one leaf to the queue.

Source Files

doc.go log_rpc_server.go proof_fetcher.go validate.go

Directories

PathSynopsis
server/adminPackage admin contains the TrillianAdminServer implementation.
server/errorsPackage errors contains utilities to translate TrillianErrors to gRPC errors.
server/interceptorPackage interceptor defines gRPC interceptors for Trillian.
Version
v1.7.1 (latest)
Published
Jan 9, 2025
Platform
linux/amd64
Imports
18 packages
Last checked
5 days ago

Tools for package owners.