Skip to content

danyzly/base-my-storage-contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Base My Storage Contract

Base – Smart Contract Verified on Base Mainnet

GitHub release License: MIT PRs Welcome Verified on Blockscout

Explorer · Read · Write

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.


📚 Tabla de Contenidos


📇 Contrato desplegado

Campo Valor
Red Base (chainId 8453)
Dirección 0xA8888Dd2B317ca5e478401C723Ac0062A03e9A81
Explorer Blockscout
Compilador (Solidity) 0.8.24 (EVM: Cancun, Optimizer enabled, runs 200)
Licencia MIT

📖 ¿Qué hace este contrato?

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.

🛠️ Artifacts


🖼️ Screenshots


🚀 Cómo interactuar

  1. Abre el contrato en Blockscout.
  2. Conecta tu wallet (ej: MetaMask).
  3. Usa la pestaña Read Contract para leer el número almacenado.
  4. Usa la pestaña Write Contract para actualizarlo con setNumber.

💻 Ejemplo con Ethers.js

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>

📦 Instalación local

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.


📜 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.


🙌 Contribuciones

¡Las contribuciones son bienvenidas! Por favor revisa la guía en CONTRIBUTING.md antes de enviar un pull request.


🔒 Seguridad

Si encuentras una vulnerabilidad o comportamiento inseguro, no abras un issue público.
Por favor sigue este proceso de reporte responsable:

  1. No abras un issue/PR público.
  2. 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).
  3. Envíalo de forma privada desde GitHub:
    👉 Security Advisories

Política completa, SLA y alcance: consulta SECURITY.md.

⚠️ El equipo revisará y responderá lo antes posible. Agradecemos la divulgación responsable.

About

Contrato SimpleStorage en Solidity, desplegado y verificado en Base mainnet con soporte EVM (Remix + Blockscout).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors