Expand description
§guillotine-rs
Safe Rust bindings for the Guillotine EVM - a high-performance Ethereum Virtual Machine implementation written in Zig.
§Example
use guillotine_ffi::{Evm, EvmBuilder};
use alloy_primitives::{Address, U256};
// Create EVM instance
let mut evm = EvmBuilder::new().build()?;
// Set up account
let account = Address::from([0x11; 20]);
evm.set_balance(account, U256::from(1_000_000))?;
// Execute transaction
let result = evm.transact()
.from(account)
.to(Address::from([0x22; 20]))
.value(U256::from(1000))
.gas_limit(21000)
.execute()?;
Structs§
- Address
- An Ethereum address, 20 bytes in length.
- Bytes
- Wrapper type around
bytes::Bytes
to support “0x” prefixed hex strings. - Evm
- Safe Rust wrapper for Guillotine EVM
- EvmBuilder
- Builder for configuring EVM instances
- Execution
Result - Result of executing a transaction on the EVM
- Log
- An EVM log entry
- Transaction
Builder - Transaction builder for fluent transaction construction
Enums§
- Call
Type - Call type for EVM operations
Functions§
- address_
from_ hex - Utility function to create an address from hex string
- bytecode_
from_ hex - Utility function to parse bytecode from hex string
- initialize
- Initialize the FFI layer. Call this once at the start of your program.
Type Aliases§
- B256
- 32-byte fixed byte-array type.
- U256
- 256-bit unsigned integer type, consisting of 4, 64-bit limbs.