Salta ai contenuti

Guida rapida

Questa guida ti aiuta a muovere i primi passi con Chaingateway. Descrive come leggere la documentazione API, creare una API key e autorizzarti a usare la nostra API.

L’API Chaingateway offre agli sviluppatori un’interfaccia semplice per interagire con più blockchain come Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon e Bitcoin. I nostri endpoint API offrono diverse funzionalità come la creazione di transazioni, l’invio di token fungibili e non fungibili e l’interrogazione di dati blockchain utili come i saldi degli account e le altezze dei blocchi.

L’API Chaingateway offre agli sviluppatori un’interfaccia semplice per interagire con più blockchain come Tron, Binance Smart Chain (BNB Chain), Ethereum, Polygon e Bitcoin. I nostri endpoint API offrono diverse funzionalità come la creazione di transazioni, l’invio di token fungibili e non fungibili e l’interrogazione di dati blockchain utili come i saldi degli account e le altezze dei blocchi.

  • Come configurare il tuo account
  • Come creare la tua API key
  • I concetti di base della nostra API
  • Come inviare la tua prima richiesta API

Innanzitutto, crea un account Chaingateway oppure accedi. Quindi vai alla pagina delle API key per creare un nuovo token. Digita un nome per il tuo token e premi ”+ Create Token”. Il tuo nuovo token dovrebbe ora essere visibile nell’interfaccia. Conservalo in un luogo sicuro e non condividerlo con nessuno!

Nelle sezioni successive avrai la possibilità di scegliere il tuo linguaggio di programmazione tra curl, PHP, Node.js e Python. Se hai bisogno di esempi di codice per altri linguaggi, la nostra API reference supporta molti altri linguaggi.

Ti consigliamo un archivio centralizzato per la tua API key, che potrebbe essere una variabile d’ambiente per curl e Python, oppure un file .env per Node.js e PHP/Laravel.

L’API REST di Chaingateway segue i principi REST, utilizzando richieste HTTP per comunicare. Offre endpoint che rappresentano risorse, come /addresses, e supporta metodi standard come GET, POST, PUT, DELETE per azioni come recuperare, creare, aggiornare ed eliminare risorse. Le risposte sono tipicamente in formato JSON. L’autenticazione garantisce un accesso sicuro alle risorse.

Facciamo un esempio con la risorsa address:

  • GET: Recupera i dati di un indirizzo inviando una richiesta GET a /addresses per un elenco di indirizzi, oppure a /addresses/{id} per un indirizzo specifico.

  • POST: Crea un nuovo indirizzo inviando una richiesta POST a /addresses con i dettagli dell’indirizzo nel corpo della richiesta.

  • PUT: Aggiorna un indirizzo esistente inviando una richiesta PUT a /addresses/{id} con le informazioni complete e aggiornate dell’indirizzo nel corpo della richiesta. Poiché l’aggiornamento delle informazioni di un indirizzo non è consentito sulle blockchain, questo metodo non esiste.

  • DELETE: Rimuovi un indirizzo inviando una richiesta DELETE a /addresses/{id}.

  • PATCH: Effettua aggiornamenti parziali di un indirizzo inviando una richiesta PATCH a /addresses/{id} con solo le modifiche specifiche. Poiché l’aggiornamento delle informazioni di un indirizzo non è consentito sulle blockchain, questo metodo non esiste.

Questi metodi consentono ai client di eseguire operazioni CRUD su varie risorse in modo prevedibile e coerente, in linea con i principi REST. Devi assicurarti che il metodo corrisponda sempre alla funzionalità di cui hai bisogno.

Gli header HTTP forniscono informazioni aggiuntive sulla richiesta o sulla risposta. Ecco alcuni header comunemente usati:

  • Header Authorization: L’header Authorization viene usato per inviare credenziali (come un token o username/password) insieme a una richiesta per accedere a risorse protette. Ad esempio, Authorization: <token> indica che la richiesta è autorizzata tramite un token.

  • Header Accept: L’header Accept specifica i tipi di media che il client è disposto a ricevere nella risposta. Aiuta il server a capire quale tipo di contenuto preferisce il client. Ad esempio, Accept: application/json indica al server che il client preferisce risposte in formato JSON. È possibile specificare più tipi di media separati da virgole, e il server sceglierà quello più appropriato in base alle proprie capacità e alle preferenze espresse dal client.

  • Header Content-Type: L’header Content-Type indica il tipo di media del corpo della richiesta inviato al server. Indica al server come interpretare i dati nella richiesta. Ad esempio, Content-Type: application/json indica che il corpo della richiesta è formattato come JSON. Questo header è particolarmente importante per le richieste POST e PUT, dove il client invia dati al server.

Dopo aver configurato il tuo client HTTP e capito come funziona l’API, possiamo iniziare a usarla nel nostro progetto. Per mostrarti come funziona la nostra API, creeremo prima un indirizzo Ethereum.

Analizziamo i diversi componenti di questa chiamata API:

Usiamo il metodo POST perché vogliamo inviare dati all’API.

I dati che inviamo sono definiti nel corpo della richiesta {"password": "architecto"}. È un oggetto JSON con una coppia chiave-valore dove la chiave è “password” e il valore è “architecto”. Questi dati verranno elaborati dal server secondo le specifiche dell’API.

L’header Authorization aggiunge un header Authorization con valore “YOUR_SECRET_TOKEN” (sostituiscilo con il tuo token!). Content-Type e Accept sono entrambi impostati su application/json, garantendo che entrambi i sistemi vogliano comunicare con il tipo di file application/json.

Terminal window
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"
}'

La risposta sarà:

{
"status": 201,
"ok": true,
"message": "Address created",
"data": {}
}

Per recuperare dati, ad esempio ottenere un elenco di indirizzi, puoi utilizzare il metodo GET. Questo metodo di solito non usa un corpo della richiesta.

Terminal window
curl --request GET \
--url https://api.chaingateway.io/api/v2/ethereum/addresses \
--header 'Authorization: YOUR_SECRET_TOKEN'

La risposta sarà:

{
"ok": true
}