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 HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. -
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: -
Gorilla WebSocket
A fast, well-tested and widely used WebSocket implementation for Go. -
go-kratos
Your ultimate Go microservices framework for the cloud-native era. -
mux
A powerful HTTP router and URL matcher for building Go web servers with ๐ฆ -
httprouter
A high performance HTTP request router that scales well -
chi
lightweight, idiomatic and composable router for building Go HTTP services -
Revel
A high productivity, full-stack web framework for the Go language. -
GoFrame
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. -
go-socket.io
socket.io library for golang, a realtime application framework. -
web.go
The easiest way to create web applications with Go -
Hertz
Go HTTP framework with high-performance and strong-extensibility for building micro-services. -
go-json-rest
A quick and easy way to setup a RESTful JSON API -
Macaron
Package macaron is a high productive and modular web framework in Go. -
Tollbooth
Simple middleware to rate-limit HTTP requests. -
CORS
Go net/http configurable handler to handle CORS requests -
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. -
render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses. -
pat
Sinatra style pattern muxer for Goโs net/http library, by the author of Sinatra. -
REST Layer
REST Layer, Go (golang) REST API framework -
Goyave
๐ Elegant Golang REST API Framework (v5 preview available) -
Atreugo
High performance and extensible micro web framework. Zero memory allocations in hot paths. -
tigertonic
A Go framework for building JSON web services inspired by Dropwizard -
Goji
Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang) -
go-fault
Fault injection library in Go using standard http middleware -
fasthttprouter
A high performance fasthttp request router that scales well -
Beego
beego is an open-source, high-performance web framework for the Go programming language. -
go-server-timing
Go (golang) library for creating and consuming HTTP Server-Timing headers -
Gearbox
Gearbox :gear: is a web framework written in Go with a focus on high performance -
golongpoll
golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients :smiley: :coffee: :computer: -
httptreemux
High-speed, flexible tree-based HTTP router for Go.
Collect and Analyze Billions of Data Points in Real Time
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.