Contrato SimpleStorage escrito en Solidity y desplegado en Base Mainnet, con verificación en Blockscout.
Este proyecto sirve como ejemplo educativo para desarrolladores que quieran iniciarse en el ecosistema Base y EVM.
- 📇 Contrato desplegado
- 📖 ¿Qué hace este contrato?
- 🛠️ Artifacts
- 🖼️ Screenshots
- 🚀 Cómo interactuar
- 💻 Ejemplo con Ethers.js
- 📦 Instalación local
- 📜 Licencia
- 🙌 Contribuciones
- 🔒 Seguridad
| Campo | Valor |
|---|---|
| Red | Base (chainId 8453) |
| Dirección | 0xA8888Dd2B317ca5e478401C723Ac0062A03e9A81 |
| Explorer | Blockscout |
| Compilador (Solidity) | 0.8.24 (EVM: Cancun, Optimizer enabled, runs 200) |
| Licencia | MIT |
El contrato implementa un almacenamiento simple de números en la blockchain.
Permite dos operaciones básicas:
setNumber(uint256 newNumber)→ guarda un número en la blockchain.getNumber()→ devuelve el número almacenado.
- Abre el contrato en Blockscout.
- Conecta tu wallet (ej: MetaMask).
- Usa la pestaña Read Contract para leer el número almacenado.
- Usa la pestaña Write Contract para actualizarlo con
setNumber.
import { ethers } from "ethers";
import abi from "./artifacts/MyStorage.abi.json";
const provider = new ethers.JsonRpcProvider("https://mainnet.base.org");
const signer = await provider.getSigner();
const contract = new ethers.Contract(
"0xA8888Dd2B317ca5e478401C723Ac0062A03e9A81",
abi,
signer
);
// Guardar un número
await contract.setNumber(42);
// Leer el número
const num = await contract.getNumber();
console.log("Número guardado:", num.toString());
Tip (solo navegador / MetaMask, sin Node):
<script type="module">
import { ethers } from "https://esm.sh/ethers@6";
const abi = await (await fetch("./artifacts/MyStorage.abi.json")).json();
const provider = new ethers.BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
const c = new ethers.Contract("0xA8888Dd2B317ca5e478401C723Ac0062A03e9A81", abi, signer);
console.log("getNumber:", (await c.getNumber()).toString());
</script>git clone https://github.com/danyzly/base-my-storage-contract.git cd base-my-storage-contract npm install
Puedes compilar y desplegar el contrato usando Remix o configurar un entorno con Hardhat/Foundry.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
¡Las contribuciones son bienvenidas! Por favor revisa la guía en CONTRIBUTING.md antes de enviar un pull request.
Si encuentras una vulnerabilidad o comportamiento inseguro, no abras un issue público.
Por favor sigue este proceso de reporte responsable:
- No abras un issue/PR público.
- Prepara un reporte privado con:
- Descripción e impacto (fondos a riesgo, DoS, lectura/escritura indebida, etc.).
- Prueba de concepto (pasos, script o tx hash).
- Dirección del contrato y red (Base mainnet), versión (tag o commit).
- Envíalo de forma privada desde GitHub:
👉 Security Advisories
Política completa, SLA y alcance: consulta SECURITY.md.
