Skip to content

Palodeaza/Kipu-Bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

DESCRIPCION DEL CONTRATO: KipuBank es un contrato inteligente que permite a los usuarios depositar y retirar ETH en bóvedas personales con reglas de seguridad:

-El banco tiene un límite global (bankCap) de fondos.

-Cada retiro está limitado por un monto máximo por transacción (perTxWithdrawalLimit).

-Los depósitos y retiros actualizan saldos, llevan contadores de operaciones y emiten eventos.

-Incluye validaciones y errores personalizados, un reentrancy guard y transferencias seguras de ETH.

-Proporciona funciones view para consultar saldos individuales y el espacio restante del banco.

INSTRUCCIONES DE DEPLOYMENT (para desplegar el contrato en Sepolia):

  • Abrir Remix IDE, creando un archivo en la carpeta "contracts", llamado "KipuBank.sol" (.sol es la extension de Solidity), y pegar el contrato.

  • Compilar con Solidity 0.8.20

  • En Deploy & Run Transactions:

    • En el campo Evironment: seleccionar Injected Provider (Metmask) y conectar la billetera

    • En el campo Contract: verificar que diga el nombre del contrato con el que nombramos al archivo "KipuBank.sol"

    • Ingresar los parámetros del constructor en los campos del panel Deploy (bankCap y perTxWithdrawalLimit), es importante que los montos se expresen en Wei.

  • Click en Deploy, confirmando la transacción en Metamask.

  • Copiar la dirección del contrato y buscar en Sepolia Etherscan

  • En la pestaña Contract, hacer click en Verify and Publish y seguir los pasos indicados.

CÓMO INTERACTUAR CON EL CONTRATO:

Se puede interactuar con el código directamente desde Etherscan. En la pestaña Write Contract, conectar con MetaMask. Se puede llamar a deposit() enviando ETH en el campo “Value” o ejecutar withdraw(amount) para retirar, siempre respetando los limites de saldo y el límite por transacción. En la pestaña Read Contract se tiene acceso a funciones de consulta como getMyVault() para revisar tu saldo, getVaultBalance(address) para revisar el de otra cuenta y getRemainingBankCap() para saber cuánto espacio queda en el banco. También, si se prefiere, se puede interactuar desde Remix conectando la interfaz al contrato ya desplegado en Sepolia.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages