🍺 Buy me a beer

Ethereum per Svogliati

EVM, wallet, gas, smart contract, DeFi, Layer 2 e perché hai pagato 40$ di fee per spostare 10$.
Spiegato senza hype, senza "questa tecnologia cambierà il mondo", senza grafici che vanno sempre su.

"Non è solo una moneta, è un computer mondiale." — Sì, un computer che costa 80$ a transazione nei momenti sbagliati.

↓ ce la fai almeno a scorrere?
01 / cos'è

Ethereum in tre righe

E perché non è "Bitcoin ma meglio"

⟠ La differenza fondamentale

Bitcoin è un registro distribuito per trasferire valore. Fa una cosa sola, la fa bene, non si vuole complicare la vita.

Ethereum è un computer distribuito programmabile. Oltre a trasferire ETH puoi eseguire codice arbitrario su migliaia di nodi in contemporanea — codice che nessuno può fermare, censurare o modificare una volta deployato. Questo codice si chiama smart contract.

Il prezzo di questa flessibilità: è più complesso, più costoso da usare, e ha una superficie d'attacco molto più grande.

📒

Stato globale

Ogni account, ogni saldo, ogni variabile di ogni contratto — tutto in un unico stato condiviso aggiornato ad ogni blocco

⚙️

EVM

Ethereum Virtual Machine: il motore che esegue il bytecode dei contratti. Deterministico — tutti i nodi ottengono lo stesso risultato

🌐

Consenso

Proof of Stake dal 2022 (The Merge). I validatori mettono in stake 32 ETH come garanzia. Niente più mining, -99.95% consumo energetico

📊 Dati chiave

  • Blocco ogni ~12 secondi (fisso dopo The Merge)
  • ~15-30 transazioni/blocco in media su L1
  • Nessun supply cap fisso — ma EIP-1559 brucia fee, spesso deflazionario
  • 1 ETH = 10¹⁸ wei (il Gwei = 10⁹ wei)
  • Finality: ~13 minuti (2 epoch = 64 blocchi)

📅 Le tappe storiche

  • 2015 — Genesis block, Frontier
  • 2016 — The DAO hack, fork controverso
  • 2017 — ICO mania, ERC-20 esplode
  • 2020 — DeFi summer, yield farming
  • 2021 — NFT, EIP-1559 (fee burn)
  • 2022 — The Merge: PoW → PoS
  • 2024 — Dencun upgrade, blob tx, L2 fee crollano
ℹ️ Ethereum vs Ether Ethereum è la rete (il protocollo). Ether (ETH) è la valuta nativa usata per pagare il gas. Dire "ho comprato Ethereum" è tecnicamente impreciso ma tutti capiscono lo stesso. Non vale la pena correggere la gente — la battaglia è già persa.
02 / account

Account, Wallet & Chiavi

La tua chiave privata è il tuo account. Punto.

👤 EOA — Externally Owned Account

Il tipo di account che usi tu. Controllato da una chiave privata.

  • Indirizzo: 20 byte, formato 0x1a2b3c...
  • Può inviare transazioni, chiamare contratti
  • Nessun codice associato
  • Saldo in ETH (+ token ERC-20 tracciati nei contratti)

📜 Contract Account

Creato dal deploy di uno smart contract. Non ha chiave privata — è governato dal suo codice.

  • Stesso formato indirizzo 0x... (indistinguibile visivamente)
  • Esegue codice quando riceve una transazione
  • Può contenere logica, storage, ETH
  • Immutabile una volta deployato (salvo proxy pattern)

🔑 Come funziona la chiave privata

# Chiave privata: 32 byte casuali (256 bit)
0x4c0883a69102937d6231471b5dbb6e538eba2ef2d22b1432db0e0f4c3b7aa9c3

# Chiave pubblica: derivata con curva ellittica secp256k1 (stessa di Bitcoin)
# pubkey = privkey × G  (G = punto generatore della curva)

# Indirizzo Ethereum: ultimi 20 byte del keccak256(pubkey)
0x9Ae5A9876543210aBcDeF1234567890aBcDeF12

