sdk

package module
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

README

raidan-sdk

Neutral Go primitives for portable Ethereum protocol test cases.

Folder Contents
root Test function types, targets, execution, and RLP encoding
discovery ENR, enode, DNS discovery, discv4, and discv5
eth ETH protocol messages, negotiation, and request matching
gossipsub Consensus gossip topics and publishing
reqresp Consensus request/response protocols and SSZ-snappy framing
result Structured verdicts
rlpx RLPx authentication, framing, and base messages
rpc Execution JSON-RPC and chain metadata
session Context, deadlines, output, metadata, and observation
snap SNAP protocol messages and request matching
target Execution and consensus endpoints
utils Keys, byte formatting, and terminal styles
wit Witness protocol connections and messages

License

Apache-2.0. See LICENSE.

Documentation

Overview

Package sdk exposes the small, stable execution surface shared by portable Ethereum cases and their host programs. Protocol-specific wire operations remain in the SDK's subpackages.

Index

Constants

View Source
const (
	// VerdictAccept indicates that the target behaved as expected.
	VerdictAccept = result.VerdictAccept
	// VerdictDisconnect indicates that the target disconnected unexpectedly.
	VerdictDisconnect = result.VerdictDisconnect
	// VerdictTimeout indicates that the target did not respond in time.
	VerdictTimeout = result.VerdictTimeout
	// VerdictInvalid indicates an invalid or inconclusive target response.
	VerdictInvalid = result.VerdictInvalid
	// VerdictBug indicates a protocol bug in the target.
	VerdictBug = result.VerdictBug
	// VerdictCrash indicates that the target crashed.
	VerdictCrash = result.VerdictCrash
)
View Source
const Version = "v0.1.7"

Version identifies this SDK release.

Variables

This section is empty.

Functions

func EncodeRLPBytes

func EncodeRLPBytes(payload []byte) []byte

EncodeRLPBytes returns the canonical RLP byte-string encoding of payload.

func EncodeRLPList

func EncodeRLPList(items ...[]byte) []byte

EncodeRLPList wraps caller-supplied, pre-encoded RLP items in one list.

Types

type Observer

type Observer = session.Observer

Observer receives protocol writes emitted by a case.

type Result

type Result = result.Result

Result is the stable machine-readable outcome returned by every case.

func Run

func Run(ctx context.Context, test Test, target Target, scope Scope) Result

Run invokes test with output and client metadata attached to its context. Callers that need additional context values attach them before calling Run.

type Scope

type Scope = session.Scope

Scope supplies case output, client identity, and write observation.

type Target

type Target = target.Target

Target describes the execution and consensus endpoints exercised by a case.

type Test

type Test = target.Test

Test is the canonical portable case signature.

type Verdict

type Verdict = result.Verdict

Verdict classifies the outcome of a portable case.

type Write

type Write = session.Write

Write describes one protocol write observed during a case.

Directories

Path Synopsis
Package discovery provides Ethereum node discovery primitives.
Package discovery provides Ethereum node discovery primitives.
Package eth provides the execution-layer ETH devp2p capability.
Package eth provides the execution-layer ETH devp2p capability.
Package gossipsub provides Ethereum consensus-layer gossip publishing.
Package gossipsub provides Ethereum consensus-layer gossip publishing.
Package reqresp provides Ethereum consensus-layer request/response streams.
Package reqresp provides Ethereum consensus-layer request/response streams.
Package result classifies an operation with a stable Verdict and detail.
Package result classifies an operation with a stable Verdict and detail.
Package rlpx provides Ethereum's encrypted RLPx transport and devp2p base protocol primitives.
Package rlpx provides Ethereum's encrypted RLPx transport and devp2p base protocol primitives.
Package rpc provides bounded execution-layer JSON-RPC access.
Package rpc provides bounded execution-layer JSON-RPC access.
Package session carries output, client metadata, and write observation in a standard context.Context.
Package session carries output, client metadata, and write observation in a standard context.Context.
Package snap provides the SNAP state-sync capability and its packet model.
Package snap provides the SNAP state-sync capability and its packet model.
Package target describes the HTTP and peer-to-peer endpoints of an Ethereum node pair.
Package target describes the HTTP and peer-to-peer endpoints of an Ethereum node pair.
Package utils provides deterministic identity and presentation helpers shared by the wire packages.
Package utils provides deterministic identity and presentation helpers shared by the wire packages.
Package wit implements the WIT/1 execution-witness devp2p capability.
Package wit implements the WIT/1 execution-witness devp2p capability.

Jump to

Keyboard shortcuts

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