No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Instalando en una testnet

14/21
Recursos

Aportes 3

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Cómo registrar la testnet Alfajores a Metamask:

  1. Abrir Metamask
  2. Abrir redes y seleccionar agregar una nueva.
  3. Ingresar la información de la testnet Alfajores.
Network Name: Celo (Alfajores Testnet)
New RPC URL: https://alfajores-forno.celo-testnet.org
Chain ID: 44787
Currency Symbol (Optional): CELO
Block Explorer URL (Optional): https://alfajores-blockscout.celo-testnet.org

Testnet es similar a la red de celo real, pero sin tener costos.
Tenemos que tener descargado Celo Wallet que es un complemento, es similar a metamask.

Pedir al faucet que no den una serie de criptomonedas.
https://celo.org/developers/faucet

En la clase anterior borra árbitro y en esta si esta, solo revisen eso, por si no les aparece en el menú de “deploy & run transactions”. Así como borro todas las igualaciones debajo del constructor. Chequen eso nomas panas.
Aquí les dejo el código ya corriendome:

pragma solidity ^0.8;

import "@openzeppelin/contracts/access/Ownable.sol";

contract Proyecto is Ownable {
    
    address public comprador;
    address public vendedor;
    address public arbitro;
    bool public depositoListo;
    bool public compradorOK;
    bool public pagoListo;

    uint public montoPago;

    modifier onlyComprador() {
        require(msg.sender==comprador,"No es el comprador");
        _;
    }

    constructor(address _comprador, address _vendedor, uint _monto, address _arbitro) {
    }

    //deposita el comprador 
    function depositoPago() payable public onlyComprador {
        require(msg.value == montoPago,"No es el valor correcto");
        depositoListo = true;
    }

    function compradorConfirmaOK() public onlyComprador {
        compradorOK=true;
    }

    //retira el vendedor 
    function retiraPago() public {
        payable(vendedor).transfer(montoPago);
        pagoListo=true;
    }

    //si el vendedor no entrega el producto, intervien el arbitro
    function pagarPorArbitro() public onlyOwner {
        payable(vendedor).transfer(montoPago);
        pagoListo=true;
    }


}