Guide de démarrage rapide
Guide de démarrage rapide
Section intitulée « Guide de démarrage rapide »Ce guide vous aide à faire vos premiers pas avec Chaingateway. Il vous explique comment lire la documentation de l’API, créer une clé API et vous autoriser à utiliser notre API.
Démarrer avec l’API Chaingateway
Section intitulée « Démarrer avec l’API Chaingateway »L’API Chaingateway propose une interface simple permettant aux développeurs d’interagir avec plusieurs blockchains comme Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon et Bitcoin. Nos endpoints d’API vous offrent plusieurs fonctionnalités comme la création de transactions, l’envoi de tokens fongibles et non fongibles, et l’interrogation de données blockchain utiles telles que les soldes de comptes et les hauteurs de blocs.
Démarrer avec l’API Chaingateway
Section intitulée « Démarrer avec l’API Chaingateway »L’API Chaingateway propose une interface simple permettant aux développeurs d’interagir avec plusieurs blockchains comme Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon et Bitcoin. Nos endpoints d’API offrent plusieurs fonctionnalités comme la création de transactions, l’envoi de tokens fongibles et non fongibles, et l’interrogation de données blockchain utiles telles que les soldes de comptes et les hauteurs de blocs.
- Comment configurer votre compte
- Comment créer votre clé API
- Les concepts de base de notre API
- Comment envoyer votre première requête API
Configuration du compte
Section intitulée « Configuration du compte »Créez d’abord un compte Chaingateway ou connectez-vous. Rendez-vous ensuite sur la page des clés API pour créer un nouveau token. Saisissez un nom pour votre token et cliquez sur « + Create Token ». Votre nouveau token devrait maintenant être visible dans l’interface. Conservez-le en lieu sûr et ne le communiquez à personne !
Langage du démarrage rapide
Section intitulée « Langage du démarrage rapide »Dans les sections suivantes, vous pourrez choisir votre langage de programmation parmi curl, PHP, Node.js et Python. Si vous avez besoin d’exemples de code pour d’autres langages, notre référence API prend en charge de nombreux autres langages.
Configurer votre environnement de développement
Section intitulée « Configurer votre environnement de développement »- CURL pour les interfaces en ligne de commande comme bash ou shell
- Requests pour Python
- Axios pour JavaScript et Node.js
- Guzzle pour PHP
- Client HTTP pour Laravel
Nous recommandons un stockage central pour votre clé API, qui pourrait être une variable d’environnement pour curl et Python, ou un fichier .env pour Node.js et PHP/Laravel.
Concept de base de l’API
Section intitulée « Concept de base de l’API »L’API REST de Chaingateway suit les principes de REST, en utilisant des requêtes HTTP pour communiquer. Elle propose des endpoints représentant des ressources, comme /addresses, et prend en charge des méthodes standard comme GET, POST, PUT, DELETE pour des actions telles que récupérer, créer, mettre à jour et supprimer des ressources. Les réponses sont généralement au format JSON. L’authentification garantit un accès sécurisé aux ressources.
Prenons un exemple avec la ressource address :
-
GET : Récupérez des données d’adresse en envoyant une requête GET à
/addressespour une liste d’adresses ou à/addresses/{id}pour une adresse spécifique. -
POST : Créez une nouvelle adresse en envoyant une requête POST à
/addressesavec les détails de l’adresse dans le corps de la requête. -
PUT : Mettez à jour une adresse existante en envoyant une requête PUT à
/addresses/{id}avec l’ensemble des informations d’adresse mises à jour dans le corps de la requête. La mise à jour d’informations d’adresse n’étant pas autorisée sur les blockchains, cette méthode n’existe pas. -
DELETE : Supprimez une adresse en envoyant une requête DELETE à
/addresses/{id}. -
PATCH : Effectuez des mises à jour partielles d’une adresse en envoyant une requête PATCH à
/addresses/{id}avec uniquement les modifications spécifiques. La mise à jour d’informations d’adresse n’étant pas autorisée sur les blockchains, cette méthode n’existe pas.
Ces méthodes permettent aux clients d’effectuer des opérations CRUD sur diverses ressources de manière prévisible et cohérente, conformément aux principes REST. Vous devez vous assurer que la méthode correspond toujours à la fonctionnalité dont vous avez besoin.
En-têtes
Section intitulée « En-têtes »Les en-têtes HTTP fournissent des informations supplémentaires sur la requête ou la réponse. Voici quelques en-têtes couramment utilisés :
-
En-tête Authorization : L’en-tête Authorization sert à envoyer des identifiants (comme un token ou un nom d’utilisateur/mot de passe) avec une requête pour accéder à des ressources protégées. Par exemple,
Authorization: <token>indique que la requête est autorisée via un token. -
En-tête Accept : L’en-tête Accept indique les types de médias que le client souhaite recevoir dans la réponse. Il aide le serveur à comprendre le type de contenu que le client préfère. Par exemple,
Accept: application/jsonindique au serveur que le client préfère des réponses au format JSON. Plusieurs types de médias peuvent être spécifiés, séparés par des virgules, et le serveur choisira le plus approprié selon ses capacités et les préférences exprimées par le client. -
En-tête Content-Type : L’en-tête Content-Type indique le type de média du corps de la requête envoyée au serveur. Il indique au serveur comment interpréter les données de la requête. Par exemple,
Content-Type: application/jsonindique que le corps de la requête est au format JSON. Cet en-tête est particulièrement important pour les requêtes POST et PUT, où le client envoie des données au serveur.
Effectuer votre première requête API
Section intitulée « Effectuer votre première requête API »Une fois votre client HTTP configuré et le fonctionnement de l’API compris, nous pouvons commencer à l’utiliser dans notre projet. Pour vous montrer comment notre API fonctionne, nous allons d’abord créer une adresse Ethereum.
Décomposons les différents composants de cet appel API :
Nous utilisons la méthode POST car nous voulons soumettre des données à l’API.
Les données que nous envoyons sont définies dans le corps de la requête {"password": "architecto"}. Il s’agit d’un objet JSON avec une paire clé-valeur où la clé est « password » et la valeur « architecto ». Ces données seront traitées par le serveur selon les spécifications de l’API.
L’en-tête Authorization ajoute un en-tête Authorization avec la valeur « YOUR_SECRET_TOKEN » (remplacez-le par votre propre token !). Content-Type et Accept sont tous deux définis sur application/json, garantissant que les deux systèmes souhaitent communiquer avec le type de fichier 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 réponse sera :
{ "status": 201, "ok": true, "message": "Address created", "data": {}}Pour récupérer des données, comme obtenir une liste d’adresses, vous pouvez utiliser la méthode GET. Cette méthode n’utilise généralement pas de corps de requête.
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 réponse sera :
{ "ok": true}