Smart Contracts

Un "smart contract" (contrato inteligente) es un programa de computadora autónomo diseñado para ejecutar, validar o hacer cumplir automáticamente los términos de un contrato sin la necesidad de una autoridad central o intermediario. Estos contratos inteligentes están basados en la tecnología blockchain, que proporciona una forma segura y transparente de ejecutar y gestionar acuerdos.

Stamping.io API Studio brinda la capacidad única de interactuar directamente con smart contracts desplegados en redes EVM (Ethereum Virtual Machine). Esta funcionalidad simplifica la interacción con contratos inteligentes al proporcionar una interfaz intuitiva y centralizada para gestionar contratos en cualquier red EVM.

Conceptos claves

  • Smart Contracts: Son programas autónomos que se ejecutan en la blockchain y ejecutan acciones automáticamente cuando se cumplen ciertas condiciones. Pueden contener lógica de negocio, reglas, y funciones autónomas.
  • Redes EVM (Ethereum Virtual Machine): Son entornos de ejecución compatibles con la máquina virtual Ethereum. Ethereum y otras blockchains utilizan EVM para ejecutar contratos inteligentes. Ejemplos de redes EVM incluyen Ethereum Mainnet, Ropsten, Rinkeby, entre otras.

Ventajas de usar Stamping.io para interactuar con Smart Contracts:

  • Registro gestionado de contratos: Stamping.io permite registrar y gestionar contratos en un entorno centralizado, simplificando el proceso de interacción y eliminando la necesidad de gestionar múltiples registros por separado.
  • Facilidad de uso: La interfaz de Stamping.io API Studio proporciona una forma intuitiva de gestionar y ejecutar transacciones en smart contracts, reduciendo la complejidad asociada con bibliotecas como web3js o ethereum.js.
  • Abstracción de detalles técnicos: Los desarrolladores pueden interactuar con smart contracts sin lidiar directamente con detalles técnicos complejos. Stamping.io maneja la complejidad, brindando una experiencia más amigable.
  • Integración sin SDK adicionales: Elimina la necesidad de integrar y mantener bibliotecas adicionales como web3js, ethereumjs, o SDK similares. Stamping.io actúa como un puente simplificado entre el desarrollador y los contratos inteligentes.

Operaciones principales

  • Registro de contratos: Los contratos se registran previamente en Stamping.io API Studio para su fácil gestión y utilización en el proceso de desarrollo.
  • Invocación en tareas: Las tareas dentro de un proceso pueden hacer llamados a contratos registrados, permitiendo realizar acciones específicas o ejecutar transacciones en la blockchain.
  • Función getContract(name): Permite recuperar detalles sobre un contrato registrado, facilitando la interacción con el mismo durante el desarrollo del proceso.

Instrucciones de uso

  • Creación de contratos: Agrege un contrato que haya desplegado o cree uno nuevo usando Stamping.io.
  • Registre el contrato: Registre los contratos que desea utilizar dentro de un proceso.
  • Instancie el contrato: Seleccionalos en las tareas que requieren hacer uso de contratos o use la función getContract(name).
Pasos
Controlador de contratos en Stamping.io
El Controlador de Contratos en Stamping.io ofrece una interfaz para gestionar y registrar contratos inteligentes, permitiendo su ejecución eficiente desde la plataforma. Este componente simplifica el proceso de enrolamiento al proporcionar opciones para crear nuevos contratos o agregar contratos existentes con detalles clave como el ABI, la dirección y la red asociada.