# Seed phrase (BIP-39): 12 o 24 parole → entropia → chiave privata
abandon ability able about above absent absorb abstract absurd abuse access accident
# Con questa frase ricrei tutte le chiavi di tutti gli account del wallet
# HD wallet (BIP-44): m/44'/60'/0'/0/0 → primo account ETH
🚨 La seed phrase non si fotografa, non si manda via Telegram, non si salva in cloud
Chi ha la tua seed phrase ha i tuoi soldi. Non esiste "recupero account" — non c'è nessuna società da chiamare. Se perdi la seed phrase, perdi tutto. Se qualcuno la ottiene, perde lui tutto per te. Carta, cassaforte, o lastra d'acciaio.

🦊 MetaMask e gli altri wallet

WalletTipoQuando usarlo
MetaMaskBrowser extension / mobileUso quotidiano DeFi, dApp. Il più supportato.
Ledger / TrezorHardwareSomme importanti. La chiave privata non lascia mai il device.
RabbyBrowser extensionCome MetaMask ma mostra simulazione transazione prima di firmare
FrameDesktopPer sviluppatori, integra hardware wallet
Safe (Gnosis)Smart contract multisigTesoreria DAO, fondi di team. Richiede N/M firme.
⚠️ Installa MetaMask SOLO dal sito ufficiale o dal Chrome Web Store cercando "MetaMask" e verificando l'editore. Esistono decine di estensioni fake identiche all'originale che rubano la seed phrase all'inserimento. Sì, lo sappiamo tutti. No, ogni mese c'è qualcuno che ci casca.
03 / gas

Gas & Fee

Perché hai pagato 40$ per spostare 20$, spiegato

⛽ L'analogia del carburante

Ogni operazione nell'EVM costa una quantità fissa di gas. Sommare due numeri: 3 gas. Scrivere in storage: 20.000 gas. Una transazione semplice (trasferimento ETH): 21.000 gas.

Il gas è un'unità di misura computazionale — non dipende dal prezzo di ETH. Quello che varia è il prezzo del gas (in Gwei), che determina quanto ETH paghi in totale.

💸 EIP-1559 — come funzionano le fee dal 2021

# Fee totale = (Base Fee + Priority Fee) × Gas Used

Base Fee    # bruciata — eliminata dalla circolazione. Fissata dal protocollo.
             # sale se il blocco precedente era >50% pieno, scende se <50%
             # sale/scende max del 12.5% per blocco

Priority Fee # "mancia" al validatore. Scegli tu quanto dare.
             # bassa = tx lenta. Alta = tx veloce.

Max Fee      # il massimo che sei disposto a pagare in totale.
             # se Base Fee + Priority Fee < Max Fee → paghi solo quello che serve
             # il resto viene rimborsato

# Esempio pratico:
Gas Used    = 21,000         # trasferimento ETH standard
Base Fee    = 20 Gwei
Priority    = 2 Gwei
Fee totale  = 21,000 × 22 Gwei = 462,000 Gwei = 0.000462 ETH
             # a ETH = 3,000$ → circa 1.38$
ETH transfer 21,000 gas fisso, sempre
ERC-20 transfer ~65,000 gas varia per contratto
Uniswap swap ~150,000 gas dipende dalla rotta
Deploy contratto 500k–3M gas dipende dalla dimensione
SSTORE (scrivere storage) 20,000 gas l'operazione più costosa in assoluto

📉 Quando fare transazioni (e quando no)

Il gas price segue l'attività della rete. Ore di picco = fee alte.

  • Basse fee: notte europea/americana, weekend mattina, mercato in laterale
  • Fee alle stelle: NFT drop famoso, crollo mercato (tutti vendono), lancio DeFi virale
  • Controlla il gas corrente su etherscan.io/gastracker
  • In MetaMask puoi impostare una fee massima — la tx aspetta finché il gas scende sotto la soglia
⚠️ Gas limit vs Gas price
Il Gas Limit è il massimo di gas che autorizzi per la transazione. Se il contratto richiede più gas di quello che hai impostato → la transazione fallisce e le fee le paghi lo stesso. Il gas usato per arrivare al fallimento è consumato. Non alzare troppo il limit, non abbassarlo troppo. MetaMask lo stima abbastanza bene.
04 / transazioni

Transazioni

Cosa succede dal click "Invia" alla conferma finale

📨 Anatomia di una transazione

