com.github.hindol/json-rpc.core

Delightful JSON-RPC 2.0 client for Clojure(Script).


Keywords
besu, clojure, ethereum, json-rpc, json-rpc-client, quorum
License
Unlicense

Documentation

json-rpc Clojars Project cljdoc badge

Delightful JSON-RPC 2.0 client for Clojure(Script).

Goals

  • Support Clojure.
  • Support HTTP.
  • Future support.
  • Support HTTP status override.
  • Write unit tests.
  • Pluggable HTTP client.
  • Support WebSocket.
  • Support UNIX socket.
  • Support ClojureScript.

Usage

Leiningen

Boot

tools.deps.alpha

Quickstart

;; Choose from HTTP[S], WebSocket and UNIX socket
(def url ^:private ^:const "http://localhost:8545")
(def url ^:private ^:const "wss://localhost:8546")
(def url ^:private ^:const "unix:///var/run/geth.ipc")

(def connection ^:private ^:const (json-rpc/connect url))

(json-rpc/send! connection "eth_blockNumber" ["latest"])
@(json-rpc/send! connection "eth_blockNumber" ["latest"])

;; Like send! but accepts a variable number of arguments
(json-rpc/send!* connection "eth_blockNumber" "latest")
@(json-rpc/send!* connection "eth_blockNumber" "latest")

Component

Mount

Logs