Guía de inicio rápido
Guía de inicio rápido
Sección titulada «Guía de inicio rápido»Esta guía le ayuda a dar sus primeros pasos con Chaingateway. Describe cómo leer la documentación de la API, crear una clave de API y autorizarse para usar nuestra API.
Empezar con la API de Chaingateway
Sección titulada «Empezar con la API de Chaingateway»La API de Chaingateway ofrece a los desarrolladores una interfaz sencilla para interactuar con varias blockchains como Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon y Bitcoin. Nuestros endpoints de API le ofrecen varias funcionalidades, como crear transacciones, enviar tokens fungibles y no fungibles, y consultar datos útiles de la blockchain, como saldos de cuentas y alturas de bloque.
Empezar con la API de Chaingateway
Sección titulada «Empezar con la API de Chaingateway»La API de Chaingateway ofrece a los desarrolladores una interfaz sencilla para interactuar con varias blockchains como Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon y Bitcoin. Nuestros endpoints de API ofrecen varias funcionalidades, como crear transacciones, enviar tokens fungibles y no fungibles, y consultar datos útiles de la blockchain, como saldos de cuentas y alturas de bloque.
- Cómo configurar su cuenta
- Cómo crear su clave de API
- Los conceptos básicos de nuestra API
- Cómo enviar su primera solicitud a la API
Configuración de la cuenta
Sección titulada «Configuración de la cuenta»Primero, cree una cuenta de Chaingateway o inicie sesión. A continuación, vaya a la página de claves de API para crear un nuevo token. Escriba un nombre para su token y pulse «+ Create Token». Su nuevo token debería aparecer ahora en la interfaz. Guárdelo en un lugar seguro y no lo comparta con nadie.
Idioma del inicio rápido
Sección titulada «Idioma del inicio rápido»En las siguientes secciones, podrá elegir su lenguaje de programación entre curl, PHP, Node.js y Python. Si necesita ejemplos de código para otros lenguajes, nuestra referencia de la API es compatible con muchos otros lenguajes.
Configurar su entorno de desarrollo
Sección titulada «Configurar su entorno de desarrollo»- CURL para interfaces de línea de comandos como bash o shell
- Requests para Python
- Axios para JavaScript y Node.js
- Guzzle para PHP
- Cliente HTTP para Laravel
Recomendamos un almacenamiento centralizado para su clave de API, que podría ser una variable de entorno para curl y Python, o un archivo .env para Node.js y PHP/Laravel.
Concepto básico de la API
Sección titulada «Concepto básico de la API»La API REST de Chaingateway sigue los principios de REST, utilizando solicitudes HTTP para comunicarse. Ofrece endpoints que representan recursos, como /addresses, y admite métodos estándar como GET, POST, PUT, DELETE para acciones como obtener, crear, actualizar y eliminar recursos. Las respuestas suelen tener formato JSON. La autenticación garantiza un acceso seguro a los recursos.
Pongamos un ejemplo con el recurso address:
-
GET: Obtenga datos de direcciones enviando una solicitud GET a
/addressespara una lista de direcciones o a/addresses/{id}para una dirección específica. -
POST: Cree una nueva dirección enviando una solicitud POST a
/addressescon los datos de la dirección en el cuerpo de la solicitud. -
PUT: Actualice una dirección existente enviando una solicitud PUT a
/addresses/{id}con la información completa y actualizada de la dirección en el cuerpo de la solicitud. Dado que no está permitido actualizar información de direcciones en las blockchains, este método no existe. -
DELETE: Elimine una dirección enviando una solicitud DELETE a
/addresses/{id}. -
PATCH: Realice actualizaciones parciales de una dirección enviando una solicitud PATCH a
/addresses/{id}con únicamente los cambios específicos. Dado que no está permitido actualizar información de direcciones en las blockchains, este método no existe.
Estos métodos permiten a los clientes realizar operaciones CRUD sobre distintos recursos de manera predecible y coherente, conforme a los principios REST. Debe asegurarse de que el método utilizado corresponda siempre a la funcionalidad que necesita.
Cabeceras
Sección titulada «Cabeceras»Las cabeceras HTTP proporcionan información adicional sobre la solicitud o la respuesta. Estas son algunas cabeceras de uso común:
-
Cabecera Authorization: La cabecera Authorization se usa para enviar credenciales (como un token o un usuario/contraseña) junto con una solicitud para acceder a recursos protegidos. Por ejemplo,
Authorization: <token>indica que la solicitud está autorizada mediante un token. -
Cabecera Accept: La cabecera Accept especifica los tipos de medios que el cliente está dispuesto a recibir en la respuesta. Ayuda al servidor a entender qué tipo de contenido prefiere el cliente. Por ejemplo,
Accept: application/jsonindica al servidor que el cliente prefiere respuestas en formato JSON. Se pueden especificar varios tipos de medios separados por comas, y el servidor elegirá el más adecuado según sus capacidades y las preferencias expresadas por el cliente. -
Cabecera Content-Type: La cabecera Content-Type indica el tipo de medio del cuerpo de la solicitud enviado al servidor. Le indica al servidor cómo interpretar los datos de la solicitud. Por ejemplo,
Content-Type: application/jsonindica que el cuerpo de la solicitud tiene formato JSON. Esta cabecera es especialmente importante en las solicitudes POST y PUT, donde el cliente envía datos al servidor.
Realizar su primera solicitud a la API
Sección titulada «Realizar su primera solicitud a la API»Después de configurar su cliente HTTP y entender cómo funciona la API, podemos empezar a usarla en nuestro proyecto. Para mostrarle cómo funciona nuestra API, primero crearemos una dirección de Ethereum.
Desglosemos los distintos componentes de esta llamada a la API:
Utilizamos el método POST porque queremos enviar datos a la API.
Los datos que enviamos se definen en el cuerpo de la solicitud {"password": "architecto"}. Es un objeto JSON con un par clave-valor donde la clave es «password» y el valor es «architecto». Estos datos serán procesados por el servidor según las especificaciones de la API.
La cabecera Authorization añade una cabecera Authorization con el valor «YOUR_SECRET_TOKEN» (reemplácelo por su propio token). Content-Type y Accept están ambos configurados como application/json, garantizando que ambos sistemas quieren comunicarse con el tipo de archivo application/json.
curl --request POST \ --url http://api.chaingateway.io/api/v2/ethereum/addresses \ --header 'Authorization: YOUR_SECRET_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "password": "architecto"}'import requestsurl = "http://api.chaingateway.io/api/v2/ethereum/addresses"payload = { "password": "architecto" }headers = { "Content-Type": "application/json", "Authorization": "YOUR_SECRET_TOKEN"}response = requests.post(url, json=payload, headers=headers)print(response.json())import axios from 'axios';const options = { method: 'POST', url: 'http://api.chaingateway.io/api/v2/ethereum/addresses', headers: {'Content-Type': 'application/json', Authorization: 'YOUR_SECRET_TOKEN'}, data: {password: 'architecto'}};try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}<?php$client = new \GuzzleHttp\Client();$response = $client->request('POST', 'https://api.chaingateway.io/api/v2/ethereum/addresses', [ 'body' => '{ "password": "architecto"}', 'headers' => [ 'Authorization' => 'YOUR_SECRET_TOKEN', 'Content-Type' => 'application/json', ],]);echo $response->getBody();La respuesta será:
{ "status": 201, "ok": true, "message": "Address created", "data": {}}Para obtener datos, como una lista de direcciones, puede utilizar el método GET. Este método normalmente no usa cuerpo de solicitud.
curl --request GET \ --url https://api.chaingateway.io/api/v2/ethereum/addresses \ --header 'Authorization: YOUR_SECRET_TOKEN'import requestsurl = "https://api.chaingateway.io/api/v2/ethereum/addresses"headers = {"Authorization": "YOUR_SECRET_TOKEN"}response = requests.get(url, headers=headers)print(response.json())import axios from 'axios';const options = { method: 'GET', headers: {Authorization: 'YOUR_SECRET_TOKEN'}};try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}<?php$client = new \GuzzleHttp\Client();$response = $client->request('GET', 'https://api.chaingateway.io/api/v2/ethereum/addresses', [ 'headers' => [],]);echo $response->getBody();La respuesta será:
{ "ok": true}