fix: only run tracing example if env var is set (#1517)

This commit is contained in:
Matthias Seitz 2022-07-26 17:25:43 +02:00 committed by GitHub
parent cb7e586645
commit c12033f436
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 8 deletions

View File

@ -1,16 +1,19 @@
use ethers::prelude::*; use ethers::prelude::*;
use eyre::Result; use eyre::Result;
use std::{env, str::FromStr}; use std::str::FromStr;
/// use `debug_traceTransaction` to fetch traces
/// requires, a valid endpoint in `RPC_URL` env var that supports `debug_traceTransaction`
#[tokio::main] #[tokio::main]
async fn main() -> Result<()> { async fn main() -> Result<()> {
let rpc_url: String = env::var("RPC_URL")?; if let Ok(url) = std::env::var("RPC_URL") {
let client = Provider::<Http>::try_from(rpc_url)?; let client = Provider::<Http>::try_from(url)?;
let tx_hash = "0x97a02abf405d36939e5b232a5d4ef5206980c5a6661845436058f30600c52df7"; let tx_hash = "0x97a02abf405d36939e5b232a5d4ef5206980c5a6661845436058f30600c52df7";
let h: H256 = H256::from_str(tx_hash)?; let h: H256 = H256::from_str(tx_hash)?;
let options: GethDebugTracingOptions = GethDebugTracingOptions::default(); let options: GethDebugTracingOptions = GethDebugTracingOptions::default();
let traces = client.debug_trace_transaction(h, options).await?; let traces = client.debug_trace_transaction(h, options).await?;
println!("{:?}", traces); println!("{:?}", traces);
}
Ok(()) Ok(())
} }