Nodes blockchain via JSON-RPC : guide PHP, Python, JS
Nodes blockchain via JSON-RPC : guide PHP, Python et JS — article complet sur le blog Chaingateway : API, paiements et intégrations.
JSON-RPC est un protocole d’appel de procédure à distance (RPC) encodé en JSON. C’est un protocole léger qui permet la transmission de données entre un client et un serveur, dans ce cas un node blockchain. JSON-RPC est généralement utilisé pour interagir avec des systèmes décentralisés comme les réseaux blockchain, et peut servir à envoyer des transactions, interroger la blockchain pour obtenir des informations, et gérer des comptes sur le réseau.
Dans cet article, nous allons explorer les bases de JSON-RPC et comment il peut être utilisé pour interagir avec des nodes blockchain. Nous fournirons également du code d’exemple en PHP, Python et JavaScript pour vous aider à démarrer.
Qu’est-ce que JSON-RPC ?
JSON-RPC est un protocole d’appel de procédure à distance qui utilise JSON pour encoder ses appels et réponses. Il est conçu pour être léger et facile à implémenter, ce qui en fait un choix populaire pour interagir avec des systèmes décentralisés comme les réseaux blockchain.
Le protocole JSON-RPC définit un certain nombre de commandes, ou « méthodes », qui peuvent être utilisées pour interagir avec le node blockchain. Ces méthodes incluent l’envoi de transactions, l’interrogation de la blockchain pour obtenir des informations, et la gestion des comptes sur le réseau.
Comment utiliser JSON-RPC pour interagir avec des nodes blockchain
Pour utiliser JSON-RPC afin d’interagir avec un node blockchain, vous devrez d’abord établir une connexion au node. La connexion peut être établie en utilisant diverses bibliothèques dans différents langages de programmation, comme HTTP, WebSockets, etc.
Une fois la connexion établie, vous pouvez commencer à envoyer des requêtes JSON-RPC au node blockchain. Les requêtes prennent la forme d’objets JSON, et incluent un champ « method », qui précise l’action à effectuer, et un champ « params », qui contient toute information supplémentaire nécessaire pour compléter la requête.
La réponse sera également au format JSON ; elle inclura un champ « result », contenant le résultat de la requête, et un champ « error », qui contiendra tout message d’erreur éventuel.
Voici un exemple de requête JSON-RPC pour obtenir le numéro de bloc actuel sur la blockchain Ethereum :
<pre class="wp-block-code">````{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1}`Et la réponse ressemblera à ceci```
`{ "jsonrpc": "2.0", "id": 1, "result": "0x4b7"}`
```
```
## Exemple de code en PHP, Python et JavaScript
Voici un exemple d'envoi d'une requête JSON-RPC en utilisant la bibliothèque `curl` de PHP :
```
```
``
```
```
Voici un exemple d'envoi d'une requête JSON-RPC en utilisant la bibliothèque `requests` de Python :
```
```
import requests headers = {'content-type': 'application/json'}
data = '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
response = requests.post('http://localhost:8545', headers=headers, data=data)
print(response.json())
```
```
Et voici un exemple d'envoi d'une requête JSON-RPC en utilisant la fonction JavaScript `fetch` :
```
```
fetch('http://localhost:8545',{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_blockNumber',
params: [],
id: 1
})
})
.then(response => response.json())
.then(console.log)
.catch(console.error);
```
```
Il convient de noter que les exemples ci-dessus sont de simples requêtes GET pour obtenir le numéro de bloc actuel sur la blockchain Ethereum ; vous pouvez utiliser diverses autres méthodes pour accomplir d'autres tâches comme envoyer des transactions, créer des comptes et bien plus encore.
En comprenant les bases de JSON-RPC et comment il peut être utilisé pour interagir avec des nodes blockchain, vous serez capable de créer des applications décentralisées qui tirent parti de la sécurité et de l'immuabilité offertes par la technologie blockchain. Avec l'aide du code d'exemple fourni, vous serez capable d'envoyer des requêtes JSON-RPC à un node blockchain avec facilité et de commencer à construire votre propre application décentralisée.
Prêt à le construire vous-même ? Obtenir votre clé API — essai de 7 jours, sans carte bancaire — ou consultez API Blockchain pour la référence complète des endpoints.