Skip to content

BlueWallet/rn-electrum-client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rn-electrum-client

Electrum Protocol Client for React Native

based on

features

  • persistence (ping strategy and reconnection)
  • batch requests
  • works in RN and nodejs
  • both clearnet TCP and TLS
  • zero dependencies

protocol spec

usage

For Nodejs you can just provide standard modules net & tls to constructor explicitly, this library won't do require('net').

  const net = require('net');

and then

  const client = new ElectrumClient(net, false, 50001, 'electrum1.bluewallet.io', 'tcp');
  const ver = await client.initElectrum({ client: 'bluewallet', version: '1.4' });
  const balance = await client.blockchainScripthash_getBalance('716decbe1660861c3d93906cb1d98ee68b154fd4d23aed9783859c1271b52a9c');

For React Native luckily we have react-native-tcp-socket which mimics net & tls pretty closely, one of the ways to shim it is via package.json:

    "react-native": {
      "net": "react-native-tcp-socket",
      "tls": "react-native-tcp-socket"
    }

license

MIT