Herramienta en Go que obtiene el ultimo bloque de Ethereum mainnet via el endpoint RPC que indiques y clasifica cada transaccion. Imprime hash, destino anotado, valor, datos en hex y un tipo detectado; con -with-logs puede resolver eventos ERC20/721 usando recibos.
- Go 1.24+
- Endpoint RPC de Ethereum mainnet (Infura, Alchemy, nodo propio, etc). Para
-with-logsse necesitan recibos (eth_getTransactionReceipt).
- Compila ejecutando
go build main.go - Lanza la clasificacion con
./main -url https://mainnet.infura.io/v3/<project-id>. - Agrega
-with-logssi quieres traer recibos/logs y detectar transferencias/aprobaciones ERC20 o ERC721.
-url(obligatorio): URL del endpoint RPC.-with-logs(opcional): solicita recibos/logs para enriquecer la clasificacion de llamadas a contratos (mas llamadas RPC).-h/--help: imprime el mensaje de ayuda.
Se muestra numero y hash del bloque y, por cada transaccion, hash, destino (con etiqueta si esta en internal/infrastructure/labeler/static_labeler.go), valor en wei/ETH, datos en hex, tipo detectado y selector de funcion si aplica.
DEPLOYTRANSFERCONTRACT_CALLDEX_SWAP(Uniswap V2/V3 via logs)SANDWICH_SUSPECT(heurística simple sobre swaps consecutivos en el mismo pool)ERC20_TRANSFERERC20_APPROVEERC20_TRANSFER_FROMERC721_TRANSFERERC721_APPROVALERC721_APPROVAL_FOR_ALLUNKNOWN
main.go: parseo de flags, construccion de dependencias y ejecucion de la clasificacion.internal/infrastructure/ethereum/block_reader.go: conexion RPC y lectura del bloque mas reciente (con o sin logs).internal/usecase/classify_block.go: orquesta los clasificadores y resolvedores de logs.internal/infrastructure/classifier/ethereum_classifiers.go: reglas para tipos base y deteccion ERC20/721 via logs.internal/interface/cli/presenter.go: imprime los resultados en la consola.internal/infrastructure/labeler/static_labeler.go: etiquetas estaticas para contratos conocidos (USDT, USDC, DAI, WETH).