Funcionalidades
  • Creación de contratos: Los usuarios pueden crear nuevos contratos inteligentes, seleccionando el tipo de contrato deseado, como ERC20, ERC721, EIP1812, ERC725, entre otros. Se solicitan detalles específicos según el tipo de contrato, como nombre, símbolo, etc.
  • Registro de contratos existentes: Los usuarios pueden agregar contratos existentes proporcionando detalles esenciales, incluyendo el ABI, la dirección y la red asociada al contrato.
  • Enlace con API REST: Se ofrece una API REST (https://api.stamping.io/contract/abi/base64) para facilitar el proceso de agregar contratos automáticamente. Los desarrolladores pueden aprovechar esta API para integrar contratos de manera eficiente.
  • Soporte para estándares comunes: Stamping.io admite estándares comunes como ERC20, ERC721, EIP1812, ERC725, entre otros. Esto simplifica la gestión y ejecución de contratos con estructuras conocidas en la blockchain.
  • Generación automática de APIs: Una vez creado o agregado el contrato, Stamping.io genera automáticamente todas las APIs necesarias para realizar consultas o transacciones en las funciones específicas del contrato.
Instrucciones:
  • Acceda al Controlador de Contratos en Stamping.io.
  • Seleccione la opción deseada: crear un nuevo contrato o agregar uno existente.
  • Proporcione los detalles específicos según el tipo de contrato o los datos asociados al contrato existente.
  • Stamping.io generará automáticamente las APIs necesarias para interactuar con las funciones del contrato.
  • Seleccione los contratos y registrelo en los procesos que desea crear en Stamping.io para realizar operaciones en la blockchain.
La funcionalidad del Controlador de Contratos en Stamping.io simplifica el proceso de gestión y ejecución de contratos inteligentes, ofreciendo una solución centralizada y eficiente para interactuar con la blockchain.
Opciones
Agregando contrato
Añadir un contrato en Stamping.io es un proceso clave que permite a los desarrolladores incorporar contratos inteligentes en sus flujos de trabajo, facilitando la interacción con la blockchain de manera eficiente y orquestada.

Instrucciones:
  • Nombre del contrato: Proporcione un nombre significativo para identificar el contrato en Stamping.io.
  • Dirección del contrato (Address): Ingrese la dirección del contrato inteligente en la blockchain. Esta dirección es única y se utiliza para ubicar el contrato en la red.
  • ABI (Interfaz de contrato): Pegue el ABI del contrato. El ABI define la interfaz del contrato, especificando los métodos y la estructura de datos que pueden ser utilizados por otras partes.
  • Chain ID (Identificador de cadena): Proporcione el ID de cadena asociado con el contrato. Este identificador indica en qué cadena (como Ethereum) se encuentra el contrato.
  • Tipo de contrato: Seleccione el tipo de contrato entre las opciones proporcionadas, como ERC20, ERC721, EIP1812, etc. Elija el tipo que mejor describa la funcionalidad del contrato.
  • Registro del contrato: Complete los campos requeridos y haga clic en "Registrar Contrato" para agregarlo a Stamping.io.
La funcionalidad del Controlador de Contratos en Stamping.io simplifica el proceso de gestión y ejecución de contratos inteligentes, ofreciendo una solución centralizada y eficiente para interactuar con la blockchain.
Creando contrato
Crear un contrato en Stamping.io es un proceso clave que permite a los desarrolladores crear un nuevo contrato inteligente en sus flujos de trabajo, facilitando la interacción con la blockchain de manera eficiente y orquestada.

Instrucciones:
  • Nombre del contrato: Proporcione un nombre significativo para identificar el contrato en Stamping.io.
  • Chain ID (Identificador de cadena): Proporcione el ID de cadena asociado con el contrato. Este identificador indica en qué cadena (como Ethereum) se encuentra el contrato.
  • Tipo de contrato: Seleccione el tipo de contrato entre las opciones proporcionadas, como ERC20, ERC721, EIP1812, etc. Elija el tipo que mejor describa la funcionalidad del contrato.
  • Registro del contrato: Complete los campos requeridos y haga clic en "Registrar Contrato" para agregarlo a Stamping.io.
Crear un contrato en Stamping.io es un proceso clave que permite a los desarrolladores incorporar contratos inteligentes en sus flujos de trabajo, facilitando la interacción con la blockchain de manera eficiente y orquestada.

Contracts

El proceso de registro de contratos en Stamping.io permite encapsular en una variable la información sobre un contrato registrado o creado previamente en la plataforma. Retorna detalles relevantes, incluyendo el contrato y la red blockchain en la que está desplegado.

Entradas
  • name: Nombre o identificador único del contrato del cual se desea obtener información.
  • value: Selección del contrato dependiendo el scope del proyecto (desarrollo, testing o producción).
El valor asociado a la variable puede ser recuperado en cualquier tarea diseñada en el API Studio de Stamping.io mediante el uso de la función: getContracts(name), sin embargo, por lo general, es usado en tareas que hacen uso de smart contacts para lectura (call) o escritura (send). El contrato debe ser registrado o creado en Stamping.io para que la plataforma tenga conocimiento de su existencia.

Integración de tareas con contratos

En Stamping.io, la integración de tareas con contratos proporciona una forma poderosa de orquestar flujos de trabajo y ejecutar transacciones en contratos inteligentes en la blockchain. Aquí hay una guía sobre cómo realizar esta integración:

Pasos para integrar tareas con contratos:
  • Antes de integrar tareas con contratos, asegúrese de haber registrado los contratos relevantes en Stamping.io utilizando el "Controlador de Contratos"
  • Utilice el "Diseñador de Procesos" en el "API Studio" para crear o editar su flujo de trabajo. Agregue tareas según sea necesario.
  • Mientras configura una tarea en el "Diseñador de Procesos", busque la opción para integrar con un contrato. Esto podría ser parte de la configuración de la tarea, como los parámetros de entrada o la respuesta esperada.
  • Mapee los datos necesarios desde otras tareas o fuentes al contrato. Puede utilizar valores constantes, respuestas de tareas anteriores o incluso funciones de transformación de datos para preparar los datos antes de enviarlos al contrato.
  • Según el tipo de contrato y la tarea que esté configurando, elija entre realizar una consulta al contrato o ejecutar una transacción. Configure los parámetros necesarios para la operación.
  • Si la tarea implica una transacción, puede esperar una respuesta del contrato. Mapee estos resultados a variables o utilícelos en funciones de transformación para su posterior uso en el proceso.
  • Una vez que haya configurado todas las tareas relacionadas con contratos, guarde su diseño y ejecútelo. Puede probarlo en un entorno de desarrollo antes de implementarlo en producción.
Parámetros
Stamping.io ofrece la posibilidad de mapeat datos en los atributos de cada función del contrato, usando la pestaña de "parameters":.

La integración de tareas con contratos en Stamping.io ofrece un enfoque robusto para interactuar con contratos inteligentes en la blockchain, brindando flexibilidad y control sobre las operaciones automatizadas.