Wallet-Verwaltung
Erste Schritte mit Wallets auf Chaingateway
Abschnitt betitelt „Erste Schritte mit Wallets auf Chaingateway“Einführung
Abschnitt betitelt „Einführung“Chaingateway bietet zwei Methoden zur Generierung von Wallets: passwortgeschützte Wallets und ungesicherte Wallets. Im Folgenden beschreiben wir beide Ansätze, ihre sicherheitsrelevanten Auswirkungen und Anwendungsbeispiele.
1. Passwortgeschützte Wallets (empfohlen)
Abschnitt betitelt „1. Passwortgeschützte Wallets (empfohlen)“Wenn Sie einen password-Body-Parameter in Ihrer Anfrage an /api/v2/{blockchain}/addresses angeben, wird der Private Key des generierten Wallets sicher in verschlüsselter Form gespeichert.
Sicherheitsmechanismus
Abschnitt betitelt „Sicherheitsmechanismus“- Der Private Key wird mit Ihrem Passwort und zusätzlichen internen Verschlüsselungsmechanismen verschlüsselt.
- Beim Senden von Transaktionen geben Sie das
passwordanstelle des Private Keys an. - Diese Methode erhöht die Sicherheit, da Private Keys niemals in API-Anfragen offengelegt werden.
Passwortverwaltung
Abschnitt betitelt „Passwortverwaltung“- Passwort aktualisieren: Verwenden Sie
UPDATE /api/v2/{blockchain}/addresses/{address}mit den Parameternold_passwordundnew_password. - Private Key exportieren: Verwenden Sie
POST /api/v2/{blockchain}/addresses/export/{address}, um Ihren Private Key abzurufen (Passwort erforderlich).
::: danger Bewahren Sie Ihr Passwort sicher auf Wir speichern niemals Private Keys oder Passwörter innerhalb unserer Anwendung — weder in unserer Datenbank noch in unseren Logging- oder Exception-Mechanismen. Wenn Sie Ihr Passwort verlieren, können wir den Private Key Ihres Wallets nicht wiederherstellen. :::
Beispielanfrage
Abschnitt betitelt „Beispielanfrage“curl --request POST \ --url https://app.chaingateway.io/api/v2/ethereum/addresses \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "password": "architecto"}'<?php$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://app.chaingateway.io/api/v2/ethereum/addresses');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["password" => "architecto"]));curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json']);$response = curl_exec($ch);curl_close($ch);echo $response;fetch('https://app.chaingateway.io/api/v2/ethereum/addresses', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ password: 'architecto' })}).then(response => response.json()).then(data => console.log(data));import requestsheaders = { 'Authorization': 'Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json'}data = {"password": "architecto"}response = requests.post('https://app.chaingateway.io/api/v2/ethereum/addresses', headers=headers, json=data)print(response.json())Beispieltransaktionen
Abschnitt betitelt „Beispieltransaktionen“curl --request POST \ --url https://app.chaingateway.io/api/v2/ethereum/transactions \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "from": "0xSenderAddress", "to": "0xRecipientAddress", "amount": "100", "password": "password"}'2. Ungesicherte Wallets (mit Vorsicht verwenden)
Abschnitt betitelt „2. Ungesicherte Wallets (mit Vorsicht verwenden)“Wenn Sie in Ihrer Adresserstellungs-Anfrage kein Passwort angeben, wird der Private Key direkt in der Antwort zurückgegeben. Das bedeutet, dass der Private Key auf Ihrer Seite sicher gespeichert und verwaltet werden muss.
::: danger Nur für nicht-dauerhafte Wallets verwenden Da der Private Key in der Antwort enthalten ist, liegt es in Ihrer Verantwortung, ihn sicher zu speichern und zu schützen. Wir empfehlen dringend, stattdessen passwortgeschützte Wallets zu verwenden. Wenn jemand Zugriff auf Ihren Private Key erhält, kann diese Person alle Gelder im Wallet kontrollieren. :::
Sicherheitsrisiken
Abschnitt betitelt „Sicherheitsrisiken“- Der Private Key wird in der API-Antwort offengelegt, was ihn bei Abfangen angreifbar macht.
- Erlangt ein Angreifer Zugriff auf den Private Key, kann er das Wallet vollständig kontrollieren.
- Diese Methode sollte nur für temporäre Wallets oder Einmal-Adressen verwendet werden.
Beispielanfrage
Abschnitt betitelt „Beispielanfrage“curl --request POST \ --url https://app.chaingateway.io/api/v2/tron/addresses \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --header 'Content-Type: application/json'<?php$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://app.chaingateway.io/api/v2/tron/addresses');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["activated" => true]));curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json']);$response = curl_exec($ch);curl_close($ch);echo $response;fetch('https://app.chaingateway.io/api/v2/tron/addresses', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ activated: true })}).then(response => response.json()).then(data => console.log(data));import requestsheaders = { 'Authorization': 'Bearer YOUR_SECRET_TOKEN', 'Content-Type': 'application/json'}data = {"activated": True}response = requests.post('https://app.chaingateway.io/api/v2/tron/addresses', headers=headers, json=data)print(response.json())Beispieltransaktionen
Abschnitt betitelt „Beispieltransaktionen“curl --request POST \ --url https://app.chaingateway.io/api/v2/ethereum/transactions \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "from": "0xSenderAddress", "to": "0xRecipientAddress", "amount": "100", "password": "password"}'