Saltar al contenido principal

Explorador de Contratos

El Explorador de Contratos es tu interfaz principal para examinar contratos inteligentes desplegados en la red Stellar. Mediante una intuitiva interfaz basada en navegador, puedes acceder a información completa sobre especificaciones del contrato, código fuente, estado del almacenamiento, información de desarrollo, historial de versiones y enlaces de cliente, además de invocar métodos del contrato directamente sin herramientas de línea de comandos.

advertencia

Se requiere la URL RPC para ver la información del contrato. Puedes actualizar o establecer la URL RPC en el selector de red en la esquina superior derecha. Consulta Proveedores RPC.

Lab: Contract Explorer

Comenzar

Para explorar un contrato:

  1. Navega al Explorador de Contratos
  2. Selecciona tu red Testnet o Mainnet
  3. Introduce un ID de contrato
  4. Explora las pestañas para familiarizarte con la estructura y capacidades del contrato

Vamos a cargar el ID de contrato CAJJZSGMMM3PD7N33TAPHGBUGTB43OC73HVIK2L2G6BNGGGYOSSYBXBD en la red Mainnet y ver qué podemos aprender sobre él.

Información del contrato

En la sección "Información del contrato", podemos ver la fecha en que se creó el contrato y la dirección Stellar del creador. También muestra el hash Wasm y el repositorio de GitHub, junto con un enlace al código fuente de este contrato. Además, puedes ver cuántas entradas de almacenamiento tiene este contrato.

Lab: Contract Explorer: Contract Info

Especificación del contrato

En esta sección, puedes ver la Meta de contrato, la Meta del entorno de contrato, y la Especificación del contrato desde el archivo Wasm. Puedes ver cada sección en formatos Interface, JSON o XDR, seleccionando el tipo desde el menú desplegable en la esquina superior derecha de la vista del editor. También puedes descargar cada sección individualmente en el formato seleccionado (el botón de descarga está ubicado junto al menú desplegable de tipo), o descargar el archivo Wasm completo haciendo clic en el botón "Descargar Wasm" al final de la sección.

Lab: Contract Explorer: Contract Spec

Código fuente

En el editor de código, puedes ver el archivo README.md del repositorio del contrato inteligente. Puedes explorar más el código abriéndolo en un Dev Container, Codeanywhere, o usando el enlace de GitHub (consulta el menú desplegable en la esquina superior derecha de la vista del editor).

Lab: Contract Explorer: Source Code

Almacenamiento del contrato

Esta sección muestra todas las entradas de datos almacenadas para el contrato inteligente en un formato legible para humanos. Los datos pueden filtrarse por Key y Value, ordenarse por las columnas Durability, TTL o Updated, y exportarse en formatos XDR o JSON.

Lab: Contract Explorer: Contract Storage

Restaurar Footprint

Las entradas de almacenamiento archivadas pueden restaurarse haciendo clic en el botón Restore junto a la entrada.

Lab: Contract Explorer: Contract Storage Restore

Esta acción te redirige a la página Construir Transacciones con una operación RestoreFootprintOp configurada automáticamente con los parámetros necesarios para restaurar el footprint archivado.

Lab: Contract Explorer: Contract Storage Restore in action

consejo

Verifica que el XDR de la Transacción Soroban preparada incluya los datos del contrato que deseas restaurar en sus recursos footprint.read_write, y confirma que tanto los bytes de lectura como de escritura sean diferentes de cero.

Información de compilación

Si el contrato inteligente tiene configurada la verificación de compilación (siguiendo el SEP de validación de código fuente de contrato), esta sección muestra información de la attestación de GitHub.

información

"Compilación verificada" solo significa que la acción de GitHub ha certificado que se compiló el Wasm, pero no verifica el código fuente. Asegúrate siempre de comprender completamente qué hace el contrato inteligente antes de usarlo.

Lab: Contract Explorer: Build Info

Historial de versiones

En esta sección, puedes encontrar el historial de cambios del Wasm.

Lab: Contract Explorer: Version History

Bindings

Bindings son una función del CLI de Stellar que generan bibliotecas cliente completamente tipadas para tus contratos inteligentes, adaptadas a tu lenguaje de programación elegido, incluyendo TypeScript, JSON, Rust, Python y Java. Esto facilita integrar los contratos Stellar en tu aplicación como si fueran módulos nativos. Cada binding proporciona funciones con seguridad de tipos que corresponden a los métodos de tu contrato. Para aprender más sobre generar bindings, consulta el comando de bindings del CLI de Stellar.

Invocar contrato

La página Invocar Contrato te permite interactuar directamente con contratos inteligentes a través de la interfaz web, sin necesidad de herramientas de línea de comandos o scripts personalizados.

advertencia

Se requiere una wallet conectada para invocar el contrato.

Cómo usar

  1. Conecta tu billetera: Elige conectar una billetera del navegador haciendo clic en "Connect Wallet" en la esquina superior derecha.
  2. Selecciona la red: Testnet o Mainnet en la esquina superior derecha.
  3. Introduce los detalles del contrato: Proporciona el ID del contrato
  4. Selecciona una Función: Escoge qué función del contrato quieres invocar de las opciones disponibles.
  5. Completa los parámetros: Introduce los parámetros requeridos para la función seleccionada. Lab proporciona sugerencias de tipo basadas en la Especificación del Contrato.
  6. Simulate: Simula la transacción para obtener la cantidad correcta de la tarifa y ver el resultado antes de enviarla a la red. Por defecto, verás el resultado de la función invocada. Si quieres la respuesta completa de la invocación del contrato, simplemente activa "Show full response".
  7. Enviar: Usa esto solo cuando sea una operación de Write y desees cambiar los datos en la red.

Lab: Contract Explorer: Invoke Contract

información

Una vez que simules la función, verás una herramienta emergente que indica Read o Write junto al título de la función invocada. Cuando una transacción no cambia el estado del contrato, se considera una operación de Read. En este caso, no es necesario enviar la transacción a la red, ya que no modifica ningún dato. Puedes simplemente simular la transacción para ver los resultados sin incurrir en costos.

Casos de Uso

  • Pruebas: Prueba rápidamente funciones del contrato durante el desarrollo sin desplegar scripts de prueba
  • Depuración: Investiga incidencias invocando funciones con diferentes parámetros y examinando las salidas
  • Educación: Aprende cómo funcionan los contratos explorando e invocando contratos públicos
  • Prototipado: Experimenta con interacciones de contratos antes de desarrollar aplicaciones completas