Primero, regrese al IDE en línea de SmartPy donde tenemos nuestro contrato. Verá un botón "Compilar" en la parte superior de la página. Haga clic en este botón para compilar el contrato en Michelson, el lenguaje de bajo nivel que entiende la cadena de bloques de Tezos.
Después de compilar, aparecerá el botón "Implementar contrato Michelson" en la parte inferior de la página. Haga clic aquí para iniciar el proceso de implementación.
Se le dirigirá a la página de implementación, donde podrá seleccionar la red en la que implementar el contrato. Para este tutorial, elija 'Testnet'. Se recomienda probar siempre sus contratos en la red de prueba antes de implementarlos en la red principal.
Necesitará una billetera Tezos para pagar la implementación. Si no tiene una billetera testnet, hay varios grifos en línea disponibles donde puede obtener testnet XTZ para este propósito. (visitar aquí)
Hay pocas carteras de extensiones de navegador compatibles
Una vez que cree su billetera Tezos, puede solicitar tokens faucet testnet aquí conectando su billetera a través del navegador.
Una vez que haya seleccionado la red testnet, ingrese su dirección testnet Tezos y su clave privada. ¡Asegúrese de mantener su clave privada segura y protegida! Haga clic en el botón 'Implementar' para implementar el contrato.
Aparecerá un cuadro de diálogo con información sobre la operación. Si todo está correcto confirma la operación. El contrato se implementará en la red de prueba de Tezos. Este proceso puede tardar unos minutos.
Una vez que el contrato se haya implementado correctamente, recibirá una dirección del contrato. Guarde esta dirección, ya que la necesitará para interactuar con su contrato.
Ahora que el contrato está implementado, puede interactuar con él utilizando la función 'Interacciones de contrato' en el IDE de SmartPy.
Navegue a la página 'Interacciones de contrato' e ingrese la dirección de su contrato implementado.
La interfaz mostrará los puntos de entrada del contrato, que puede utilizar para interactuar con el contrato.
Para llamar a un punto de entrada de contrato, haga clic en su nombre, complete los parámetros necesarios y haga clic en 'Ejecutar'.
Por ejemplo, para acuñar nuevos tokens, seleccione el punto de entrada "Mint", ingrese la dirección del destinatario y la cantidad de tokens a acuñar, y haga clic en "Ejecutar".
Si la operación tiene éxito, los tokens se acuñarán y se agregarán al saldo del destinatario. Puede verificar esto consultando el saldo de la dirección del destinatario.
Recuerde que interactuar con un contrato en blockchain implica pagar tarifas de gas, así que asegúrese de tener suficiente saldo en su billetera.
En nuestro contrato de ejemplo, el nombre del token se define cuando iniciamos el escenario de prueba en la función test()
. Se incluye como parte del mapa token_metadata
:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Aquí, "Mi gran token" es el nombre inicial del token. Para establecer un nombre diferente para su token, simplemente reemplácelo con el nombre que desee. Por ejemplo, si queremos nombrar nuestro token "GateLearn", modificaríamos el código de la siguiente manera:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Al hacer esto, nuestro contrato ahora creará tokens llamados "GateLearn". Este nombre se representará como una cadena de bytes en el contrato y se mostrará en las aplicaciones que interactúan con nuestro contrato y son compatibles con el estándar FA1.2. Es fundamental tener en cuenta que el nombre del token, junto con otros detalles incluidos en el mapa token_metadata
, se configuran en la implementación del contrato. Una vez que se implementa el contrato, no se puede cambiar a menos que haya implementado funciones en su contrato para permitir dichas modificaciones.
Primero, regrese al IDE en línea de SmartPy donde tenemos nuestro contrato. Verá un botón "Compilar" en la parte superior de la página. Haga clic en este botón para compilar el contrato en Michelson, el lenguaje de bajo nivel que entiende la cadena de bloques de Tezos.
Después de compilar, aparecerá el botón "Implementar contrato Michelson" en la parte inferior de la página. Haga clic aquí para iniciar el proceso de implementación.
Se le dirigirá a la página de implementación, donde podrá seleccionar la red en la que implementar el contrato. Para este tutorial, elija 'Testnet'. Se recomienda probar siempre sus contratos en la red de prueba antes de implementarlos en la red principal.
Necesitará una billetera Tezos para pagar la implementación. Si no tiene una billetera testnet, hay varios grifos en línea disponibles donde puede obtener testnet XTZ para este propósito. (visitar aquí)
Hay pocas carteras de extensiones de navegador compatibles
Una vez que cree su billetera Tezos, puede solicitar tokens faucet testnet aquí conectando su billetera a través del navegador.
Una vez que haya seleccionado la red testnet, ingrese su dirección testnet Tezos y su clave privada. ¡Asegúrese de mantener su clave privada segura y protegida! Haga clic en el botón 'Implementar' para implementar el contrato.
Aparecerá un cuadro de diálogo con información sobre la operación. Si todo está correcto confirma la operación. El contrato se implementará en la red de prueba de Tezos. Este proceso puede tardar unos minutos.
Una vez que el contrato se haya implementado correctamente, recibirá una dirección del contrato. Guarde esta dirección, ya que la necesitará para interactuar con su contrato.
Ahora que el contrato está implementado, puede interactuar con él utilizando la función 'Interacciones de contrato' en el IDE de SmartPy.
Navegue a la página 'Interacciones de contrato' e ingrese la dirección de su contrato implementado.
La interfaz mostrará los puntos de entrada del contrato, que puede utilizar para interactuar con el contrato.
Para llamar a un punto de entrada de contrato, haga clic en su nombre, complete los parámetros necesarios y haga clic en 'Ejecutar'.
Por ejemplo, para acuñar nuevos tokens, seleccione el punto de entrada "Mint", ingrese la dirección del destinatario y la cantidad de tokens a acuñar, y haga clic en "Ejecutar".
Si la operación tiene éxito, los tokens se acuñarán y se agregarán al saldo del destinatario. Puede verificar esto consultando el saldo de la dirección del destinatario.
Recuerde que interactuar con un contrato en blockchain implica pagar tarifas de gas, así que asegúrese de tener suficiente saldo en su billetera.
En nuestro contrato de ejemplo, el nombre del token se define cuando iniciamos el escenario de prueba en la función test()
. Se incluye como parte del mapa token_metadata
:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Aquí, "Mi gran token" es el nombre inicial del token. Para establecer un nombre diferente para su token, simplemente reemplácelo con el nombre que desee. Por ejemplo, si queremos nombrar nuestro token "GateLearn", modificaríamos el código de la siguiente manera:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
Al hacer esto, nuestro contrato ahora creará tokens llamados "GateLearn". Este nombre se representará como una cadena de bytes en el contrato y se mostrará en las aplicaciones que interactúan con nuestro contrato y son compatibles con el estándar FA1.2. Es fundamental tener en cuenta que el nombre del token, junto con otros detalles incluidos en el mapa token_metadata
, se configuran en la implementación del contrato. Una vez que se implementa el contrato, no se puede cambiar a menos que haya implementado funciones en su contrato para permitir dichas modificaciones.