# Struttura di una tx Ethereum
{
  nonce:    42,          # numero progressivo tx dell'account (0, 1, 2, ...)
  to:       "0xAbCd...", # destinatario (o null se deploy contratto)
  value:    1000000000000000000, # wei (= 1 ETH)
  data:     "0x...",      # calldata: vuoto per trasferimento ETH,
                           # oppure ABI-encoded per chiamate a contratti
  maxFeePerGas:         25000000000,  # 25 Gwei
  maxPriorityFeePerGas: 2000000000,   # 2 Gwei
  gasLimit: 21000,
  chainId:  1,           # 1 = mainnet, 137 = Polygon, 42161 = Arbitrum
  v, r, s:  ...          # firma ECDSA
}

🔄 Ciclo di vita di una transazione

FaseCosa succede
PendingTx inviata, nel mempool dei nodi. Aspetta un validatore che la includa nel prossimo blocco.
InclusaEntrata in un blocco. 1 conferma. Tecnicamente reversibile se c'è un reorg (raro su ETH).
FinalizzataDopo ~13 minuti (2 epoch di PoS). A questo punto è praticamente impossibile reverire.
FallitaRevert del contratto, gas esaurito. Gas usato consumato, effetti annullati. La tx è comunque on-chain.

🔁 Stuck transaction — come sbloccarla

Una tx rimane pending se il gas price era troppo basso. Soluzione: invia una nuova tx con lo stesso nonce ma fee più alta.

# In MetaMask: Settings → Advanced → Customize transaction nonce
# Poi invia una nuova tx con:
#   - stesso nonce della tx bloccata
#   - fee più alte (almeno +10% del gas price attuale)
#   - to: il tuo stesso indirizzo, value: 0 ETH (se vuoi solo sbloccarla)

# La nuova tx "sovrascrive" quella vecchia — i miner scelgono quella più pagata
# Alternativa: aspettare. Se il gas scende, prima o poi viene presa.
05 / smart contract

Smart Contract

Codice immutabile su blockchain. Ottimo per automazione, terribile per i bug.

📜 Cosa sono davvero

Un smart contract è un programma che vive all'indirizzo 0x... sulla blockchain. Una volta deployato, nessuno può modificarlo o fermarlo — nemmeno chi l'ha scritto (salvo che non abbia inserito una funzione di upgrade o kill). Il codice è legge. Compreso il codice con i bug.

The DAO hack del 2016 ha rubato 60M$ sfruttando un bug di reentrancy. Il codice funzionava esattamente come scritto — il problema era che era scritto male.

🔷 Solidity — il linguaggio

// SPDX-License-Identifier: MIT
// pragma indica la versione di Solidity richiesta
pragma solidity ^0.8.20;

contract SimpleStorage {
    // variabile di stato: vive nello storage del contratto (costoso!)
    uint256 private value;
    address public owner;

    // evento: emesso su blockchain, leggibile off-chain a costo zero
    event ValueChanged(uint256 newValue, address changedBy);

    // modifier: riutilizza controlli comuni
    modifier onlyOwner() {
        require(msg.sender == owner, "Non sei il proprietario");
        _;
    }

    constructor() {
        owner = msg.sender;  // chi deploya diventa owner
    }

    // write function: modifica stato, costa gas
    function setValue(uint256 _value) external onlyOwner {
        value = _value;
        emit ValueChanged(_value, msg.sender);
    }

    // read function: view = non modifica stato, gratis da chiamare
    function getValue() external view returns (uint256) {
        return value;
    }

    // receive ETH
    receive() external payable {}
}

🚀 Deploy e interazione

# Compilare e deployare con Foundry (il tool moderno)
forge init mio-progetto
cd mio-progetto
forge build                        # compila, genera ABI e bytecode
forge test                         # esegui i test

forge create --rpc-url $RPC_URL \
  --private-key $PRIVATE_KEY \
  src/SimpleStorage.sol:SimpleStorage

# Con Hardhat (alternativa storica, JS/TS)
npx hardhat compile
npx hardhat run scripts/deploy.js --network mainnet

# Chiamare un contratto via cast (Foundry CLI)
cast call 0xContractAddr "getValue()(uint256)" --rpc-url $RPC_URL
cast send 0xContractAddr "setValue(uint256)" 42 \
  --private-key $PRIVATE_KEY --rpc-url $RPC_URL

