DEPRECATED
This library has been moved to https://github.com/solana-mobile/rpc-core
RpcCore
Multiplatform JSON RPC Library using Kotlin Serialization
Usage
Network Driver
RpcCore does not provide a multiplatform networking implementaion, you must provide your own by implementing the HttpNetworkingDriver interface:
class MyNetworkDriver : HttpNetworkDriver {
override suspend fun makeHttpRequest(request: HttpRequest): String {
val url = request.url
val httpMethod = request.method (should be "POST" for RPC 2.0 requests)
val requestHeaders = request.properties
val requestBody = reqest.body
...
return response string
}
}
RPC 2.0 Requests
val rpcUrl = "https://api.endpoint.com"
val rpcDriver = Rpc20Driver(rpcUrl, MyNetworkDriver())
requestId = UUID.generate()
requestMehtod =
requestParameters = buildJsonObject {
put(, )
put(, )
}
rpcRequest = JsonRpc20Request(requestId, requestParamaters, requestId)
rpcResponse = rpcDriver.makeRequest(rpcRequest, JsonElement.serializer())