La sentencia Pragma de Solidity

Solidity

En este breve tutorial vamos a ver qué es y cómo se usa la sentencia pragma de Solidity cuando creas un Smart Contract. Para seguir este tutorial no necesitarás conocimientos previos. Eso sí, es recomendable que conozcas el IDE online Remix, que es el que usaremos. Si no conoces Remix, consulta el tutorial de introducción a Remix.

Qué es la sentencia pragma

La sentencia pragma se usa para indicar al compilador las versiones de Solidity con las que se puede compilar un contrato. Todo contrato debe comenzar con la sentencia pragma, con el objetivo de asegurarte de que estás usando la versión correcta de Solidity.

Si has indicado al compilador que use una versión de Solidity diferente a la definida en un contrato, se mostrará una advertencia.

Cómo usar la sentencia pragma

La sentencia pragma debería estar al principio de todos los Smart Contracts que crees. Vamos a ver primero el contrato de ejemplo que se incluye en Remix.

Una vez hayas accedido a Remix, accede al directorio /contracts del ejemplo que se incluye y luego abre por ejemplo el archivo Ballot.sol. Tal y como ves, en la parte superior puedes ver que se incluye la sentencia pragma solidity junto con una o más versiones del lenguaje. La sentencia debe terminar con un punto y coma ;.

Por ejemplo, para indicar que el contrato debe ser compilado con la versión 0.8.0 de Solidity tendrías que introducir esta sentencia:

pragma solidity 0.8.0;

Si por ejemplo quisieses indicar que el contrato puede ser compilado con cualquier versión a partir de una específica, tendrías que anteponer el carácter ^ al número de versión. Por ejemplo, para indicar que el contrato puede ser compilado con cualquier versión a partir de la 0.8.0, tendrías que usar la siguiente sentencia:

pragma solidity ^0.8.0;

Si quieres indicar que el contrato pueda compilarse hasta cierto número de versión de Solidity, tendrás que hacerlo mediante el operador menor < o menor o igual <=. En el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity hasta la 0.7.0.

pragma solidity <0.7.0;

Del mismo modo, en el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity hasta la la 0.8.1, incluyendo a esta misma:

pragma solidity <=0.8.1;

Si quieres indicar que el contrato pueda compilarse a partir de un número de versión específico de Solidity, tendrás que hacerlo mediante el operador mayor > o mayor o igual >=. En el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity a partir de la 0.7.0.

pragma solidity >0.7.0;

Del mismo modo, en el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity hasta la la 0.8.2, incluyendo a esta misma:

pragma solidity >=0.8.2;

Finalmente, en caso de que quieras indicar que el contrato puede compilarse entre un rango de versiones de Solidity, tendrás que indicar las versiones, tendrás que indicarlo mediante los operadores mayor >, menor <, mayor o igual >= o menor o igual <=. En el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity entre la 0.7.0 y la 0.9.0.

pragma solidity >=0.7.0 <0.9.0;

Esto ha sido todo.

Si quieres aprender a usar Solidity, puedes consultar la guía definitiva de Solidity.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

1 comentario en “La sentencia Pragma de Solidity

  1. Si no me equivoco esta sentencia está mal:
    «Del mismo modo, en el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity hasta la la 0.8.2, incluyendo a esta misma:»
    Debería ser:
    «…con cualquier versión de Solidity a partir de la la 0.8.2…»

    Y esta también ya que excluye a la propia versión 0.9.0 que no funcionará:
    «En el siguiente ejemplo indicamos que el código puede compilarse con cualquier versión de Solidity entre la 0.7.0 y la 0.9.0.»

    Saludos.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”