mojtaba-eshghie / HighGuard

The runtime monitoring tool for smart contracts business logic.
https://dl.acm.org/doi/abs/10.1145/3691620.3695356
MIT License
6 stars 2 forks source link

Monitor Literature, Tools, Materials #82

Open mojtaba-eshghie opened 7 months ago

mojtaba-eshghie commented 7 months ago

GETH Tracing GETH Basic traces Built-in tracers Custom EVM tracer

mojtaba-eshghie commented 7 months ago

A symbolic testing tool for EVM smart contracts https://github.com/a16z/halmos/

mojtaba-eshghie commented 7 months ago

A repo to showcase web3 hacks https://github.com/Cyfrin/sc-exploits-minimized

mojtaba-eshghie commented 7 months ago

Kontrol combines KEVM and Foundry to grant developers the ability to perform formal verification without learning a new language or tool. https://github.com/runtimeverification/kontrol

K Tutorial https://github.com/runtimeverification/k/tree/master/k-distribution/k-tutorial

mojtaba-eshghie commented 7 months ago

Transaction trace_call RPC Method (quicknode) Look at stateDiff parameter: It returns the information on altered Ethereum state due to execution of the given transaction https://www.quicknode.com/docs/ethereum/trace_call

mojtaba-eshghie commented 7 months ago

Tracediff allows you to load evm (jsonl) files and find differences. Traceview allows you to analyse an evm trace file https://github.com/holiman/goevmlab

mojtaba-eshghie commented 6 months ago

Forking the blockchain using Ganache and Foundry (Anvil): https://www.quicknode.com/guides/ethereum-development/smart-contracts/how-to-fork-ethereum-blockchain-with-foundry https://www.quicknode.com/guides/ethereum-development/smart-contracts/how-to-fork-ethereum-blockchain-with-foundry

mojtaba-eshghie commented 6 months ago

rekt leaderboard

mojtaba-eshghie commented 4 months ago

Extracting the contract layout from EVM bytecode: https://github.com/smlxl/storage-layout-extractor https://github.com/banteg/storage-layout https://github.com/nevillegrech/gigahorse-toolchain

mojtaba-eshghie commented 3 months ago

Go evmlab

This project is inspired by EVMlab, which was written in Python. EVMlab featured a minimal "compiler", along with some tooling to view traces in a UI, and execute scripts against EVMs (parity and geth).

This is a golang rewrite from scratch of that same project, this time in go-lang to be more stable and nice to use.

https://github.com/holiman/goevmlab