Client API. The Codename One framework your app is built on: this runs on the device, not in a backend.

package com.codename1.crypto.rpc

Chain network clients: EvmRpc for Ethereum JSON-RPC, EsploraClient for the Bitcoin Esplora REST API and SolanaRpc for Solana JSON-RPC, all written against one RpcTransport. In an application that is NetworkTransport, over the NetworkManager; the backend has its own over its WebClient. Calls block; from the EDT they wait with invokeAndBlock.

Types

class EsploraClient sharedA Bitcoin client for the Esplora REST API, which Blockstream and mempool.space run in public and anyone can self-host: unspent outputs, balances, fee estimates and broadcasting.
class EvmRpc sharedAn Ethereum JSON-RPC client, for any EVM chain: balances, nonces, fees, gas estimates, calls, broadcasting and receipts.
class JsonRpc sharedJSON-RPC 2.0 over an RpcTransport: what Ethereum and Solana nodes speak.
class NetworkTransportThe application’s RpcTransport: each request goes through the NetworkManager queue as a ConnectionRequest, waiting with addToQueueAndWait, so a call from the EDT keeps the UI responsive.
class RpcException sharedA failure the remote end reported: an HTTP status outside 2xx, or a JSON-RPC error object.
interface RpcTransport sharedThe one HTTP exchange every chain client needs: send a body, read the reply.
class SolanaRpc sharedA Solana JSON-RPC client: balances, the recent blockhash a transaction needs, rent, token balances, sending and confirmation.