⚠️ Bug classici da conoscere

VulnerabilitàCosa succedeEsempio storico
ReentrancyIl contratto chiama un esterno che ri-entra nella funzione prima che lo stato sia aggiornatoThe DAO (60M$, 2016)
Integer overflowSolidity <0.8: i numeri si avvolgono silenziosamente. 255+1=0 per uint8.BatchOverflow, 2018
Access controlFunzioni privilegiate chiamabili da chiunqueParity Wallet freeze (280M$ bloccati, mai recuperati)
Oracle manipulationIl prezzo usato dal contratto viene manipolato via flash loanMango Markets (100M$, 2022)
Unchecked returnIl valore di ritorno di una chiamata esterna non viene controllatoMolto comune in contratti DeFi
ℹ️ Audit prima del deploy — se gestisci fondi altrui, un audit di sicurezza da parte di Trail of Bits, OpenZeppelin, Certora o simili non è opzionale. Costa tra 20k e 200k$. I bug costano di più.
06 / token erc

Standard ERC

I protocolli che permettono ai wallet di capire cosa stai inviando

🪙

ERC-20

Token fungibili. USDC, LINK, UNI, DAI. Ogni unità è identica alle altre.

🖼️

ERC-721

NFT. Ogni token ha un ID unico. CryptoPunks, Bored Apes. Non fungibili per definizione.

🎴

ERC-1155

Multi-token. Un contratto gestisce sia fungibili che non. Usato in gaming e marketplace.

🪙 ERC-20 — come funziona davvero

Quando hai USDC nel wallet, non hai niente "nel wallet" — il contratto USDC tiene un mapping address → balance. Il tuo wallet mostra il saldo leggendo quel mapping.

