Il demone Electrum accetta comandi tramite JSON-RPC, consentendo l'integrazione con script, come quelli scritti in PHP. Per impostazione predefinita, il demone utilizza una porta casuale. Per impostare una porta fissa, utilizzare l'opzione rpcport
variabile di configurazione:
electrum setconfig rpcport 7777
Ricordarsi di riavviare il demone dopo aver modificato questa impostazione.
Da Electrum 3.0.5
In seguito, l'interfaccia JSON-RPC utilizza Autenticazione di base HTTP. Il sistema imposta automaticamente un nome utente e genera una password casuale al primo avvio. È possibile visualizzare o modificare queste credenziali utilizzando questi comandi:
electrum getconfig rpcuser
electrum getconfig rpcpassword
Tenere presente che HTTP basic auth invia le credenziali in chiaro. Sebbene sia sicuro per localhost
non è sicuro su reti non affidabili o su Internet. Per le connessioni oltre localhost
implementare misure di sicurezza aggiuntive come i tunnel crittografati. Riferirsi a questo per maggiori dettagli.
Una volta impostata una porta statica e configurata l'autenticazione, è possibile interagire con il demone Electrum utilizzando strumenti come curl o linguaggi di programmazione come PHP. Ecco alcuni esempi:
Query di base
Per controllare il saldo del portafoglio, utilizzare questo comando curl:
curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"getbalance","params":[]}' http://username:[email protected]:7777
Query con parametri denominati
Per elencare gli indirizzi con un saldo positivo:
curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"listaddresses","params":{"funded":true}}' http://username:[email protected]:7777
Creare una richiesta di pagamento
Per generare una richiesta di pagamento di 3,14 BTC con un promemoria:
curl --data-binary '{"jsonrpc":"2.0","id":"curltext","method":"add_request","params":{"amount":"3.14","memo":"test"}}' http://username:[email protected]:7777