Créer des transactions de tokens
Introduction
Section intitulée « Introduction »Dans ce tutoriel, nous allons voir comment créer des transactions de tokens ERC20 (Ethereum), BEP20 (Binance Smart Chain) et TRC20 (Tron) via l’API Chaingateway V2. Nous fournirons des exemples dans divers langages de programmation, notamment Shell (cURL), PHP, Python et JavaScript.
Pour obtenir une clé API et en savoir plus sur l’autorisation, consultez la section Prise en main de la documentation ChainGateway.
Pour effectuer des transactions depuis Ethereum, BSC ou Polygon, votre adresse doit être importée sur Chaingateway ou avoir été créée avec l’API Chaingateway. Sinon, la procédure d’autorisation ne fonctionnera pas.
Pour créer une adresse, consultez la section tutoriel
Créer des transactions ERC20 et BEP20
Section intitulée « Créer des transactions ERC20 et BEP20 »Pour effectuer une transaction de token sur Ethereum, Polygon (ERC20) ou Binance Smart Chain (BEP20), vous devez envoyer une requête à l’API Chaingateway avec les paramètres appropriés.
Paramètres
Section intitulée « Paramètres »- from : L’adresse de l’émetteur.
- to : L’adresse du destinataire.
- amount : Le montant à envoyer.
- contractaddress : L’adresse du contrat du token.
- password : Le mot de passe utilisé pour chiffrer le fichier keystore de l’adresse de l’émetteur.
Exemple d’en-tête Authorization
Section intitulée « Exemple d’en-tête Authorization »Remplacez YOUR_API_TOKEN par votre token API réel.
Exemple de code
Section intitulée « Exemple de code »curl --request POST \ --url https://api.chaingateway.io/v2/ethereum/transactions/erc20 \ --header 'Accept: application/json' \ --header 'content-type: application/json' \ --header 'Authorization: YOUR_API_TOKEN' \ --data '{ "from": "0xYourSenderAddress", "to": "0xRecipientAddress", "amount": "100", "contractaddress": "0xTokenContractAddress", "password": "YourPassword" }'const axios = require('axios');
const url = 'https://api.chaingateway.io/v2/ethereum/transactions/erc20';const payload = { from: '0xYourSenderAddress', to: '0xRecipientAddress', amount: '100', contractaddress: '0xTokenContractAddress', password: 'YourPassword'};const headers = { 'Accept': 'application/json', 'content-type': 'application/json', 'Authorization': 'YOUR_API_TOKEN'};
axios.post(url, payload, { headers }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); });import requests
url = "https://api.chaingateway.io/v2/ethereum/transactions/erc20"payload = { "from": "0xYourSenderAddress", "to": "0xRecipientAddress", "amount": "100", "contractaddress": "0xTokenContractAddress", "password": "YourPassword"}headers = { 'Accept': 'application/json', 'content-type': 'application/json', 'Authorization': 'YOUR_API_TOKEN'}
response = requests.post(url, json=payload, headers=headers)print(response.json())<?phprequire 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();$response = $client->post('https://api.chaingateway.io/v2/ethereum/transactions/erc20', [ 'headers' => [ 'Accept' => 'application/json', 'content-type' => 'application/json', 'Authorization' => 'YOUR_API_TOKEN', ], 'json' => [ 'from' => '0xYourSenderAddress', 'to' => '0xRecipientAddress', 'amount' => '100', 'contractaddress' => '0xTokenContractAddress', 'password' => 'YourPassword' ]]);
echo $response->getBody();?>Le code devrait retourner cette réponse :
{ "status": 201, "ok": true, "message": "Succesfully created transaction", "data": { "txid": "0x73344d178812d4919e9002c560781f288030edf72ece88823ef1c377dfb71f27" }}Créer des transactions TRC20
Section intitulée « Créer des transactions TRC20 »La création de transactions pour les tokens Tron fonctionne presque de la même manière. La seule différence est que vous devrez fournir privateKey au lieu du paramètre password.
Paramètres
Section intitulée « Paramètres »- from : L’adresse de l’émetteur.
- to : L’adresse du destinataire.
- amount : Le montant à envoyer.
- contractaddress : L’adresse du contrat du token.
- privateKey : La clé privée de l’adresse de l’émetteur.
Exemple d’en-tête Authorization
Section intitulée « Exemple d’en-tête Authorization »Remplacez YOUR_API_TOKEN par votre token API réel.
Exemple de code
Section intitulée « Exemple de code »curl --request POST\ --url https://api.chaingateway.io/v2/tron/transactions/trc20\ --header 'Accept: application/json'\ --header 'content-type: application/json'\ --header 'Authorization: YOUR_API_TOKEN'\ --data '{ "from": "TYourSenderAddress", "to": "TRecipientAddress", "amount": "100", "contractaddress": "TTokenContractAddress", "privateKey": "YourPrivateKey"}'import requests
url = "https://api.chaingateway.io/v2/tron/transactions/trc20"payload = { "from": "TYourSenderAddress", "to": "TRecipientAddress", "amount": "100", "contractaddress": "TTokenContractAddress", "privateKey": "YourPrivateKey"}headers = { 'Accept': 'application/json', 'content-type': 'application/json', 'Authorization': 'YOUR_API_TOKEN'}
response = requests.post(url, json=payload, headers=headers)print(response.json())const axios = require('axios');
const url = 'https://api.chaingateway.io/v2/tron/transactions/trc20';const payload = { from: 'TYourSenderAddress', to: 'TRecipientAddress', amount: '100', contractaddress: 'TTokenContractAddress', privateKey: 'YourPrivateKey'};const headers = { 'Accept': 'application/json', 'content-type': 'application/json', 'Authorization': 'YOUR_API_TOKEN'};
axios.post(url, payload, { headers }) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); });<?phprequire 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();$response = $client->post('https://api.chaingateway.io/v2/tron/transactions/trc20', [ 'headers' => [ 'Accept' => 'application/json', 'content-type' => 'application/json', 'Authorization' => 'YOUR_API_TOKEN', ], 'json' => [ 'from' => 'TYourSenderAddress', 'to' => 'TRecipientAddress', 'amount' => '100', 'contractaddress' => 'TTokenContractAddress', 'privateKey' => 'YourPrivateKey' ]]);
echo $response->getBody();?>Le code devrait retourner cette réponse :
{ "status": 201, "ok": true, "message": "Succesfully created transaction", "data": { "txid": "0x73344d178812d4919e9002c560781f288030edf72ece88823ef1c377dfb71f27" }}