Electrum JSON RPC Client alternatives and similar packages
Based on the "Web Frameworks" category.
Alternatively, view Electrum JSON RPC Client alternatives based on common mentions on social networks and blogs.
-
Gin
Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices. -
Gorilla WebSocket
DISCONTINUED. A fast, well-tested and widely used WebSocket implementation for Go. -
Iris
The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket: -
GoFr
An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability. -
goa
Design-first Go framework that generates API code, documentation, and clients. Define once in an elegant DSL, deploy as HTTP and gRPC services with zero drift between code and docs. -
Huma
A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema. -
Faygo
Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct handler, faygo will automatically bind/verify the request parameters and generate the online API doc. -
go-server-timing
DISCONTINUED. Go (golang) library for creating and consuming HTTP Server-Timing headers -
goshs
Feature-rich single-binary file server for red teamers and developers. HTTP/S · WebDAV · FTP/SFTP · SMB · LDAP/S · NTLM hash capture · DNS/SMTP callbacks · TLS · Auth · Share links. A powerful python3 -m http.server replacement.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of Electrum JSON RPC Client or a related project?
README
Electrum JSON RPC Client
Note: The library does not have implementations of all Electrum RPC resources[WIP]. PRs for new resources and endpoints are welcome, or you can simply implement some yourself as-you-go.
Preposition
1. Install Electrum and create a wallet
2. Set RPC port
By default, it's random port - set it to any port you want
./run_electrum setconfig rpcport 7777
3. Set user and password for RPC
./run_electrum setconfig rpcuser user
./run_electrum setconfig rpcpassword password
4. Run Electrum as daemon
./run_electrum daemon start
If you want to start in testnet mode
./run_electrum --testnet daemon start
5. Load daemon wallet
./run_electrum daemon load_wallet
If daemon is running in testnet, you need to specify to load testnet wallet
./run_electrum --testnet daemon load_wallet
Now you have a local Electrum JSON RPC server running - congrats 🥳
If you need to stop it, use
./run_electrum daemon stop
or if running in testnet
./run_electrum --testnet daemon stop
Install
go get github.com/MarinX/electrumrpc
Use
import "github.com/MarinX/electrumrpc"
Example
You can find more in electrumrpc_test.go
// httpClient is optional
// if nil, the http.DefaultClient will be used
client := electrumrpc.New("<rpc-user>", "<rpc-password>", "<rpc-endpoint>", nil)
// Call RPC methods
ver, err := client.Version()
if err != nil {
//handle error
panic(err)
}
fmt.Println("Electrum version:", ver)
Not all endpoints are implemented right now. In those case, you can use Call method and point your model
var rpcResponse string
err := client.Call("version", nil, &rpcResponse)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Electrum version:", rpcResponse)
Available RPC methods
| RPC Method | Available |
|---|---|
| version | ✅ |
| getaddressbalance | ✅ |
| getbalance | ✅ |
| validateaddress | ✅ |
| getservers | ✅ |
| createnewaddress | ✅ |
| getunusedaddress | ✅ |
| ismine | ✅ |
| gettransaction | ✅ |
| getseed | ✅ |
| listaddresses | ✅ |
| addrequest | ✅ |
| rmrequest | ✅ |
| clearrequests | ✅ |
| getrequest | ✅ |
| getfeerate | ✅ |
| signmessage | ✅ |
| verifymessage | ✅ |
Contributing
PR's are welcome. Please read CONTRIBUTING.md for more info
License
MIT
*Note that all licence references and agreements mentioned in the Electrum JSON RPC Client README section above
are relevant to that project's source code only.