No tienes acceso a esta clase

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

Curso de Introducci贸n a Solidity

Curso de Introducci贸n a Solidity

Sebasti谩n Leonardo Perez

Sebasti谩n Leonardo Perez

Manejo de dependencias y librer铆as

16/21
Recursos

Aportes 9

Preguntas 10

Ordenar por:

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

o inicia sesi贸n.

Fijate que para importar lo que hace es traer el directorio de Github, usuario/carpetas/archivo.

鈥淍openzeppelin/contracts/utils/math/SafeMath.sol鈥

Muy bueno, no sabia que se pod铆a trabajar con librer铆as import谩ndolas directamente desde el contrato en Solidity 馃憣

Tener en cuenta el uso de Mayusculas

Trat茅 de escribir @OpenZeppelin (O y Z en Mayuscula) y al querer compilar me lanz贸 error

Manejo de dependencias y librer铆as

Importar una dependencia

  • Con la sentencia 鈥渋mport鈥 podemos hacer referencia a un contrato que est茅 definido en el mismo 谩mbito en el que estemos trabajando.
  • Tambi茅n podemos importar contratos que se encuentren en un repositorio o en un paquete como npm.
  • Adem谩s de contratos podemos importar librer铆as que son similares a los contratos, pero no contienen estado y solo brindan utilidad.
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/utils/math/SafeMath.sol";

contract Importacion {
    
  function sumarNumeros(uint numero1, uint numero2) public pure returns (uint) {
    return SafeMath.add(numero1,numero2);
  }
    
}

En el el caso de estar desarrollado tendr铆amos que tener instalado openzeppelin por medio de npm.

En el caso de estar desarrollando en remix ya tenemos acceso a openzeppelin y podemos importarlo directamente sin mayor problema.

En remix, cuidado al momento de hacer deploy y las referencias, el deploy siempre buscara lo primero que encuentre en las referencias, para hacer deploy de nuestro contrato debemos seleccionarlo

Importar librer铆as, l贸gicamente, aumentar谩 el Gas que nuestro contrato necesita. Hay que cerciorarse de lo que las funciones desarrolladas por terceros hacen realmente para evaluar utilizarlas o no.

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/utils/math/SafeMath.sol";

contract Importacion {
    
  function sumarNumeros(uint numero1, uint numero2) public pure returns (uint) {
    return SafeMath.add(numero1,numero2);
  }
    
}

OpenZeppelin es una empresa sumamente confiable que se mantiene en constante auditor铆a, los invito a investigar m谩s acerca de ella para que conozcan sus grandiosos aportes a la industria.

RESUMEN CLASE 16:
MANEJO DE DEPENDENCIAS
Y LIBRERIAS

I.- IMPORTAR UNA DEPENDENCIA

  • Con la sentencia 鈥渋mport鈥 podemos hacer referencia a un contrato que est茅 definido en el mismo 谩mbito en el que estemos trabajando.

  • Tambi茅n podemos importar contratos que se encuentren en un repositorio o en un paquete como npm.

  • Adem谩s de contratos podemos importar librer铆as que son similares a los contratos, pero no contienen estado y solo brindan utilidad.

REMIX:

Importacion.sol

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/utils/math/SafeMath.sol";

contract Importacion {

    function sumarNumeros(uint numero1, uint numero2) public pure returns (uint) {
        return SafeMath.add(numero1,numero2);
    }

}

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

import 鈥淍openzeppelin/contracts/utils/math/SafeMath.sol鈥;
// hacemos referencia a un contrato SafeMath.sol!
// esta ruta es el equivalente de que instaelmos el opezeppelin desde npm
// y desde remix no necesitamos istalar nada adicional

// llamamos a la libreria de openzeppelin con el import
// para evitar el overflow -> problema : maximo reinicia bajand de 0 aumenta!

contract Importacion {

function sumarNumeros(uint numero1, uint numero2) public pure returns (uint) {
// funcion de suma que no hace ningunavalidacion de overflow (al maximo posible se reinicia el contador)

    // return numero1 + numero2

    return SafeMath.add(numero1,numero2);
    // utilizamos la referencia "SafeMath" de la libreria para evitar el overflow
    // utilizmos la funcion ".add" y definimos los parametros  sumar (parametro A, parmetro B)
}

}