Examples
Complete runnable examples
Available Examples
Getting Started
Example
Description
Core Workflows
Example
Description
Example Template
use seismic_prelude::client::*;
use seismic_alloy_network::reth::SeismicReth;
sol! {
#[sol(rpc)]
contract MyContract {
function myMethod(uint256 value) public;
function myView() public view returns (bool);
}
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 1. Set up provider
let signer: PrivateKeySigner = std::env::var("PRIVATE_KEY")?.parse()?;
let wallet = SeismicWallet::<SeismicReth>::from(signer);
let url: reqwest::Url = std::env::var("RPC_URL")?.parse()?;
let provider = SeismicProviderBuilder::new()
.wallet(wallet)
.connect_http(url)
.await?;
let contract_address: Address = std::env::var("CONTRACT_ADDRESS")?.parse()?;
let contract = MyContract::new(contract_address, &provider);
// 2. Shielded write
contract.myMethod(U256::from(42))
.seismic()
.send()
.await?
.get_receipt()
.await?;
// 3. Signed read
let result = contract.myView().seismic().call().await?;
Ok(())
}Running Examples
See Also
Last updated

