Interfaz de programación de aplicaciones JSON-RPC
Para que las aplicaciones de software interactúen con la cadena de bloques IBAX (obtener datos de bloques o enviar transacciones a la red), deben conectarse a un nodo de red de IBAX.
Debido a la universalidad y escalabilidad de la interfaz de programación de aplicaciones REST API original, se vuelve cada vez más compleja a medida que se agregan más interfaces y se utilizan diferentes clientes. Nos dimos cuenta de la importancia de la unificación de la interfaz para garantizar que todos los clientes puedan utilizar el mismo conjunto de especificaciones, independientemente de cómo se implementen los nodos y los clientes específicos.
JSON-RPC es un protocolo de llamada a procedimiento remoto (RPC) sin estado y ligero. Define algunas estructuras de datos y sus reglas de procesamiento. Es independiente del transporte, ya que estos conceptos se pueden utilizar en el mismo proceso, a través de una interfaz, el protocolo de transferencia de hipertexto o muchos entornos de mensajería diferentes. Utiliza JSON (RFC 4627) como formato de datos.
JSON-RPC es compatible con la mayoría de las interfaces de programación de aplicaciones REST API y conserva la interfaz de programación de aplicaciones REST API original. Los clientes que utilizan la interfaz de programación de aplicaciones REST API pueden cambiar fácilmente a la interfaz de programación de aplicaciones JSON-RPC. Algunas interfaces son:
Puede obtenerlo a través de la interfaz de API REST.
Implementación del cliente
Cada cliente puede utilizar diferentes lenguajes de programación al ejecutar la especificación JSON-RPC. Puede utilizar GO-SDK (opens new window).
Ejemplo de Curl
A continuación se proporciona un ejemplo de cómo utilizar la interfaz de aplicación JSON_RPC enviando una solicitud curl al nodo IBAX. Cada ejemplo incluye una descripción del punto final específico, sus parámetros, el tipo de retorno y un ejemplo de trabajo de cómo utilizarlo.
Las solicitudes de Curl pueden devolver mensajes de error relacionados con el tipo de contenido. Esto se debe a que la opción --data establece el tipo de contenido en application/x-www-form-urlencoded. Si tiene este problema en su solicitud, establezca manualmente el encabezado colocando -H "Content-Type: application/json" al comienzo de la llamada. Estos ejemplos tampoco incluyen la combinación de dirección web/protocolo e puerto, que debe ser el último parámetro de curl (por ejemplo, 127.0.0.1:7079). Una solicitud completa de curl que incluye estos datos adicionales se presenta en la siguiente forma:
Convenio
Hexadecimal
Codificación hexadecimal
Cuando se codifica una matriz de bytes, un hash o una matriz de bytes de código: se codifica en hexadecimal, con dos dígitos hexadecimales por byte.
Tipo de solicitud
Usar siempre
- Content-Type: application/json
Special Markers
Omitempty
Este campo es opcional.
Si hay varios campos Omitempty
consecutivos, pero solo desea pasar el valor de un campo, debe dejar los campos no deseados vacíos (con un valor nulo para ese tipo de campo), por ejemplo:
Si solo se transmite el valor de "name", los parámetros de solicitud se transmiten de la siguiente manera:
Si solo se transmite el valor de "column", los parámetros de solicitud se transmiten de la siguiente manera:
Autorización
Encabezado de autorización, agregue el encabezado de autorización a la solicitud, ejemplo:
name : Authorization value : Bearer +login token
Example:
AccountOrKeyId
Parámetro de dirección de cuenta, se pueden usar dos formatos de dirección, por ejemplo:
- String - Dirección de cuenta
"XXXX-XXXX-XXXX-XXXX-XXXX"
o ID de cuenta "64842...538120"
- Object - Objeto de dirección
- key_id - Number - ID de cuenta, por ejemplo:
{"key_id":-64842...38120}
- account - String - Dirección de cuenta, por ejemplo:
{"account":"1196-...-...-...-3496"}
Si tanto la dirección de cuenta como el ID de cuenta están presentes, se utilizará primero el ID de cuenta.
BlockOrHash
Altura del bloque o HASH del bloque, por ejemplo:
- String - Altura del bloque
"100"
o HASH del bloque "4663aa47...a60753c18d9ba9cb4"
Solicitudes en lote
Esta función se puede utilizar para reducir la latencia de la red, especialmente al obtener una gran cantidad de objetos de datos básicamente independientes.
A continuación se muestra un ejemplo de cómo obtener el bloque más alto y el número total de transacciones:
Manejo de respuestas de error
En caso de que la solicitud se ejecute correctamente, se devolverá el estado 200
.
Si ocurre un error, se devolverá un objeto JSON con los siguientes campos:
Espacios de nombres JSON-RPC
Espacio de nombres ibax
Interfaz de autenticación
Interfaz de comando del servidor
Función de interfaz de solicitud de datos.
Obtener la interfaz de indicadores.
Interfaz del ecosistema.
Interfaz de funciones de contratos inteligentes.
Espacio de nombres net
Espacio de nombres rpc
Espacio de nombres de administrador
Espacio de nombres de depuración
Métodos de interfaz JSON-RPC
ibax.getUid
Autorización Omitempty
Para generar un token JWT temporal, necesitas pasar el token a login cuando lo llames.
Authorization
Parámetros
Return Value
uid - String - Número de firma.
token - String - Token temporal pasado durante el inicio de sesión (la vida útil del token temporal es de 5 segundos).
network_id - String - Identificador de red.
cryptoer - String - Algoritmo de curva elíptica.
hasher - String - Algoritmo de hash.
Si la solicitud contiene Autorización y no requiere autorización, se devolverá la siguiente información:
expire - String - Tiempo de expiración.
ecosystem - String - ID de ecosistema.
key_id - String - Dirección de cuenta.
address - String - Dirección de billetera XXXX-XXXX-XXXX-XXXX-XXXX
.
network_id - String - Identificador de red.
Ejemplo
ibax.login
Autenticación de usuario. Autorización
Debe llamar primero al comando ibax.getUid para recibir un valor único y firmarlo.
El token JWT temporal de getuid debe transmitirse en el encabezado de la solicitud.
Si la solicitud es exitosa, el token recibido en la respuesta se incluye en Autorización.
Parámetros
Object - Objeto de llamada de autenticación de identidad.
ecosystem_id - Number - Ecosystem system ID. Si no se especifica, se utilizará el ID del primer sistema ecológico por defecto.
expire - Number - El ciclo de vida del token JWT, en segundos, es de forma predeterminada 28800, es decir, 8 horas.
public_key - Hex String - Clave pública de cuenta en hexadecimal.
key_id - String -
Dirección de cuenta XXXX-...-XXXX
.
Use este parámetro cuando la clave pública ya esté almacenada en la cadena de bloques. No se puede usar junto con el parámetro pubkey.
signature - String -
Firmar el UID recibido por getuid con la clave privada.
Contenido de los datos firmados: LOGIN+{$network_id}+uid.
role_id - Number - Role ID, role default 0.
Return value Object - Asunto de verificación de identidad.
token - String - Token JWT.
ecosystem_id - String - ID del ecosistema.
key_id - String - ID de dirección de cuenta.
account - String - Dirección de la billetera XXXX-XXXX-XXXX-XXXX-XXXX
.
notify_key - String - ID de notificación.
isnode - Bool - ¿Es esta la dirección de cuenta del propietario de este nodo? Valor: true
,false
.
isowner - Bool - ¿Es esta dirección de cuenta el creador del sistema ecológico? Valor: true
,false
.
clb - Bool - El sistema de inicio de sesión es CLB. Valor: true
,false
。
timestamp - String - El sello de tiempo actual.
roles - Array Listado de personajes, si no hay personajes, el campo es nil
.
- role_id - Number - ID de personaje.
- role_name - String - Nombre del personaje.
Ejemplo
ibax.getAuthStatus
Estado de autenticación de identidad del usuario.
Autorización
Parámetros
Valor de retorno Object - Estado del objeto de autenticación de identidad.
active - Bool - Estado de autenticación de usuario actual, valor: true,false
。
exp - Number - Omitempty Fecha de vencimiento del token en formato de marca de tiempo.
Ejemplo
ibax.getVersion
Devuelve la versión actual del servidor.
Parámetros
Valor de retorno
- vesion - String - Versión(
big Version
+ branch name
+ git commit
+ time
+ node status
)。
Ejemplo
ibax.getBalance
Obtener el saldo de la dirección de la cuenta.
Parámetros
Valor de retorno Object - Obtener objeto de saldo.
amount - String - El saldo de la cuenta del contrato inteligente de la unidad mínima.
total - String - El saldo total de la cuenta de la unidad mínima. (amount + utxo)。
utxo - String - El saldo de la cuenta UTXO es la cantidad mínima de unidades.
digits - Number - Precisión.
token_symbol - String - Símbolo del token.
Ejemplo
ibax.getBlocksTxInfo
Devuelve una lista de información adicional relevante para las transacciones en cada bloque.
(Nota: Esta traducción puede no ser precisa sin más contexto.)
Parámetros
block_id - Number - Altura del bloque de inicio a consultar.
count - Number - Número de bloques, por defecto es 25, con un máximo de 100 solicitudes.
Valor de retorno Object - Obtener el objeto de información del bloque.
Para todos los demás bloques, es la dirección de cuenta que firma la transacción.
Ejemplo
ibax.detailedBlocks
Devuelve una lista que contiene información adicional detallada sobre las transacciones en cada bloque.
Parámetros
block_id - Number - Altura del bloque de inicio a consultar.
count - Number - Número de bloques, por defecto es 25, con un máximo de 100 solicitudes.
Valor de retorno Object - Obtener el objeto de detalles del bloque.
- block_id - String - Altura del bloque.
- header - Object - Encabezado de bloque. El encabezado de bloque contiene los siguientes campos:
- block_id - Number- Altura del bloque.
- time - Number - Marca de tiempo de generación de bloque.
- key_id - Number - La dirección de cuenta que firmó el bloque.
- node_position - Number - La posición del nodo que genera el bloque en la lista de nodos de nodo de honor.
- version - Number - Versión de estructura de bloques.
- hash - Hex String - Hash de bloque.
- node_position - Number - En la lista de nodos de nodo de honor, se genera la posición del nodo que crea el bloque.
- key_id - Number - Dirección de la cuenta que firma el bloque.
- time - Number - Marca de tiempo de generación del bloque.
- tx_count - Number - Número de transacciones en el bloque.
- size - String - Tamaño del bloque.
- rollback_hash - Hex String - El valor hash de la reversión de bloque.
- merkle_root - Hex String - El árbol de Merkle de las transacciones del bloque.
- bin_data - Hex String - Encabezado de bloque.todas las transacciones dentro del bloque, el hash del bloque anterior y la serialización de la clave privada del nodo que generó este bloque.
- transactions - Object - Transacciones. Lista de transacciones en el bloque y la información adicional de cada transacción:
- hash - Hex String - Hash de transacción.
- contract_name - String - Nombre del contrato inteligente.
- params - Object - Parámetros de contrato inteligente, los campos de contrato inteligente se pueden consultar a través de ibax.getContractInfo.
- key_id - Number - La dirección de la cuenta que firmó la transacción.
- time - Number - Timestamp de generación de la transacción (unidad: ms).
- type - Number - Tipo de transacción.
- size - String - Tamaño de la transacción.
Ejemplo
ibax.getKeyInfo
Devuelve una lista de ecosistemas que contiene roles registrados con la dirección especificada.
Parámetros
- account - String - Dirección de cuenta.
Valor de retorno Object - Lista de objetos de ecosistema de dirección especificada.
- account - String - Dirección de cuenta.
- ecosystems - Array - Lista de Ecosistemas.
- ecosystem - String - ID del ecosistema.
- name - String - Nombre del ecosistema.
- digits - Number - Precisión.
- roles - Array - Lista de personajes.
- id - String - ID de personaje.
- name - String - Nombre del personaje.
Ejemplo
ibax.detailedBlock
Return a detailed list of additional information for transactions in a block.
Parámetros
- Block or Hash - BlockOrHash - Altura del bloque o Hash del bloque.
Valor de retorno Object - Obtener el objeto de detalles del bloque.
header - Object - Block header. El encabezado de bloque contiene los siguientes campos:
- block_id - Number- Altura del bloque.
- time - Number - Marca de tiempo de generación de bloque.
- key_id - Number - La dirección de cuenta que firmó el bloque.
- node_position - Number - La posición del nodo que genera el bloque en la lista de nodos de nodo de honor.
- version - Number - Versión de estructura de bloques.
hash - Hex String - Hash de bloque.
node_position - Number - La posición del nodo que genera el bloque en la lista de nodos de nodo de honor.
key_id - Number - Dirección de cuenta que firmó el bloque.
time - Number - Marca de tiempo de generación de bloque.
tx_count - Number - El número de transacciones dentro de este bloque.
size - String - El tamaño del bloque.
rollback_hash - Hex String - Hash de reversión de bloque.
merkle_root - Hex String - Árbol de Merkle de las transacciones de este bloque.
bin_data - Hex String - Block header, todas las transacciones dentro del bloque, el hash del bloque anterior y la serialización de la clave privada del nodo que generó este bloque.
transactions - Array - Transacciones. Lista de transacciones en el bloque y la información adicional de cada transacción:
- hash - Hex String - Hash de transacción.
- contract_name - String - Nombre del contrato inteligente.
- params - Object - Parámetros de contrato inteligente, los campos de contrato inteligente se pueden consultar a través de ibax.getContractInfo.
- key_id - Number - - address - String - Dirección de la cuenta que firmó la transacción.
time - Number - Marca de tiempo de generación de la transacción (unidad: ms).
type - Number - Tipo de transacción.
size - String - Tamaño de la transacción.
Ejemplo
ibax.maxBlockId
Obtener el ID del bloque más alto en el nodo actual.
Parámetros
Valor de retorno
- Number - El bloque más alto en el nodo actual.
Ejemplo
ibax.getKeysCount
Obtener el número total de direcciones en el nodo actual.
Parámetros
Valor de retorno
- Count - Number - Número total de direcciones.
Ejemplo
ibax.getTxCount
Obtener el número total de transacciones en el nodo actual.
Parámetros
Valor de retorno
- Count - Number - Número total de transacciones.
Ejemplo
ibax.getTransactionCount
Obtener el número de transacciones de un bloque.
Parámetros
- block or hash - BlockOrHash - Altura del bloque o Hash del bloque.
Valor de retorno
- Count - Number - Cantidad total de bloques.
Ejemplo
ibax.getBlocksCountByNode
Obtener la posición del nodo y el número de bloques empaquetados.
Parámetros
nodePosition - Number - Nodo índice.
consensusMode - Number - Modo de consenso, parámetros (1: modo de gestión del creador; 2: modo de gobernanza DAO).
Valor de retorno Object - Obtener el índice del nodo y empaquetar el objeto de cantidad.
Ejemplo
ibax.honorNodesCount
Obtener la cantidad de nodos de honor.
Parámetros
Valor de retorno
- Count - Number - Número de nodos.
Ejemplo
ibax.getEcosystemCount
Obtener la cantidad de ecosistemas.
Parámetros
Valor de retorno
- Count - Number - Número de ecosistemas.
Ejemplo
ibax.ecosystemInfo
Obtener información sobre el ecosistema.
Parámetros
- ecosystem id - Number - Identificación del ecosistema.
Valor de retorno
- id - Number - Identificación del ecosistema.
- name - String - Nombre del ecosistema.
- digits - Number - Precisión.
- token_symbol - String - Símbolo del token.
- token_name - String - Nombre del token.
- total_amount - String - Cantidad de emisión (cantidad de emisión inicial, si no se ha emitido, es
"0"
). - is_withdraw - Bool - puede ser destruido
true
: destruible, false
: no destruible。 - withdraw - String - Cantidad destruida(
"0"
si no se puede destruir o no se destruye)。 - is_emission - Bool - Se puede emitir adicionalmente
true
: se puede emitir más acciones; fales
: no se puede emitir más acciones.。 - emission - String - Monto de emisión adicional ("0"` si no hay emisión adicional, o si no hay emisión adicional)。
- introduction - String - Introducción al ecosistema.
- logo - Number - Identificación del logotipo del ecosistema (correspondiente a la identificación de la tabla binaria), que se puede obtener a través de la API RESTFUL.
- creator - String - Creador de ecosistemas.
Ejemplo
ibax.appParams
Devolver la lista de parámetros de aplicación en el ecosistema actual o especificado.
Autorización
Parámetros
appid - Number - Identificación de la aplicación.
ecosystem - Number - Omitempty - ID del ecosistema.
Si no se especifica o se establece en 0, devolverá los parámetros del ecosistema actual.
names - String - Omitempty - Filtrar nombres de parámetros de la aplicación.
Lista de nombres separados por comas, por ejemplo: name1, name2
.
offset - Number - Omitempty Offset, por defecto es 0.
limit - Number Omitempty Número de entradas, por defecto 10 entradas, máximo 100 entradas.
Valor de retorno
Array - Lista de parámetros de la aplicación.
- app_id - Number - Identificación de la aplicación.
- list - Number - Cada elemento en el arreglo contiene los siguientes parámetros.
- id - String - Parameter ID, único.
- name - String - Nombre del parámetro.
- value - String - Valor del parámetro.
- conditions - String - Cambiar los permisos de los parámetros.
Ejemplo
ibax.getEcosystemParams
Obtener la lista de parámetros del ecosistema.
Autorización
Parámetros
ecosystem - Number - Omitempty - ID del ecosistema.
If it is 0 or there is no such parameter, the default is: the current ecosystem ID.
names - String - Omitempty - Nombre de parámetros de filtrado.
Lista de nombres separados por comas, por ejemplo: name1, name2
.
Cuando hay parámetros de filtrado, los parámetros offset y limit no son válidos.
offset - Number - Omitempty Offset, por defecto es 0.
limit - Number Omitempty Número de entradas, por defecto 10 entradas, máximo 100 entradas.
Valor de retorno
- list - Array - Cada elemento en el arreglo contiene los siguientes parámetros:
- id - String - Parameter id, único.
- name - String - Nombre del parámetro。
- value - String - Valor del parámetro。
- conditions - String - Cambiar los permisos de los parámetros.。
Ejemplo
ibax.getTableCount
Devolver una lista de tablas de datos para el ecosistema actual.
Se pueden establecer el desplazamiento y el número de elementos.
Autorización
Parámetros
offset - Number - Omitempty Offset, por defecto es 0.
limit - Number Omitempty Número de entradas, por defecto 25 entradas, máximo 100 entradas.
Valor de retorno
count - Number - Actualmente, ¿cuántas tablas de datos ecológicos hay en total?
list - Array - Cada elemento en el arreglo contiene los siguientes parámetros:
- name - String - Nombre de tabla de datos sin prefijo.
- count - String - Número de entradas en la tabla de datos.
Ejemplo
ibax.getTable
Por favor, proporcione más contexto sobre lo que se refiere con "solicitud de datos de la tabla del ecosistema actual" para poder proporcionar una traducción precisa.
Autorización
Parámetros
- tableName - String - Nombre de la tabla de datos.
Valor de retorno
name - String - Nombre de la tabla de datos.
insert - String - Permiso para agregar entradas.
new_column - String - Agregar permisos de campo.
update - String - Cambiar los permisos de entrada.
app_id - String - Identificación de la aplicación.
conditions - String - Condiciones para cambiar los permisos.
columns - Array - Array de información relacionada con los campos de la tabla de datos:
- name - String - Nombre del campo.
- type - String - Tipo de datos del campo.
- perm - String - Cambiar los permisos para modificar el valor de este campo.
Ejemplo
ibax.getList
Recupere entradas de una tabla de datos especificada.
Puede especificar las columnas a devolver.
Puede establecer el desplazamiento y el número de entradas a devolver.
Puede establecer condiciones de consulta.
Para las tablas de datos con un tipo de BYTEA (matriz de bytes, hash, matriz de bytes de código), realice la codificación hexadecimal.
Autorización
Parámetros Object - Obtener el objeto de la tabla de datos.
name - String - Nombre de la tabla de datos.
limit - Number - Omitempty Número de entradas predeterminado: 25 entradas.
offset - Number - Omitempty Offset, por defecto es 0.
order - String - Omitempty Sorting method, default id ASC. (Orden de clasificación, por defecto id ASC.)
columns - String - Omitempty Solicitud de lista de columnas, separadas por comas. Si no se especifica, se devolverán todas las columnas. En todos los casos, se devolverá la columna de identificación (id).
where - Object - Omitempty
Consulta de condiciones, Ejemplo: Si desea buscar id>2 y name = john,
puede usar where:{"id":{"$gt":2},"name":{"$eq":"john"}}
,
Para más detalles, consulte la sintaxis de where en DBFind.
Valor de retorno
Ejemplo
ibax.getSections
Return a list of tabular entries for the current ecosystem, with the ability to set an offset and number of entries.
If the role_access field contains a list of roles and does not include the current role, no records will be returned.
The data in the title field will be replaced by the language resource of the Accept-Language header.
Autorización
Parámetros
- Object - Obtener el objeto de solicitud
sections
.
limit - Number - Omitempty - Número de entradas predeterminado: 25 entradas.
offset - Number - Omitempty - Offset, por defecto es 0.
lang - String - Omitempty -
Este campo especifica el código o la localización del recurso multilingüe, por ejemplo: en, es. Si el recurso multilingüe especificado, como en-US, no se encuentra, se buscará en el grupo de recursos multilingües predeterminado: en.
Valor de retorno
Ejemplo
ibax.getRow
Retrieve entries from a specified data table in the current ecosystem. It is possible to specify the columns to be returned.
Autorización Parámetros
tableName - String - Nombre de la tabla de datos.
id - Number - ID de entrada.
columns - String - Omitempty
Solicitud de lista de columnas, separadas por comas. Si no se especifica, se devolverán todas las columnas.
Si no hay filtro, se puede dejar en blanco ""
.
En todos los casos, se devolverá la columna de identificación (id).
whereColumn - String - Omitempty - Encuentre el nombre de la columna (solo se pueden encontrar columnas de tipo Número)。
Valor de retorno
- value- Object - Objeto que recibe los valores de la columna.
- id - String - ID de entrada.
- ... - Solicitar la secuencia de columnas.
Ejemplo
ibax.systemParams
Aquí está la lista de parámetros de la plataforma.
Autorización Parámetros
- names - String Omitempty - Lista de parámetros de solicitud, separados por comas.
Por ejemplo, names="name1,name2"
.
Cuando hay parámetros de filtrado, los parámetros offset y limit no son válidos.
offset - Number - Omitempty Offset, por defecto es 0.
limit - Number Omitempty Número de entradas, por defecto 10 entradas, máximo 100 entradas.
Valor de retorno
- list - Array - Cada elemento en el arreglo contiene los siguientes.
parámetros:
- id - String - Identificador único.
- name - String - Nombre del parámetro。
- value - String - Valor del parámetro。
- conditions - String - Cambiar los permisos de los parámetros.。
Ejemplo
ibax.history
Retrieve the change records of entries in the specified table in the current ecosystem.
Autorización Parámetros
- name - String - Nombre de la tabla de datos.
- tableId - Number - ID de entrada.
Valor de retorno
- list - Array - Cada elemento de la matriz contiene un registro de cambios en el elemento solicitado.
Ejemplo
Obtener las entradas de los campos de la tabla de datos de páginas del ecosistema actual.
Autorización
Parámetros
- name - String - Nombre de la entrada en la tabla especificada.
Valor de retorno
- id - Number - ID de entrada.
- name - String - Nombre del elemento.
- value - String - Contenido.
- menu - String - Índice.
- nodesCount - Number - Número de nodos que requieren validación en la página.
- app_id - Number - Identificación de la aplicación.
- conditions - String - Cambiar los permisos de los parámetros.。
Ejemplo
Obtener las entradas de los campos de la tabla de datos del menú del ecosistema actual.
Autorización
Parámetros
- name - String - Nombre de la entrada en la tabla especificada.
Valor de retorno
- id - Number - ID de entrada.
- name - String - Nombre del elemento.
- title - String - Título.
- value - String - Contenido.
- conditions - String - Cambiar los permisos de los parámetros.。
Ejemplo
ibax.getSnippetRow
Obtener las entradas de los campos de la tabla de datos de snippet
del ecosistema actual.
Autorización
Parámetros
- name - String - Nombre de la entrada en la tabla especificada.
Valor de retorno
- id - Number - ID de entrada.
- name - String - Nombre del elemento.
- value - String - Contenido.
- conditions - String - Cambiar los permisos de los parámetros.。
Ejemplo
ibax.getAppContent
Obtener información relevante de la aplicación (incluyendo page
, snippet
y menu
).
Autorización
Parámetros
- id - Number - Identificación de la aplicación.
Valor de retorno
snippets - Array - Array de información de fragmentos de código.
- id - Number - id.
- name - String - Nombre del fragmento de código.
pages - Array - Array de información de la página.
- id - Number - id.
- name - String - Nombre de la página.
contracts - Array - Array de información de contratos inteligentes.
- id - Number - id.
- name - String - Nombre del contrato inteligente.
Ejemplo
ibax.getMember
Obtener información del miembro.
Parámetros account - String - Información de miembros.
ecosystemId - Number - Identificación del ecosistema.
Valor de retorno
- id - Number - ID de miembro.
- member_name - String - Nombre.
- image_id - Number - ID de imagen de perfil.
- member_info - String - Descripción.
Ejemplo
ibax.getContracts
Obtener la lista de contratos inteligentes en el ecosistema actual, se puede establecer un desplazamiento y un número de entradas.
Autorización
Parámetros
- offset - Number - Omitempty Offset, por defecto es 0.
- limit - Number - Omitempty Número de entradas predeterminado: 25 entradas.
Valor de retorno
Ejemplo
ibax.getContractInfo
"Devuelve información relevante sobre un contrato inteligente específico."
Autorización
Parámetros
- contractName - String - Nombre del contrato inteligente. El formato es
@ecosystem_id%%contractName%
, por ejemplo @1contractName (nombre del contrato inteligente en el ecosistema 1) o contractName (nombre del contrato inteligente actual en el ecosistema).
Valor de retorno
- id - Number - ID de contrato inteligente en una máquina virtual (VM).
- name - String - Nombre del contrato inteligente con ID del ecosistema
@1MainCondition
. - state - Number - ID del ecosistema al que pertenece el contrato inteligente.
- walletid - String - Dirección de la cuenta a la que está vinculado el contrato inteligente.
- tokenid - String - - ecosistemaID - String - ID del ecosistema donde se encuentra el token utilizado como tarifa para el contrato inteligente de pago.
- address - String - Dirección de la billetera vinculada al contrato inteligente en formato
XXXX-...-XXXX
. - tableid - String - ID de la entrada del contrato inteligente en la tabla contracts.
- fields - Array - La información de estructura de cada parámetro en la sección data de un contrato inteligente en una matriz incluye:
- name - String - Nombre del parámetro.
- type - String - Tipo de parámetro.
- optional - Bool - Parameter options,
true
indicates optional parameter, false
indicates required parameter.
Ejemplo
ibax.sendTx
Agregar la transacción en la cola de transacciones recibidas como parámetro y, si la solicitud se ejecuta correctamente, devolver el hash de la transacción. Este hash se puede utilizar para obtener la transacción correspondiente en el bloque. En caso de que ocurra un error en la respuesta, el hash se incluirá en el mensaje de error.
Autorización
Parámetros
- Object - Objeto de datos de transacción.
- tx_key - String - Contenido de la transacción, este parámetro puede especificar cualquier nombre y admite la recepción de múltiples transacciones.
Valor de retorno
- hashes - Array - Array de hash de transacciones:
- tx1 - String - Hash de la transacción 1.
- txN - String - Hash de la transacción N.
Ejemplo
ibax.txStatus
Obtener el ID del bloque y el mensaje de error de una transacción específica. Si los valores devueltos del ID del bloque y el mensaje de error están vacíos, significa que la transacción aún no ha sido incluida en un bloque.
Autorización
Parámetros
- hashes - String - Hash de transacción, separados por
,
.
Valor de retorno
- hash - Object - Hash de transacción.
blockid - String - Si la transacción se ejecuta correctamente, devolverá el ID del bloque; Si la ejecución de la transacción falla, blockid será 0
. Si el error de ejecución de la transacción es castigado, se devolverá el ID de bloque correspondiente.
result - String - Utilizando la variable $result, se devuelve el resultado de la transacción.
errmsg - Object - Omitempty Si la transacción falla, se devuelve un mensaje de error.
- type - String - Tipo de error.
- error - String - Mensaje de error.
penalty - Number - Si la transacción falla, (0: sin penalización, 1: con penalización).
Ejemplo
ibax.txInfo
Devolver información relacionada con la transacción para un hash especificado, incluyendo el ID del bloque y el número de confirmaciones. Si se especifican parámetros opcionales, también puede devolver el nombre del contrato inteligente y sus parámetros relacionados.
Parámetros
hash - String - Hash de transacción.
contractinfo - Bool Omitempty - Identificación detallada de los parámetros del contrato inteligente, para obtener detalles del contrato inteligente relacionados con la transacción. El valor predeterminado es false
.
Valor de retorno
blockid - Number - Incluye el ID de bloque de la transacción.
Si el valor es 0
, no se puede encontrar la transacción con ese hash.
Si la transacción ocurre en el nodo actual, se puede obtener a través de ibax.txStatus.
confirm - Number - El número de confirmaciones de nodos para este bloque blockid.
data - Object - Si se especifica contentinfo=true
, se devolverán los detalles de la información del contrato inteligente. Será nulo si no se especifica.
- block_id - Number- Altura del bloque.
- block_hash - String - Hash del bloque.
- address - String - Dirección de creación de la transacción.
- ecosystem - String - ID del ecosistema de envío de la transacción.
- hash - String - Hash de la transacción.
- expedite - String - Tarifa de aceleración, si no hay, es
""
. - contract_name - String - Nombre del contrato inteligente.
- params - Object - Parámetros del contrato inteligente, los campos del contrato inteligente se pueden consultar a través de ibax.getContractInfo.
- created_at - Number - Tiempo de creación de la transacción.
- size - String - Tamaño de la transacción unit: B; KiB; MiB; GiB; TiB.
- status - String - Estado (0: éxito 1: castigo).
Ejemplo
ibax.txInfoMultiple
Return transaction-related information for a specified list of hashes.
Parámetros
hashes - Array - Lista de hash de transacciones.
contractinfo - Bool Omitempty - Identificación detallada de los parámetros del contrato inteligente, para obtener detalles del contrato inteligente relacionados con la transacción. El valor predeterminado es false
.
Valor de retorno
- results - Array - En el diccionario de datos, el hash de la transacción se utiliza como clave y los detalles de la transacción se utilizan como valor.
- hash - String - Hash de la transacción.
- blockid - Number - ID del bloque que contiene la transacción. Si este valor es
0
, la transacción con este hash no se puede encontrar. - confirm - Number - Número de confirmaciones para el bloque blockid.
- data - Object - Si se especifica
contentinfo=true
, se devuelve la información detallada del contrato inteligente para este parámetro. De lo contrario, es nulo
.
- block_id- Number- Altura del bloque.
- block_hash - String - - hash de bloque - String - Hash del bloque.
- address - String - Dirección de creación de la transacción.
- ecosystem - String - ID del ecosistema al que se envió la transacción.
- hash - String - Hash de la transacción.
- expedite - String - Tarifa de urgencia, si no hay, es "".
- contract_name - String - Nombre del contrato inteligente.
- params - Object - Parámetros del contrato inteligente, los campos del contrato inteligente se pueden consultar a través de ibax.getContractInfo.
- created_at - Number - Tiempo de creación de la transacción.
- size - String - Tamaño de la transacción unidad: B; KiB; MiB; GiB; TiB.
- status - String - Estado (0: éxito 1: castigo).
Ejemplo
ibax.getPageValidatorsCount
"Devuelve el número de nodos de validación necesarios para acceder a la página especificada."
Parámetros
- name - String - Nombre de la página, con formato
@ecosystem_id%%page_name%
, por ejemplo @1params_list (nombre de la página params_list en el ecosistema 1) o params_list (nombre de la página params_list en el ecosistema actual).
Valor de retorno
- validate_count - Number - Número de nodos requeridos para la validación de la página especificada.
Ejemplo
ibax.getPage
Obtener el árbol de objetos JSON de código para el nombre de página especificado, este es el resultado del procesamiento del motor de plantillas.
Autorización
Parámetros
name - String - Nombre de página con ID de ecosistema, en formato @ecosystem_id%%nombre_de_página
, por ejemplo @1main_page
.
Si no se proporciona un ID de ecosistema, se buscará por defecto la página en el ecosistema actual, como main_page
.
Valor de retorno
menu - String - Nombre del menú al que pertenece la página.
menutree - Array - Árbol de objetos JSON del menú de la página.
tree - Array - Árbol de objetos JSON de la página.
Ejemplo
Obtener el árbol de objetos JSON de código para el nombre de menú especificado, este es el resultado del procesamiento del motor de plantillas.
Autorización
Parámetros
- name - String -
Nombre del menú con ID de ecosistema, en formato
@ecosystem_id%%menu_name%
, por ejemplo @1main_menu
.
Si no se proporciona el ID de ecosistema, se buscará el menú en el ecosistema actual por defecto, por ejemplo main_menu
.
Valor de retorno
Ejemplo
ibax.getSource
Devuelve un árbol de objetos JSON de código para el nombre de página especificado. No se ejecuta ninguna función ni se recibe ningún dato. El árbol de objetos JSON devuelto corresponde a la plantilla de página y se puede utilizar en el diseñador de páginas visual. Si no se encuentra la página, se devuelve un error 404.
Autorización
Parámetros
- name - String -
Nombre de página con ID de ecosistema, el formato es
@id_de_ecosistema%%nombre_de_página
, por ejemplo @1pagina_principal
.
Si no se proporciona un ID de ecosistema, buscará la página en el ecosistema actual, por ejemplo pagina_principal
.
Valor de retorno
- tree - Array - Árbol de objetos JSON de la página.
Ejemplo
ibax.getPageHash
Devolver el hash SHA256 de la página especificada por su nombre. Si la página no se encuentra, se devuelve un error 404.
Para recibir el hash correcto al hacer una solicitud a otros nodos, también se deben pasar los parámetros ecosystem, key_id, role_id. Para recibir una página de otros ecosistemas, se debe agregar el prefijo del ID del ecosistema al nombre de la página. Por ejemplo: @2mypage
.
Parámetros
name - String - Nombre de página con ID de ecosistema. El formato es @ecosystem_id%%page_name%
, por ejemplo @1main_page
, se puede especificar el ID de ecosistema.
ecosystem - Number - Omitempty ID del ecosistema.
Object - Omitempty - Obtener el objeto de página especificado.
- key_id - String - Dirección de cuenta.
- role_id - String - ID de personaje.
Valor de retorno
- Object -
- hash - String - Valor hash en hexadecimal.
Ejemplo
ibax.getContent
Devuelve un objeto JSON de código de página desde el parámetro template, si se proporciona el parámetro opcional source como true
, el árbol de objetos JSON no ejecutará ninguna función ni recibirá datos. Este árbol de objetos JSON se puede utilizar en el diseñador de páginas visual.
Parámetros
- Object
template - String - Código de página.
source - Bool - Si se especifica como true
, el árbol de objetos JSON no ejecuta ninguna función ni recibe datos.
Valor de retorno
- tree - Object - Árbol de objetos JSON.
Ejemplo
ibax.getBlockInfo
"Devuelve información relacionada con el ID de bloque especificado."
Parámetros
- id - Number- Altura del bloque.
Valor de retorno
hash - String - Valor hash del bloque.
key_id - Number - Dirección de cuenta que firmó el bloque.
time - Number - Marca de tiempo de generación de bloque.
tx_count - Number - El número total de transacciones dentro de este bloque.
rollbacks_hash - String - Valor hash de reversión de bloque.
node_position - Number - Esta sección se encuentra en la posición de la lista de nodos de honor.
consensus_mode Number - Modo de consenso, parámetros (1: Modo de gestión del creador; 2: Modo de gobernanza DAO)
Ejemplo
ibax.getConfig
Obtener la dirección y el puerto del host de centrifugo
.
Parámetros
Valor de retorno
- centrifugo - String - Omitempty - La dirección y el puerto del host de
centrifugo
, en formato http://address:port
, por ejemplo: http://127.0.0.1:8100
.
Ejemplo
net.getNetwork
Obtener información del nodo.
Parámetros
Valor de retorno
- network_id - String - Identificador de red.
- centrifugo_url - String - Dirección del servicio de mensajes de Centrifugo.
- test - Bool - ¿Es una red de prueba?
- private - Bool - ¿Es una red privada?
- honor_nodes - Object - Lista de nodos de honor.
- tcp_address - String - Dirección TCP.
- api_address - String - Dirección API.
- public_key - String - Clave pública del nodo.
- unban_time - String - Tiempo de desbloqueo.
Ejemplo
net.status
Obtener el estado actual del nodo.
Parámetros
Valor de retorno
- status - String - Estado del nodo.
node server status is running
- Nodo en ejecución.
node server is updating
- Actualización de Node en progreso.
node server is stopped
- Nodo en pausa.
Ejemplo
rpc.modules
Obtener la interfaz JSON-RPC registrada actualmente.
Parámetros
Valor de retorno
- Array - Array de interfaces JSON-RPC.
Ejemplo
admin.startJsonRpc
Puede ser utilizado para cambiar el servicio de espacio de nombres de JSON-RPC.
Parámetros methods - String - Módulo JSON-RPC, por defecto: "ibax,net".
Valor de retorno
- bool - Estado de ejecución.
Ejemplo
admin.stopJsonRpc
Cerrar el servicio JSON-RPC.
Parámetros
Valor de retorno
- bool - Estado de ejecución.
Ejemplo
debug.getNodeBanStat
Obtener el estado de desactivación del nodo.
Parámetros
Valor de retorno node_position - Number - Nodo índice.
status - Bool - Estado deshabilitado, estado de prohibición true
, fales
no deshabilitado.
Ejemplo
debug.getMemStat
Obtener el uso actual de memoria del nodo.
Parámetros
Valor de retorno
- alloc - Number - El número de bytes que han sido solicitados y todavía están en uso.
- sys - Number - El número de bytes obtenidos del sistema y que aún están en uso.
Ejemplo