Premier portefeuille Bitcoin

Interface JSON-RPC pour le démon Electrum

Le démon Electrum accepte les commandes via JSON-RPC, ce qui permet une intégration avec des scripts, tels que ceux écrits en PHP. Par défaut, le démon utilise un port aléatoire. Pour définir un port fixe, utilisez l'option rpcport variable de configuration :

electrum setconfig rpcport 7777

N'oubliez pas de redémarrer le démon après avoir modifié ce paramètre.

D'Electrum 3.0.5 L'interface JSON-RPC utilise, à partir de la version anglaise, l'interface JSON-RPC Authentification de base HTTP. Le système définit automatiquement un nom d'utilisateur et génère un mot de passe aléatoire lors du premier lancement. Vous pouvez afficher ou modifier ces informations d'identification à l'aide de ces commandes :

electrum getconfig rpcuser
electrum getconfig rpcpassword

Sachez que l'authentification de base HTTP envoie des informations d'identification non cryptées. Bien qu'elle soit sûre pour les localhost il n'est pas sécurisé sur les réseaux non fiables ou sur l'internet. Pour les connexions au-delà de localhostPour ce faire, il convient de mettre en œuvre des mesures de sécurité supplémentaires, telles que des tunnels cryptés. Se référer cette pour plus de détails.

Une fois que vous avez défini un port statique et configuré l'authentification, vous pouvez interagir avec le démon Electrum en utilisant des outils comme curl ou des langages de programmation comme PHP. Voici quelques exemples :

Requête de base

Pour vérifier le solde de votre portefeuille, utilisez la commande curl suivante :

curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"getbalance","params":[]}' http://username:[email protected]:7777

Requête avec paramètres nommés

Pour répertorier les adresses dont le solde est positif :

curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"listaddresses","params":{"funded":true}}' http://username:[email protected]:7777

Création d'une demande de paiement

Pour générer une demande de paiement de 3,14 BTC avec un mémo :

curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"add_request","params":{"amount":"3.14","memo":"test"}}' http://username:[email protected]:7777

Table des matières