Blockchain / Web3 Developer - Guía de Entorno¶
Guía completa para desarrollo de Smart Contracts, DApps y aplicaciones Web3 con Claude Code.
Capacidades de Claude Code¶
| Capacidad | Herramientas |
|---|---|
| Smart Contracts | Solidity, Vyper, Rust (Solana) |
| Testing | Hardhat, Foundry, Anchor |
| Frontend DApp | ethers.js, wagmi, RainbowKit |
| Local Blockchain | Ganache, Anvil, Hardhat Network |
| IPFS/Storage | IPFS, Filecoin, Arweave |
| Auditoría | Slither, Mythril, Echidna |
Ethereum Development¶
Node.js Setup¶
Hardhat (Recomendado)¶
# Crear proyecto
mkdir my-dapp && cd my-dapp
pnpm init
pnpm add -D hardhat
# Inicializar
npx hardhat init
# Seleccionar: Create a TypeScript project
# Estructura
my-dapp/
├── contracts/
│ └── Lock.sol
├── scripts/
│ └── deploy.ts
├── test/
│ └── Lock.ts
├── hardhat.config.ts
└── package.json
# Comandos
npx hardhat compile
npx hardhat test
npx hardhat node # Local blockchain
npx hardhat run scripts/deploy.ts --network localhost
hardhat.config.ts:
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
const config: HardhatUserConfig = {
solidity: "0.8.24",
networks: {
hardhat: {},
sepolia: {
url: process.env.SEPOLIA_RPC_URL || "",
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
},
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
};
export default config;
Foundry (Más rápido, Rust-based)¶
# Instalar
curl -L https://foundry.paradigm.xyz | bash
foundryup
# Verificar
forge --version
cast --version
anvil --version
# Crear proyecto
forge init my-project
cd my-project
# Estructura
my-project/
├── src/
│ └── Counter.sol
├── test/
│ └── Counter.t.sol
├── script/
│ └── Counter.s.sol
└── foundry.toml
# Comandos
forge build
forge test
forge test -vvvv # Verbose
anvil # Local node
forge script script/Counter.s.sol --rpc-url http://localhost:8545 --broadcast
Solidity Compiler¶
# Via npm
pnpm add -D solc
# O standalone
# Windows
winget install Ethereum.Solidity
# macOS
brew install solidity
# Verificar
solc --version
Solana Development¶
Rust + Anchor¶
# Instalar Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# Anchor Framework
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install latest
avm use latest
# Verificar
solana --version
anchor --version
# Crear proyecto
anchor init my-solana-project
cd my-solana-project
# Estructura
my-solana-project/
├── programs/
│ └── my-solana-project/
│ └── src/
│ └── lib.rs
├── tests/
│ └── my-solana-project.ts
├── Anchor.toml
└── Cargo.toml
# Comandos
anchor build
anchor test
solana-test-validator # Local validator
anchor deploy
Frontend DApp¶
Ethers.js + React¶
wagmi + viem (Moderno, recomendado)¶
pnpm add wagmi viem @tanstack/react-query
# Con RainbowKit (wallet connection UI)
pnpm add @rainbow-me/rainbowkit
Configuración básica:
// wagmi.config.ts
import { http, createConfig } from 'wagmi'
import { mainnet, sepolia } from 'wagmi/chains'
import { injected, walletConnect } from 'wagmi/connectors'
export const config = createConfig({
chains: [mainnet, sepolia],
connectors: [
injected(),
walletConnect({ projectId: process.env.NEXT_PUBLIC_WC_PROJECT_ID! }),
],
transports: {
[mainnet.id]: http(),
[sepolia.id]: http(),
},
})
Web3.js (Legacy)¶
Testing & Auditoría¶
Slither (Static Analysis)¶
pip install slither-analyzer
# Analizar contrato
slither .
# Con Hardhat
slither . --hardhat-artifacts-directory ./artifacts
Mythril (Symbolic Execution)¶
Echidna (Fuzzing)¶
# Instalar
# https://github.com/crytic/echidna/releases
# Ejecutar
echidna contracts/MyContract.sol --contract MyContract
Local Blockchain¶
Hardhat Network¶
Anvil (Foundry)¶
anvil
# RPC: http://127.0.0.1:8545
# Fork mainnet
anvil --fork-url https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
Ganache¶
IPFS / Almacenamiento Descentralizado¶
IPFS¶
# Instalar IPFS Desktop o CLI
# https://docs.ipfs.tech/install/
# CLI
ipfs init
ipfs daemon
# Subir archivo
ipfs add myfile.json
# Devuelve: QmHash...
# Pinning services
pnpm add @pinata/sdk
pnpm add nft.storage
Arweave¶
IDE y Extensiones¶
VS Code¶
# Solidity
code --install-extension JuanBlanco.solidity
code --install-extension NomicFoundation.hardhat-solidity
# Rust (Solana)
code --install-extension rust-lang.rust-analyzer
# Utilidades
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint
Remix IDE¶
Comandos que Claude Code Ejecutará¶
# Hardhat
npx hardhat compile
npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts
npx hardhat verify --network sepolia CONTRACT_ADDRESS
# Foundry
forge build
forge test
forge test -vvvv
anvil
forge script script/Deploy.s.sol --broadcast
# Solana/Anchor
anchor build
anchor test
anchor deploy
solana-test-validator
# Auditoría
slither .
myth analyze contracts/MyContract.sol
# IPFS
ipfs add -r ./metadata
ipfs pin add QmHash
Verificación del Entorno¶
#!/bin/bash
echo "=== Verificación Entorno Blockchain ==="
echo -e "\n--- Node.js ---"
node --version
echo -e "\n--- Hardhat ---"
npx hardhat --version 2>/dev/null || echo "Hardhat no instalado"
echo -e "\n--- Foundry ---"
forge --version 2>/dev/null || echo "Foundry no instalado"
echo -e "\n--- Solidity ---"
solc --version 2>/dev/null || echo "solc no instalado"
echo -e "\n--- Solana ---"
solana --version 2>/dev/null || echo "Solana CLI no instalado"
anchor --version 2>/dev/null || echo "Anchor no instalado"
echo -e "\n--- Security ---"
slither --version 2>/dev/null || echo "Slither no instalado"
echo -e "\n=== Verificación Completa ==="