downloadInstallation

Cargo setup, dependencies, and prerequisites for seismic-alloy

Prerequisites

Requirement
Version
Notes

Rust

1.82+

OpenSSL

System

Required by seismic-enclave for cryptographic operations

Tokio runtime

1.x

Async runtime (most Alloy operations are async)

Add to Cargo.toml

seismic-alloy is not yet published to crates.io. Install it as a git dependency:

[dependencies]
seismic-alloy = { git = "https://github.com/SeismicSystems/seismic-alloy" }

Pin to a Specific Revision

For reproducible builds, pin to a specific commit:

[dependencies]
seismic-alloy = { git = "https://github.com/SeismicSystems/seismic-alloy", rev = "abc1234" }

Pin to a Branch

[dependencies]
seismic-alloy = { git = "https://github.com/SeismicSystems/seismic-alloy", branch = "main" }

Workspace Crates

The seismic-alloy workspace contains six crates. The prelude crate re-exports everything you need for most use cases:

Crate
Description

seismic-alloy-consensus

Seismic transaction types and consensus logic

seismic-alloy-network

SeismicNetwork trait, SeismicReth, SeismicFoundry network types

seismic-alloy-provider

SeismicSignedProvider, SeismicUnsignedProvider, filler pipeline

seismic-alloy-rpc-types

Seismic-specific RPC request and response types

seismic-alloy-genesis

Genesis configuration types

seismic-alloy-prelude

Convenience re-exports from all crates

Using Individual Crates

If you only need specific functionality, you can depend on individual crates:

The Prelude

The recommended import pattern uses the prelude crate, which re-exports commonly used types:

This brings into scope:

  • SeismicSignedProvider, SeismicUnsignedProvider

  • SeismicWallet

  • SeismicReth, SeismicFoundry, SeismicNetwork

  • SeismicProviderExt trait

  • Convenience functions: sreth_signed_provider(), sfoundry_signed_provider(), sreth_unsigned_provider(), sfoundry_unsigned_provider()

  • Seismic transaction types and RPC types

Key Dependencies

seismic-alloy builds on these foundational crates:

Dependency
Version
Purpose

alloy

1.1.0

Core Ethereum toolkit (providers, signers, transports)

alloy-primitives

--

With "seismic" feature flag enabled

seismic-enclave

0.1.0

TEE key exchange and AES-GCM encryption

tokio

1.x

Async runtime

reqwest

--

HTTP transport for RPC calls

Additional Runtime Dependencies

You will also need a signer crate and an async runtime in your project:

Minimal Working Example

Create a new project and verify the installation:

Set up Cargo.toml:

Write src/main.rs:

Build and run:

Troubleshooting

OpenSSL Not Found

If you see linker errors related to OpenSSL:

Rust Version Too Old

seismic-alloy requires Rust 1.82 or newer:

Git Authentication

If the git dependency fails to fetch, ensure you have SSH or HTTPS access to the repository:

Notes

  • The workspace version is 0.0.1 -- the API may change before a stable release

  • The Rust edition is 2021

  • alloy-primitives is used with the "seismic" feature flag, which adds Seismic-specific primitive types

  • All provider operations are async and require a Tokio runtime

See Also

Last updated