Banner Api

# 馃攽 Radix API

Desde principios del a帽o 2022, y tras una renovaci贸n completa, Radix nos ofrece al menos tres maneras diferentes de acceder a los datos de la red. Cada una de las formas responde a casos de uso diferentes y brindan la posibilidad a los desarrolladores acotar el acceso a datos a las necesidades de su proyecto.

  • Core API: est谩 dise帽ada para el acceso de bajo nivel al estado del libro mayor, proporciona herramientas de construcci贸n de transacciones y permite firmar mensajes con la clave privada del nodo, donde est谩 habilitado.
  • System API: est谩 dise帽ada para la supervisi贸n y el uso por parte de los corredores de nodos.
  • Gateway API: esta puerta de enlace esta pensada para la creaci贸n de Wallets y Explorers, en principio es a la que le vamos a dar atenci贸n en la Academia ya que nos permite de forma sencilla y f谩cil acceder a los datos de las cuentas y transacciones realizadas en la red.

# Gateway API

El Gateway proporciona la API p煤blica para Wallets y Explorers. Maneja las consultas de lectura utilizando la base de datos y mapea las solicitudes de construcci贸n y env铆o a la API central de uno o m谩s nodos completos. Radix ofrece un nodo Gateway para peque帽as pruebas pero recomienda que si realizamos un proyecto serio deber铆amos correr nuestro propio nodo Gateway.

Una opci贸n genial y que recomiendo es, centrarnos en el desarrollo de nuestra DApp, y dejar a otros el desarrollo y la implementaci贸n de la infraestructura. Para ello contamos con proyectos alucinantes como Clana.io (opens new window) quien pone a nuestra disposici贸n una puerta de entrada a Radix escalable y altamente disponible.

# 驴Qu茅 es una API?

El t茅rmino API es una abreviatura de Application Programming Interfaces, que en espa帽ol significa interfaz de programaci贸n de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicaci贸n entre dos aplicaciones de software a trav茅s de un conjunto de reglas.

As铆 pues, podemos hablar de una API como una especificaci贸n formal que establece c贸mo un m贸dulo de un software se comunica o interact煤a con otro para cumplir una o muchas funciones.

En nuestro caso nos permite interactuar con la red p煤blica de Radix. Nos permite realizar consultas o enviar transacciones.

En este curso solo vamos a crear ejemplos con JavaScript, NodeJs y Firebase Functions.

Os dejo un ejemplo de acceso a la API de pruebas de Radix, utilizamos el m贸dulo node-fetch para NodeJs:

import fetch from 'node-fetch';

var raw = JSON.stringify({"network_identifier": {"network": "mainnet"},
           "account_identifier": {"address": "rdx1qspqp0nyg3a3dj7e8vkd2ecxrgnrgvsl4d72efx2a4jwavfn995652c7f6uqy"},
           "cursor":"3",
           "limit": 1});


var requestOptions = {
  method: 'POST',
  headers: {
    "Content-Type": "application/json",
    "x-radixdlt-target-gw-api": "1.0.3",
  },
  body: raw,
  redirect: 'follow'
};

const response = await fetch('https://mainnet.radixdlt.com/account/transactions', requestOptions);
const data = await response.json();

console.log(data.transactions);

# Enlaces API