// Interfaccia minima ERC-20
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);

    // Approval: permetti a un contratto di spendere i tuoi token
    function approve(address spender, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
⚠️ Approval illimitata — il problema di sicurezza più ignorato
Quando fai swap su Uniswap, prima fai approve(uniswap, type(uint256).max) — autorizzi Uniswap a spendere tutti i tuoi token a volontà, per sempre. Se quel contratto ha un bug o viene compromesso, i tuoi token spariscono. Usa revoke.cash o app.unrekt.net per vedere e revocare le approvazioni pendenti.
07 / defi

DeFi

Finanza decentralizzata — opportunità reali, rischi reali, perdite molto reali

🔄 DEX — Decentralized Exchange

Niente order book, niente intermediari. I trade avvengono contro pool di liquidità tramite un AMM (Automated Market Maker).

Come funziona un AMM (formula x·y=k):

  • Pool contiene ETH e USDC in proporzione
  • Vuoi comprare ETH? Metti USDC nel pool, il prezzo aumenta automaticamente
  • Il prezzo è determinato dal rapporto tra le riserve, non da un orderbook
  • Slippage: più grande è il tuo trade rispetto al pool, peggio ti va

Principali DEX: Uniswap (V3 concentrated liquidity), Curve (stablecoin ottimizzato), Balancer (pool multi-asset)

🏦 Lending & Borrowing

Depositi collaterale, prendi in prestito fino a una certa percentuale (LTV). Automatizzato da contratti, nessuna banca.

  • Aave / Compound: depositi ETH, prendi USDC. Paghi interessi variabili.
  • Liquidazione: se il valore del collaterale scende troppo, il contratto liquida automaticamente per ripagare il prestito
  • Health factor: tienilo sopra 1 o vieni liquidato (con penale del 5-15%)
  • Flash loan: prendi a prestito milioni senza collaterale — ma devi restituirli nella stessa transazione

💧 Liquidity Provider — guadagnare fee dai DEX

Depositi due token in un pool DEX. Ogni swap nel pool ti paga una percentuale delle fee (0.05%–1% per trade su Uniswap V3).

⚠️ Impermanent Loss — il rischio che tutti sottovalutano
Se il prezzo relativo dei due token nel pool cambia, finisci con meno valore di se avessi semplicemente tenuto i token. Si chiama "impermanent" perché scompare se i prezzi tornano al valore iniziale — ma spesso non tornano. Su pool con asset volatili, le fee raramente compensano l'IL. Sui pool stabili (es. USDC/USDT) l'IL è quasi zero.

🎯 I rischi DeFi che nessuno lista nel white paper

RischioDescrizione
Smart contract bugIl protocollo viene hackerato. Fondi persi. Nessun rimborso.
Rug pullIl team drena la liquidità e sparisce. Più comune con token nuovi e pool su DEX minori.
Oracle manipulationIl prezzo usato dal protocollo viene manipolato per svuotare il protocollo.
Governance attackChi ha abbastanza token di governance può proporre e approvare operazioni malevole.
Cascata di liquidazioniCrollo rapido → liquidazioni massive → crollo ulteriore → altri liquidati. Luna/UST docet.
PhishingSito fake identico all'originale, ti fa firmare una transazione che svuota il wallet.
08 / layer 2

Layer 2

Perché Ethereum L1 è lento e costoso, e come si risolve

🏗️ Il problema di scalabilità

Ethereum L1 processa ~15 tx/secondo. Visa ne fa ~24.000. La soluzione naïve sarebbe aumentare la dimensione dei blocchi — ma renderebbe i nodi più costosi da gestire, centralizzando la rete.

La soluzione adottata: spostare l'esecuzione fuori dalla chain, pubblicare solo la prova del risultato su L1. Sicurezza garantita da L1, throughput molto più alto, fee molto più basse.

⚡ Arbitrum One

Optimistic Rollup
  • EVM compatibile 1:1
  • Dispute period: 7 giorni
  • Fee: ~0.01–0.05$
  • TVL più alto tra gli L2

🔴 Optimism / Base

Optimistic Rollup
  • OP Stack (stesso codice)
  • Base = Coinbase su OP Stack
  • Superchain in costruzione
  • Ecosistema in forte crescita

🔷 zkSync Era

ZK Rollup
  • Prova matematica (ZK-SNARK)
  • Finality quasi istantanea
  • Compatibilità EVM parziale
  • Più sicuro degli optimistic

🌟 Starknet

ZK Rollup (STARK)
  • Cairo (linguaggio custom)
  • Prova più efficiente su L1
  • Curva di apprendimento alta
  • Account abstraction nativa

🌉 Bridge — muovere fondi tra L1 e L2

# Bridge nativo Arbitrum (più sicuro, più lento)
# L1 → L2: ~10 minuti
# L2 → L1: 7 giorni (challenge period Optimistic Rollup)

# Bridge veloci di terze parti (Hop, Across, Stargate)
# L2 → L1: minuti (non aspettano il challenge period)
# Rischio: sicurezza dipende dal bridge, non da Ethereum
# Costo: fee leggermente più alta per il market maker che fa il bridge veloce
🚨 I bridge sono il punto più hackerato di tutto il settore
Ronin Bridge: 620M$. Wormhole: 320M$. Nomad: 190M$. Horizon: 100M$. I bridge tengono fondi bloccati su entrambe le chain — sono bersagli enormi. Usa bridge con audit multipli e preferisci i bridge nativi dell'L2 quando la velocità non è critica.

📦 EIP-4844 — Dencun (Marzo 2024)

L'upgrade che ha abbassato le fee degli L2 di 10–100x. Introduce i blob transaction: tipo di dato temporaneo (~18 giorni) allegato ai blocchi, usato dagli L2 per pubblicare i loro batch su L1 a costo molto inferiore rispetto al calldata. Post-Dencun le fee su Arbitrum/Optimism sono scese a frazioni di centesimo.

09 / nodi

Nodi & RPC

Come connettersi alla rete senza fidarsi di nessuno (o fidarsi di Infura)

💻 Tipi di nodo

  • Full node: scarica e verifica tutti i blocchi. Reth o Geth per l'execution layer + Lighthouse/Prysm per il consensus. ~2TB di SSD NVMe, 16GB RAM.
  • Archive node: come il full ma mantiene tutto lo storico degli stati. 12TB+. Usato per query su blocchi storici.
  • Light client: scarica solo gli header, si fida dei full node per i dati. Meno sicuro, meno risorse.
  • Validatore: full node + 32 ETH in stake + chiave di validazione. Propone e attesta blocchi, guadagna reward.

☁️ RPC provider — quando non vuoi gestire un nodo

  • Infura — il più usato, di Consensys. Free tier generoso.
  • Alchemy — API più ricche di Infura (trace, simulations). Popolare tra gli sviluppatori.
  • QuickNode — supporta molte chain, latenza bassa.
  • Ankr — decentralizzato, free RPC pubblici.
  • Cloudflare Ethereum Gateway — gratuito, rate limited.
ℹ️ Usare un RPC di terze parti significa fidarsi di loro per la veridicità dei dati. Per DeFi con somme importanti, usa il tuo nodo o almeno un RPC che supporta proof verification.

🔌 JSON-RPC — come si parla con Ethereum

# Ethereum espone un'API JSON-RPC (HTTP o WebSocket)
# Tutti i wallet, Etherscan, dApp usano questo sotto

# Saldo di un account
curl -X POST https://mainnet.infura.io/v3/YOUR_KEY \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xAbCd...","latest"],"id":1}'
{"result":"0x16345785d8a0000"}  # hex wei = 0.1 ETH

# Blocco corrente
cast block-number --rpc-url https://mainnet.infura.io/v3/YOUR_KEY

# Leggere una variabile di un contratto
cast call 0xA0b86991c6218... "totalSupply()(uint256)" \
  --rpc-url https://mainnet.infura.io/v3/YOUR_KEY
10 / ens

ENS — Ethereum Name Service

Il DNS di Ethereum. Perché 0x1a2b3c4d è più difficile da memorizzare di mario.eth

🏷️ Come funziona

ENS è un set di smart contract su Ethereum che mappano nomi leggibili (mario.eth) a indirizzi (0xAbCd...), hash IPFS, indirizzi Bitcoin, profili, e altro.

# Risolvere un nome ENS
cast resolve-name mario.eth --rpc-url $RPC_URL
0x1234abcd...

# Reverse lookup: da indirizzo a nome ENS
cast lookup-address 0x1234abcd... --rpc-url $RPC_URL
mario.eth

# I nomi ENS sono NFT ERC-721 — puoi comprarli e venderli su OpenSea
# Registrazione: app.ens.domains
# Costo: ~5$/anno per nomi >= 5 caratteri, più per nomi corti
ℹ️ MetaMask, Coinbase Wallet e la maggior parte dei wallet moderni risolvono automaticamente i nomi ENS. Puoi inviare ETH a mario.eth direttamente senza conoscere l'indirizzo 0x. Verifica sempre che il destinatario sia corretto — ENS è immutabile e i trasferimenti non sono reversibili.
11 / sicurezza

Sicurezza

L'unico argomento che conta davvero

🛡️ Regole base — non negoziabili

Mai fare

  • Inserire la seed phrase da nessuna parte online
  • Cliccare link da DM non richiesti (Discord, Telegram)
  • Firmare messaggi che non capisci
  • Collegare il wallet su siti da URL non verificati
  • Tenere somme importanti su hot wallet

Sempre fare

  • Hardware wallet per somme superiori a qualche centinaio di $
  • Revoca approvazioni su revoke.cash periodicamente
  • Bookmark dei siti che usi (non cercarli su Google ogni volta)
  • Simula la transazione con Rabby prima di firmare
  • Wallet separato per DeFi ad alto rischio

🎣 Gli attacchi più comuni nel 2024-2025

AttaccoCome funzionaCome difendersi
Approval phishingTi fa fare approve su un contratto malevolo. Quando vuole, drena tutti i token approvati.Leggi cosa firmi. Usa Rabby (mostra simulazione). Revoca approvazioni.
Permit phishingTi fa firmare un permit off-chain (nessuna tx visibile). Il relayer drena i token dopo.Diffidia di richieste di firma che non generano transazione on-chain.
Address poisoningTi manda 0$ da un indirizzo simile al tuo destinatario. Copi-incolli quello sbagliato.Verifica sempre i primi e gli ultimi 4-6 caratteri dell'indirizzo.
Fake token airdropRicevi token sconosciuti. Provi a venderli, approvi un contratto malevolo.Ignora token sconosciuti ricevuti. Non interagire mai con loro.
Discord/Twitter hackAccount ufficiali vengono hackerati, postano link a "mint" fasulli.Non mintare niente nei momenti di "urgenza". Verifica il contratto su Etherscan prima.
🔮 La difesa più efficace
Rallenta. La maggior parte degli attacchi sfrutta l'urgenza ("mint chiude tra 5 minuti", "offerta limitata", "verifica il wallet o lo perdi"). Se senti urgenza, è quasi sicuramente uno scam. Prenditi 2 minuti per verificare il contratto su Etherscan, cercane le review su Twitter, controlla che l'URL sia quello giusto.
12 / strumenti

Strumenti dell'ecosistema

Il kit minimo per muoversi senza improvvisare

🔍 Explorer & Dati

  • Etherscan — block explorer principale. Ogni tx, contratto, token.
  • Etherscan Gas Tracker — gas price corrente e storico
  • Dune Analytics — query SQL su dati on-chain, dashboard pubbliche
  • Nansen / Arkham — chi sta facendo cosa, wallet labeled
  • DeFiLlama — TVL per protocollo, chain, categoria
  • Token Terminal — revenue, fee, metriche fondamentali protocolli

🛠️ Dev Tools

  • Foundry — compile, test, deploy, script in Solidity. Il più moderno.
  • Hardhat — JavaScript/TypeScript, più diffuso, più plugin.
  • Remix IDE — browser-based, ottimo per prototype e test rapidi.
  • OpenZeppelin Contracts — librerie auditate (ERC-20, ERC-721, access control).
  • Tenderly — simulazione transazioni, debug, alert on-chain.
  • Slither / Mythril — analisi statica del codice Solidity.

🧪 Reti di test & Faucet

Non deployare mai su mainnet senza aver testato prima. Le reti di test sono identiche alla mainnet ma con ETH finto e gratuito.

ReteUsoFaucet
SepoliaLa testnet principale per sviluppo dApp e smart contract. Usa questa.sepoliafaucet.com, faucet.quicknode.com, alchemy.com/faucets/ethereum-sepolia
HoleskyTestnet per validatori e staking. Non per sviluppo dApp normale.holesky-faucet.pk910.de
Localhost (Anvil)Nodo locale Foundry. Zero latenza, fork di mainnet, account pre-finanziati con 10.000 ETH ciascuno.built-in
Localhost (Hardhat)Come Anvil ma per progetti Hardhat.built-in
# Avviare un nodo locale con Anvil (Foundry) — la scorciatoia più utile
anvil
Available Accounts
==================
(0) 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 (10000 ETH)
(1) 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 (10000 ETH)
...
Private Keys
==================
(0) 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
...
Listening on 127.0.0.1:8545

# Fork di mainnet (accedi allo stato reale ma in locale)
anvil --fork-url https://mainnet.infura.io/v3/YOUR_KEY

# Deploy su Sepolia con Foundry
forge create --rpc-url https://rpc.sepolia.org \
  --private-key $PRIVATE_KEY_TESTNET \
  src/MyContract.sol:MyContract

# Configura la rete in Hardhat (hardhat.config.js)
# networks: { sepolia: { url: "https://rpc.sepolia.org", accounts: [PRIVATE_KEY] } }
npx hardhat run scripts/deploy.js --network sepolia
⚠️ Non usare la stessa chiave privata su testnet e mainnet Tieni un wallet separato per i test, con una chiave privata dedicata. I faucet richiedono spesso un account GitHub o un saldo minimo su mainnet per prevenire abuse.

🔐 Sicurezza & Utility

  • revoke.cash — vedi e revoca tutte le approvazioni ERC-20 del tuo wallet
  • Rabby Wallet — simula ogni transazione prima di firmarla, mostra rischi
  • Debank — portfolio tracker multi-chain con tutte le posizioni DeFi
  • Zapper / Zerion — portfolio e DeFi dashboard
  • Etherscan → Contract → Read/Write — interagisci con qualsiasi contratto verificato direttamente dal browser
💡 La mentalità giusta

Ethereum non è difficile da usare. È difficile da usare in sicurezza. La barriera non è tecnica — è psicologica: capire che non esiste "recupero account", che le tx sono irreversibili, che "il contratto ha detto di farlo" non è una scusa.

Inizia con piccole somme. Impara il sistema prima di metterci dentro quello che non puoi permetterti di perdere. E usa sempre un hardware wallet per le somme che contano. Questa frase la scrivono tutti e pochi la seguono — poi leggono le storie degli altri sui forum.