Schnellstart-Anleitung
Schnellstart-Anleitung
Abschnitt betitelt „Schnellstart-Anleitung“Diese Anleitung hilft Ihnen bei Ihren ersten Schritten mit Chaingateway. Sie beschreibt, wie Sie die API-Dokumentation lesen, einen API-Key erstellen und sich für die Nutzung unserer API autorisieren.
Mit der Chaingateway-API starten
Abschnitt betitelt „Mit der Chaingateway-API starten“Die Chaingateway-API bietet Entwicklern eine einfache Schnittstelle zur Interaktion mit mehreren Blockchains wie Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon und Bitcoin. Unsere API-Endpunkte bieten Ihnen verschiedene Funktionen wie das Erstellen von Transaktionen, das Senden fungibler und nicht-fungibler Token sowie das Abfragen nützlicher Blockchain-Daten wie Kontoguthaben und Blockhöhen.
Mit der Chaingateway-API starten
Abschnitt betitelt „Mit der Chaingateway-API starten“Die Chaingateway-API bietet Entwicklern eine einfache Schnittstelle zur Interaktion mit mehreren Blockchains wie Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon und Bitcoin. Unsere API-Endpunkte bieten mehrere Funktionen wie das Erstellen von Transaktionen, das Senden fungibler und nicht-fungibler Token sowie das Abfragen nützlicher Blockchain-Daten wie Kontoguthaben und Blockhöhen.
- Wie Sie Ihren Account einrichten
- Wie Sie Ihren API-Key erstellen
- Die grundlegenden Konzepte hinter unserer API
- Wie Sie Ihre erste API-Anfrage senden
Account-Einrichtung
Abschnitt betitelt „Account-Einrichtung“Erstellen Sie zunächst ein Chaingateway-Konto oder melden Sie sich an. Navigieren Sie anschließend zur API-Key-Seite, um einen neuen Token zu erstellen. Geben Sie einen Namen für Ihren Token ein und klicken Sie auf „+ Create Token”. Ihr neuer Token sollte nun in der Oberfläche sichtbar sein. Bewahren Sie ihn an einem sicheren Ort auf und geben Sie diesen Token nicht an andere weiter!
Schnellstart-Sprache
Abschnitt betitelt „Schnellstart-Sprache“In den folgenden Abschnitten haben Sie die Möglichkeit, Ihre Programmiersprache zwischen curl, PHP, Node.js und Python zu wählen. Falls Sie Codebeispiele für andere Sprachen benötigen, unterstützt unsere API-Referenz viele weitere Sprachen.
Entwicklungsumgebung einrichten
Abschnitt betitelt „Entwicklungsumgebung einrichten“- CURL für Kommandozeilen-Interfaces wie bash oder shell
- Requests für Python
- Axios für JavaScript und Node.js
- Guzzle für PHP
- HTTP-Client für Laravel
Wir empfehlen einen zentralen Speicherort für Ihren API-Key, etwa eine Umgebungsvariable für curl und Python oder eine .env-Datei für Node.js und PHP/Laravel.
Grundlegendes API-Konzept
Abschnitt betitelt „Grundlegendes API-Konzept“Die REST-API von Chaingateway folgt den Prinzipien von REST und nutzt HTTP-Anfragen zur Kommunikation. Sie bietet Endpunkte, die Ressourcen repräsentieren, etwa /addresses, und unterstützt Standardmethoden wie GET, POST, PUT, DELETE für Aktionen wie Abrufen, Erstellen, Aktualisieren und Löschen von Ressourcen. Antworten liegen typischerweise im JSON-Format vor. Authentifizierung sorgt für sicheren Zugriff auf Ressourcen.
Machen wir ein Beispiel mit der Address-Ressource:
-
GET: Rufen Sie Adressdaten ab, indem Sie eine GET-Anfrage an
/addressesfür eine Liste von Adressen oder an/addresses/{id}für eine bestimmte Adresse senden. -
POST: Erstellen Sie eine neue Adresse, indem Sie eine POST-Anfrage an
/addressesmit den Adressdetails im Request-Body senden. -
PUT: Aktualisieren Sie eine bestehende Adresse, indem Sie eine PUT-Anfrage an
/addresses/{id}mit den vollständigen aktualisierten Adressinformationen im Request-Body senden. Da eine Aktualisierung von Adressinformationen auf Blockchains nicht möglich ist, existiert diese Methode nicht. -
DELETE: Entfernen Sie eine Adresse, indem Sie eine DELETE-Anfrage an
/addresses/{id}senden. -
PATCH: Nehmen Sie Teiländerungen an einer Adresse vor, indem Sie eine PATCH-Anfrage an
/addresses/{id}mit nur den spezifischen Änderungen senden. Da eine Aktualisierung von Adressinformationen auf Blockchains nicht möglich ist, existiert diese Methode nicht.
Diese Methoden ermöglichen es Clients, CRUD-Operationen auf verschiedenen Ressourcen vorhersehbar und konsistent durchzuführen, im Einklang mit den REST-Prinzipien. Sie müssen sicherstellen, dass die Methode stets zu Ihrer benötigten Funktionalität passt.
Headers
Abschnitt betitelt „Headers“HTTP-Header liefern zusätzliche Informationen über die Anfrage oder Antwort. Hier sind einige häufig verwendete Header:
-
Authorization-Header: Der Authorization-Header wird verwendet, um Zugangsdaten (etwa einen Token oder Benutzername/Passwort) zusammen mit einer Anfrage zu senden, um auf geschützte Ressourcen zuzugreifen. Zum Beispiel zeigt
Authorization: <token>an, dass die Anfrage über einen Token autorisiert ist. -
Accept-Header: Der Accept-Header gibt die Medientypen an, die der Client in der Antwort empfangen möchte. Er hilft dem Server zu verstehen, welche Art von Inhalt der Client bevorzugt. Zum Beispiel teilt
Accept: application/jsondem Server mit, dass der Client JSON-formatierte Antworten bevorzugt. Mehrere Medientypen können durch Kommas getrennt angegeben werden, und der Server wählt den passendsten basierend auf seinen Fähigkeiten und den vom Client geäußerten Präferenzen. -
Content-Type-Header: Der Content-Type-Header gibt den Medientyp des Request-Bodys an, der an den Server gesendet wird. Er teilt dem Server mit, wie die Daten in der Anfrage zu interpretieren sind. Zum Beispiel zeigt
Content-Type: application/jsonan, dass der Request-Body im JSON-Format vorliegt. Dieser Header ist besonders wichtig für POST- und PUT-Anfragen, bei denen der Client Daten an den Server sendet.
Ihre erste API-Anfrage stellen
Abschnitt betitelt „Ihre erste API-Anfrage stellen“Nachdem Sie Ihren HTTP-Client konfiguriert und verstanden haben, wie die API funktioniert, können wir sie in unserem Projekt einsetzen. Um Ihnen zu zeigen, wie unsere API funktioniert, erstellen wir zunächst eine Ethereum-Adresse.
Lassen Sie uns die verschiedenen Komponenten dieses API-Aufrufs aufschlüsseln:
Wir verwenden die POST-Methode, weil wir Daten an die API übermitteln möchten.
Die Daten, die wir senden, sind im Request-Body {"password": "architecto"} definiert. Es handelt sich um ein JSON-Objekt mit einem Schlüssel-Wert-Paar, bei dem der Schlüssel „password” und der Wert „architecto” ist. Diese Daten werden vom Server gemäß den Spezifikationen der API verarbeitet.
Der Authorization-Header fügt einen Authorization-Header mit dem Wert „YOUR_SECRET_TOKEN” hinzu (ersetzen Sie diesen durch Ihren eigenen Token!). Content-Type und Accept sind beide auf application/json gesetzt, sodass beide Systeme im Dateityp application/json kommunizieren möchten.
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();Die Antwort lautet:
{ "status": 201, "ok": true, "message": "Address created", "data": {}}Um Daten abzurufen, etwa eine Liste von Adressen, können Sie die GET-Methode verwenden. Diese Methode verwendet üblicherweise keinen Request-Body.
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();Die Antwort lautet:
{ "ok": true}