nikicat / go-electrum-client

Golang Electrum Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-electrum-client

Goele - Golang Electrum Client

Electrum client wallet in Go

  • Electrum client multi coin wallet library
  • ElectrumX chain server interface
  • No GUI

Purpose

  • Goele is a simplified functional version of an electrum wallet.

  • Goele is golang code intended to be used directly by other golang projects; for example a lite trading wallet.

  • Goele wallets do have a simple RPC Server to call some of the python console-like methods such as ListUnspent, Spend & Broadcast, etc. But this is for testing only.

Development example

The goele example app can be found at cmd/goele/. This is the tool I have been using for functional testing.

If running against regtest network then it is dependent upon the BTC ElectrumX RegTest Simnet Harness found in client/btc/test_harness.

It will also run against btc testnet.

Database Implementations

Goele uses Bolt DB by default. It can also use sqlite3.

There is a utility bd to dump the goele structures in wallet.bdb.

For sqlite3 has it's own viewing for tables and records.

BIP39

Goele uses BIP39 for wallet seeds. ELectrum uses it's own seed derivation.

Rescan

There is code to rescan for wallet transactions when re-creating a wallet from seed.

The assumptions about GAP_LIMIT are experimental so please do not use for mainnet. Tested on regtest and testnet.

About

Golang Electrum Client

License:MIT License


Languages

Language:Go 98.1%Language:Shell 1.9%