Documentation ¶
Overview ¶
Package oasisgo contains the Oasis components written in Go, including but not limited to the node binary.
Directories ¶
Path | Synopsis |
---|---|
beacon
|
|
api
Package api implements the random beacon API.
|
Package api implements the random beacon API. |
tests
Package tests is a collection of beacon implementation test cases.
|
Package tests is a collection of beacon implementation test cases. |
accessctl
Package accessctl implements access control for an Oasis node.
|
Package accessctl implements access control for an Oasis node. |
badger
Package badger contains convenience helpers for integrating BadgerDB.
|
Package badger contains convenience helpers for integrating BadgerDB. |
cache/lru
Package LRU implements an in-memory Least-Recently-Used cache.
|
Package LRU implements an in-memory Least-Recently-Used cache. |
cbor
Package cbor provides helpers for encoding and decoding canonical CBOR.
|
Package cbor provides helpers for encoding and decoding canonical CBOR. |
crash
Package crash provides a framework for adding probabilistic crash points.
|
Package crash provides a framework for adding probabilistic crash points. |
crypto/address
Package address implements a generic cryptographic address with versioning and context separation.
|
Package address implements a generic cryptographic address with versioning and context separation. |
crypto/drbg
Package drbg implements the HMAC_DRBG construct as per NIST Special Publication 800-90A Revision 1.
|
Package drbg implements the HMAC_DRBG construct as per NIST Special Publication 800-90A Revision 1. |
crypto/hash
Package hash implements a cryptographic hash over arbitrary binary data.
|
Package hash implements a cryptographic hash over arbitrary binary data. |
crypto/mathrand
Package mathrand implements an adapter from a cryptographically secure entropy source that implements an io.Reader to a math/rand.Source64.
|
Package mathrand implements an adapter from a cryptographically secure entropy source that implements an io.Reader to a math/rand.Source64. |
crypto/mrae/api
Package api implements the MRAE API and common helpers.
|
Package api implements the MRAE API and common helpers. |
crypto/mrae/deoxysii
Package deoxysii implements the Deoxys-II-256-128 based MRAE boxes.
|
Package deoxysii implements the Deoxys-II-256-128 based MRAE boxes. |
crypto/signature
Package signature provides wrapper types around public key signatures.
|
Package signature provides wrapper types around public key signatures. |
crypto/signature/signers/composite
Package composite provides a composite signer.
|
Package composite provides a composite signer. |
crypto/signature/signers/file
Package file provides a PEM file backed signer.
|
Package file provides a PEM file backed signer. |
crypto/signature/signers/memory
Package memory provides a memory backed Signer, primarily for use in testing.
|
Package memory provides a memory backed Signer, primarily for use in testing. |
crypto/signature/signers/plugin
Package plugin implements the Go plugin signature signer.
|
Package plugin implements the Go plugin signature signer. |
crypto/signature/signers/remote
Package remote provides a gRPC backed signer (both client and server).
|
Package remote provides a gRPC backed signer (both client and server). |
crypto/tls
Package tls implements helpful wrappers for dealing with TLS certificates.
|
Package tls implements helpful wrappers for dealing with TLS certificates. |
ctxsync
Package ctxsync contains some synchronization primitvies that are aware of a context becoming done and can bail on waits in that case.
|
Package ctxsync contains some synchronization primitvies that are aware of a context becoming done and can bail on waits in that case. |
encoding/bech32
Package bech32 provides implementation of Bech32 encoding specified in BIP 173: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki.
|
Package bech32 provides implementation of Bech32 encoding specified in BIP 173: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki. |
entity
Package entity implements common entity routines.
|
Package entity implements common entity routines. |
errors
Package errors implements errors that can be easily sent across the wire and reconstructed at the other end.
|
Package errors implements errors that can be easily sent across the wire and reconstructed at the other end. |
grpc
Package grpc implements common gRPC related services and utilities.
|
Package grpc implements common gRPC related services and utilities. |
grpc/auth
Package auth implements gRPC authentication server interceptors.
|
Package auth implements gRPC authentication server interceptors. |
grpc/policy/api
Package api defines the common gRPC policy service and data structures.
|
Package api defines the common gRPC policy service and data structures. |
grpc/proxy
Package proxy implements service agnostic gRPC reverse proxy.
|
Package proxy implements service agnostic gRPC reverse proxy. |
grpc/testing
Package testing implements common grpc testing helpers.
|
Package testing implements common grpc testing helpers. |
identity
Package identity encapsulates the node identity.
|
Package identity encapsulates the node identity. |
logging
Package logging implements support for structured logging.
|
Package logging implements support for structured logging. |
node
Package node implements common node identity routines.
|
Package node implements common node identity routines. |
pem
Package pem provides handy wrappers for dealing with PEM files.
|
Package pem provides handy wrappers for dealing with PEM files. |
persistent
Package persistent provides a wrapper around a key-value database for use as general node-wide storage.
|
Package persistent provides a wrapper around a key-value database for use as general node-wide storage. |
pubsub
Package pubsub implements a generic publish-subscribe interface.
|
Package pubsub implements a generic publish-subscribe interface. |
random
Package random provides a concurrency safe https://golang.org/pkg/math/rand/#Rand object.
|
Package random provides a concurrency safe https://golang.org/pkg/math/rand/#Rand object. |
service
Package service provides service primitives.
|
Package service provides service primitives. |
sgx
Package SGX provides common Intel SGX datatypes and utilities.
|
Package SGX provides common Intel SGX datatypes and utilities. |
sgx/aesm
Package aesm provides a client for AESMD.
|
Package aesm provides a client for AESMD. |
sgx/ias
Package ias provides routines for interacting with the Intel Attestation Service.
|
Package ias provides routines for interacting with the Intel Attestation Service. |
syscall
Package syscall defines OS-specific syscall parameters.
|
Package syscall defines OS-specific syscall parameters. |
tracing
Package tracing complements the opentracing go package.
|
Package tracing complements the opentracing go package. |
version
Package version implements Oasis protocol and runtime versioning.
|
Package version implements Oasis protocol and runtime versioning. |
workerpool
Package workerpool implements a simple goroutine-based workerpool with a configurable number of workers.
|
Package workerpool implements a simple goroutine-based workerpool with a configurable number of workers. |
consensus
|
|
api
Package consensus provides the implementation agnostic consensus backend.
|
Package consensus provides the implementation agnostic consensus backend. |
genesis
Package genesis provides consensus config flags that should be part of the genesis state.
|
Package genesis provides consensus config flags that should be part of the genesis state. |
tendermint/abci
Package abci implements the tendermint ABCI application integration.
|
Package abci implements the tendermint ABCI application integration. |
tendermint/api
Package api implements the API between Oasis ABCI application and Oasis core.
|
Package api implements the API between Oasis ABCI application and Oasis core. |
tendermint/apps/beacon
Package beacon implements the beacon application.
|
Package beacon implements the beacon application. |
tendermint/apps/epochtime_mock
Package epochtimemock implements the mock epochtime application.
|
Package epochtimemock implements the mock epochtime application. |
tendermint/apps/keymanager
Package keymanager implements the key manager management application.
|
Package keymanager implements the key manager management application. |
tendermint/apps/registry
Package registry implements the registry application.
|
Package registry implements the registry application. |
tendermint/apps/roothash
Package roothash implements the roothash application.
|
Package roothash implements the roothash application. |
tendermint/apps/staking
Package staking implements the staking application.
|
Package staking implements the staking application. |
tendermint/beacon
Package beacon implements the tendermint backed beacon backend.
|
Package beacon implements the tendermint backed beacon backend. |
tendermint/crypto
Package crypto implements tendermint specific cryptography.
|
Package crypto implements tendermint specific cryptography. |
tendermint/db
Package db implements several Tendermint DB backends.
|
Package db implements several Tendermint DB backends. |
tendermint/db/badger
Package badger implements a tendermint DB, backed by BadgerDB.
|
Package badger implements a tendermint DB, backed by BadgerDB. |
tendermint/db/tests
Package tests is a collection of tendermint DB backend tests.
|
Package tests is a collection of tendermint DB backend tests. |
tendermint/epochtime
Package epochtime implements the tendermint backed epochtime backend.
|
Package epochtime implements the tendermint backed epochtime backend. |
tendermint/epochtime_mock
Package epochtimemock implements the mock (settable) tendermint backed epochtime backend.
|
Package epochtimemock implements the mock (settable) tendermint backed epochtime backend. |
tendermint/full
Package full implements a full Tendermint consensus node.
|
Package full implements a full Tendermint consensus node. |
tendermint/keymanager
Package keymanager provides the tendermint backed key manager management implementation.
|
Package keymanager provides the tendermint backed key manager management implementation. |
tendermint/light
Package light provides a light Tendermint consensus backend implementation.
|
Package light provides a light Tendermint consensus backend implementation. |
tendermint/registry
Package registry implements the tendermint backed registry backend.
|
Package registry implements the tendermint backed registry backend. |
tendermint/roothash
Package roothash implements the tendermint backed roothash backend.
|
Package roothash implements the tendermint backed roothash backend. |
tendermint/scheduler
Package scheduler implements the tendermint backed scheduling backend.
|
Package scheduler implements the tendermint backed scheduling backend. |
tendermint/staking
Package staking implements the tendermint backed staking backend.
|
Package staking implements the tendermint backed staking backend. |
tests
Package tests is a collection of consensus implementation test cases.
|
Package tests is a collection of consensus implementation test cases. |
Package control implements an oasis-node controller.
|
Package control implements an oasis-node controller. |
api
Package api implements the node control API.
|
Package api implements the node control API. |
epochtime
|
|
api
Package api implements the Oasis timekeeping API and common types.
|
Package api implements the Oasis timekeeping API and common types. |
tests
Package tests is a collection of epochtime implementation test cases.
|
Package tests is a collection of epochtime implementation test cases. |
extra
|
|
extract-metrics
extract-metrics extracts prometheus metrics from .go source
|
extract-metrics extracts prometheus metrics from .go source |
genesis
|
|
api
Package api defines the Oasis genesis block.
|
Package api defines the Oasis genesis block. |
file
Package file implements a file genesis provider.
|
Package file implements a file genesis provider. |
tests
Package tests contains genesis test helpers.
|
Package tests contains genesis test helpers. |
Package ias implements the IAS endpoints.
|
Package ias implements the IAS endpoints. |
api
Package api defines the IAS interfaces.
|
Package api defines the IAS interfaces. |
http
Package http implements the HTTP IAS endpoint.
|
Package http implements the HTTP IAS endpoint. |
proxy
Package proxy implements the Oasis IAS proxy endpoint.
|
Package proxy implements the Oasis IAS proxy endpoint. |
proxy/client
Package client implements the Oasis IAS proxy client endpoint.
|
Package client implements the Oasis IAS proxy client endpoint. |
keymanager
|
|
api
Package api implements the key manager management API and common data types.
|
Package api implements the key manager management API and common data types. |
client
Package client implements the key manager client.
|
Package client implements the key manager client. |
Oasis "network" runner (for testing only).
|
Oasis "network" runner (for testing only). |
cmd
Package cmd implements commands for oasis-net-runner executable.
|
Package cmd implements commands for oasis-net-runner executable. |
fixtures
Package fixtures provides network configuration fixtures.
|
Package fixtures provides network configuration fixtures. |
Oasis node implementation.
|
Oasis node implementation. |
cmd
Package cmd implements the commands for the oasis-node executable.
|
Package cmd implements the commands for the oasis-node executable. |
cmd/common
Package common implements common oasis-node command options and utilities.
|
Package common implements common oasis-node command options and utilities. |
cmd/common/background
Package background implements utilities for managing background services.
|
Package background implements utilities for managing background services. |
cmd/common/consensus
Package consensus contains common consensus-related flags.
|
Package consensus contains common consensus-related flags. |
cmd/common/flags
Package flags implements common flags used across multiple commands and backends.
|
Package flags implements common flags used across multiple commands and backends. |
cmd/common/genesis
Package genesis implements common genesis document manipulation routines.
|
Package genesis implements common genesis document manipulation routines. |
cmd/common/grpc
Package grpc implements common gRPC command-line flags.
|
Package grpc implements common gRPC command-line flags. |
cmd/common/metrics
Package metrics implements a prometheus metrics service.
|
Package metrics implements a prometheus metrics service. |
cmd/common/pprof
Package pprof implements a pprof profiling service.
|
Package pprof implements a pprof profiling service. |
cmd/common/signer
Package signer implements helpers for configuring the signer.
|
Package signer implements helpers for configuring the signer. |
cmd/common/tracing
Package tracing implements a tracing service.
|
Package tracing implements a tracing service. |
cmd/consensus
Package genesis implements the consensus sub-commands.
|
Package genesis implements the consensus sub-commands. |
cmd/control
Package control implements the control sub-commands.
|
Package control implements the control sub-commands. |
cmd/debug
Package debug implements various sub-commands useful for debugging.
|
Package debug implements various sub-commands useful for debugging. |
cmd/debug/consim
Package consim implements the mock consensus simulator.
|
Package consim implements the mock consensus simulator. |
cmd/debug/control
Package control implements the control debug sub-commands.
|
Package control implements the control debug sub-commands. |
cmd/debug/dumpdb
Package dumpdb implements the dumpdb sub-command.
|
Package dumpdb implements the dumpdb sub-command. |
cmd/debug/fixgenesis
Package fixgenesis implements the fix-genesis command.
|
Package fixgenesis implements the fix-genesis command. |
cmd/debug/storage
Package storage implements the storage debug sub-commands.
|
Package storage implements the storage debug sub-commands. |
cmd/genesis
Package genesis implements the genesis sub-commands.
|
Package genesis implements the genesis sub-commands. |
cmd/ias
Package ias implements the IAS sub commands.
|
Package ias implements the IAS sub commands. |
cmd/identity
Package identity implements the identity sub-commands.
|
Package identity implements the identity sub-commands. |
cmd/identity/tendermint
Package tendermint implements the tendermint identity sub-commands.
|
Package tendermint implements the tendermint identity sub-commands. |
cmd/keymanager
Package keymanager implements the keymanager sub-commands.
|
Package keymanager implements the keymanager sub-commands. |
cmd/node
Package node implements the Oasis node.
|
Package node implements the Oasis node. |
cmd/registry
Package registry implements the registry sub-commands.
|
Package registry implements the registry sub-commands. |
cmd/registry/entity
Package entity implements the entity registry sub-commands.
|
Package entity implements the entity registry sub-commands. |
cmd/registry/node
Package node implements the node registry sub-commands.
|
Package node implements the node registry sub-commands. |
cmd/registry/runtime
Package runtime implements the runtime registry sub-commands.
|
Package runtime implements the runtime registry sub-commands. |
cmd/signer
Package signer registers all subcommands needed by specific signers
|
Package signer registers all subcommands needed by specific signers |
cmd/stake
Package stake implements the staking sub-commands.
|
Package stake implements the staking sub-commands. |
Oasis remote signer implementation.
|
Oasis remote signer implementation. |
cmd
Package cmd implements the commands for the oasis-remote-signer executable.
|
Package cmd implements the commands for the oasis-remote-signer executable. |
Oasis network integration test harness.
|
Oasis network integration test harness. |
cmd
Package cmd implements the commands for the test-runner executable.
|
Package cmd implements the commands for the test-runner executable. |
cmd/common
Package common contains common constants and variables.
|
Package common contains common constants and variables. |
env
Package env defines a scenario environment.
|
Package env defines a scenario environment. |
log
Package log provides utilities for watching log files.
|
Package log provides utilities for watching log files. |
oasis
Package oasis provides the Oasis network/node/client related test helpers.
|
Package oasis provides the Oasis network/node/client related test helpers. |
oasis/cli
Package cli contains helpers for various oasis-node subcommands.
|
Package cli contains helpers for various oasis-node subcommands. |
scenario
Package scenario implements the test scenario abstract interface.
|
Package scenario implements the test scenario abstract interface. |
scenario/e2e
Package e2e implements the Oasis e2e test scenarios.
|
Package e2e implements the Oasis e2e test scenarios. |
scenario/pluginsigner
Package pluginsigner implements the Oasis plugin-signer test scenario.
|
Package pluginsigner implements the Oasis plugin-signer test scenario. |
scenario/pluginsigner/example_signer_plugin
Package main implements an example oasis-node signer plugin.
|
Package main implements an example oasis-node signer plugin. |
scenario/remotesigner
Package remotesigner implements the Oasis remote-signer test scenarios.
|
Package remotesigner implements the Oasis remote-signer test scenarios. |
scenario/signer
Package signer implements the common signer test cases.
|
Package signer implements the common signer test cases. |
api
Package api implements the runtime and entity registry APIs.
|
Package api implements the runtime and entity registry APIs. |
gen_vectors
gen_vectors generates test vectors for the registry transactions.
|
gen_vectors generates test vectors for the registry transactions. |
tests
Package tests is a collection of registry implementation test cases.
|
Package tests is a collection of registry implementation test cases. |
api
Package api implements the root hash backend API and common datastructures.
|
Package api implements the root hash backend API and common datastructures. |
api/block
Package block implements the roothash block and header.
|
Package block implements the roothash block and header. |
api/commitment
Package commitment defines a roothash commitment.
|
Package commitment defines a roothash commitment. |
tests
Package tests si a collection of roothash implementation test cases.
|
Package tests si a collection of roothash implementation test cases. |
runtime
|
|
client
Package client contains the runtime client.
|
Package client contains the runtime client. |
client/tests
Package tests is a collection of client interface test cases.
|
Package tests is a collection of client interface test cases. |
enclaverpc/api
Package api defines the EnclaveRPC interface.
|
Package api defines the EnclaveRPC interface. |
history
Package history implements the runtime block history and pruning policy.
|
Package history implements the runtime block history and pruning policy. |
host
Package host implements the functionality to provision and talk to runtimes.
|
Package host implements the functionality to provision and talk to runtimes. |
host/mock
Package mock implements a mock runtime host useful for tests.
|
Package mock implements a mock runtime host useful for tests. |
host/protocol
Package protocol implements the Runtime Host Protocol.
|
Package protocol implements the Runtime Host Protocol. |
host/sandbox
Package sandbox implements the runtime provisioner for runtimes in sandboxed processes.
|
Package sandbox implements the runtime provisioner for runtimes in sandboxed processes. |
host/sandbox/process
Package process implements a process sandboxing mechanism.
|
Package process implements a process sandboxing mechanism. |
host/sgx
Package sgx implements the runtime provisioner for runtimes in Intel SGX enclaves.
|
Package sgx implements the runtime provisioner for runtimes in Intel SGX enclaves. |
host/tests
Package tests contains common tests for runtime host implementations.
|
Package tests contains common tests for runtime host implementations. |
localstorage
Package localstorage implements untrusted local storage that is used by runtimes to store per-node key/value pairs.
|
Package localstorage implements untrusted local storage that is used by runtimes to store per-node key/value pairs. |
registry
Package registry provides a registry of runtimes supported by the running oasis-node.
|
Package registry provides a registry of runtimes supported by the running oasis-node. |
scheduling/api
Package api implements the transaction scheduler algorithm API.
|
Package api implements the transaction scheduler algorithm API. |
scheduling/simple
Package simple implements a simple batching transaction scheduler.
|
Package simple implements a simple batching transaction scheduler. |
scheduling/simple/txpool
Package tests is a collection of transactinon pool test cases.
|
Package tests is a collection of transactinon pool test cases. |
scheduling/simple/txpool/api
Package api defines the transaction pool interfaces.
|
Package api defines the transaction pool interfaces. |
scheduling/simple/txpool/orderedmap
Package orderedmap implements a tx pool backed by an ordered map.
|
Package orderedmap implements a tx pool backed by an ordered map. |
scheduling/tests
Package tests is a collection of worker test cases.
|
Package tests is a collection of worker test cases. |
tagindexer
Package tagindexer implements the runtime transaction tag indexer.
|
Package tagindexer implements the runtime transaction tag indexer. |
transaction
Package transaction implements the runtime transaction semantics.
|
Package transaction implements the runtime transaction semantics. |
scheduler
|
|
api
Package api defines the committee scheduler API.
|
Package api defines the committee scheduler API. |
tests
Package tests is a collection of scheduler implementation test cases.
|
Package tests is a collection of scheduler implementation test cases. |
Package sentry implements the sentry backend.
|
Package sentry implements the sentry backend. |
api
Package api implements the sentry backend API.
|
Package api implements the sentry backend API. |
client
Package client implements a client for Oasis sentry nodes.
|
Package client implements a client for Oasis sentry nodes. |
staking
|
|
api
Package api implements the staking backend API.
|
Package api implements the staking backend API. |
api/token
Package token implements the token-related parts of the staking API.
|
Package token implements the token-related parts of the staking API. |
gen_vectors
gen_vectors generates test vectors for the staking transactions.
|
gen_vectors generates test vectors for the staking transactions. |
tests
Package tests is a collection of staking backend implementation tests.
|
Package tests is a collection of staking backend implementation tests. |
Package storage implements the storage backend.
|
Package storage implements the storage backend. |
api
Package api implements the storage backend API.
|
Package api implements the storage backend API. |
client
Package client implements a client for Oasis storage nodes.
|
Package client implements a client for Oasis storage nodes. |
database
Package database implements a database backed storage backend.
|
Package database implements a database backed storage backend. |
mkvs
Package mkvs provides a Merklized Key-Value Store (MKVS) implementation.
|
Package mkvs provides a Merklized Key-Value Store (MKVS) implementation. |
mkvs/checkpoint
Package checkpoint provides methods for creating MKVS checkpoints.
|
Package checkpoint provides methods for creating MKVS checkpoints. |
mkvs/db/api
Package api provides a persistent node database interface for MKVS trees.
|
Package api provides a persistent node database interface for MKVS trees. |
mkvs/db/badger
Package badger provides a Badger-backed node database.
|
Package badger provides a Badger-backed node database. |
mkvs/interop
MKVS interoperability test helpers.
|
MKVS interoperability test helpers. |
mkvs/interop/cmd
Package cmd implements the commands for MKVS interoperability test helpers.
|
Package cmd implements the commands for MKVS interoperability test helpers. |
mkvs/node
Package node defines MKVS tree nodes.
|
Package node defines MKVS tree nodes. |
mkvs/syncer
Package syncer provides the read-only sync interface.
|
Package syncer provides the read-only sync interface. |
mkvs/tests
Package tests contains helpers for testing MKVS trees.
|
Package tests contains helpers for testing MKVS trees. |
tests
Package tests is a collection of storage implementation test cases.
|
Package tests is a collection of storage implementation test cases. |
Package upgrade implements the node upgrade backend.
|
Package upgrade implements the node upgrade backend. |
api
Package api defines the interface exporting the upgrade infrastructure's functionality.
|
Package api defines the interface exporting the upgrade infrastructure's functionality. |
migrations
Package migrations implements upgrade migration handlers.
|
Package migrations implements upgrade migration handlers. |
worker
|
|
common/p2p
Package p2p implements the worker committee gossip network.
|
Package p2p implements the worker committee gossip network. |
common/p2p/error
Package error exists only to break an import loop.
|
Package error exists only to break an import loop. |
compute/executor/tests
Package tests is a collection of worker test cases.
|
Package tests is a collection of worker test cases. |
consensusrpc
Package consensus implements publicly accessible consensus services.
|
Package consensus implements publicly accessible consensus services. |
keymanager
Package keymanager implements the key manager worker.
|
Package keymanager implements the key manager worker. |
sentry/grpc
Package grpc implements a gRPC sentry worker.
|
Package grpc implements a gRPC sentry worker. |
storage/tests
Package tests is a collection of storage worker test cases.
|
Package tests is a collection of storage worker test cases. |
Click to show internal directories.
Click to hide internal directories.