No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
20H
16M
25S

Instalando en una testnet

14/21
Recursos

Aportes 3

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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 鈥渄eploy & 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;
    }


}