Class WsProvider

  • All Implemented Interfaces:
    IProvider, IWsProvider

    public class WsProvider
    extends java.lang.Object
    implements IWsProvider
    # @polkadot/rpc-provider/ws WsProviderDir The WebSocket Provider allows sending requests using WebSocket to a WebSocket RPC server TCP port. Unlike the HttpProvider, it does support subscriptions and allows listening to events such as new blocks or balance changes. **Example** ```java import org.polkadot.rpc.provider.ws.WsProviderDir; WsProviderDir provider = new WsProviderDir('ws://127.0.0.1:9944'); ```
    See Also:
    HttpProvider
    • Constructor Detail

      • WsProvider

        public WsProvider()
      • WsProvider

        public WsProvider​(java.lang.String endpoint)
        Parameters:
        endpoint - The endpoint url. Usually `ws://ip:9944` or `wss://ip:9944`
      • WsProvider

        public WsProvider​(java.lang.String endpoint,
                          boolean autoConnect)
        Parameters:
        endpoint - The endpoint url. Usually `ws://ip:9944` or `wss://ip:9944`
        autoConnect - Whether to connect automatically or not.
    • Method Detail

      • connect

        public void connect()
        Manually connect The WsProviderDir connects automatically by default, however if you decided otherwise, you may connect manually using this method.
        Specified by:
        connect in interface IWsProvider
      • send

        public com.onehilltech.promises.Promise<java.lang.String> send​(java.lang.String method,
                                                                       java.util.List<java.lang.Object> params,
                                                                       IProvider.SubscriptionHandler subscription)
        Specified by:
        send in interface IProvider
        Parameters:
        method - The RPC methods to execute
        params - Encoded paramaters as appliucable for the method
        subscription - Subscription details (internally used) Send JSON data using WebSockets to configured HTTP Endpoint or queue.
      • isHasSubscriptions

        public boolean isHasSubscriptions()
        `true` when this provider supports subscriptions
        Specified by:
        isHasSubscriptions in interface IProvider
      • clone

        public IProvider clone()
        Returns a clone of the object
        Specified by:
        clone in interface IProvider
        Overrides:
        clone in class java.lang.Object
      • disconnect

        public void disconnect()
        Manually disconnect from the connection, clearing autoconnect logic
        Specified by:
        disconnect in interface IProvider
      • isConnected

        public boolean isConnected()
        Specified by:
        isConnected in interface IProvider
        Returns:
        true if connected Whether the node is connected or not.
      • subscribe

        public com.onehilltech.promises.Promise<java.lang.String> subscribe​(java.lang.String type,
                                                                            java.lang.String method,
                                                                            java.util.List<java.lang.Object> params,
                                                                            IProvider.CallbackHandler cb)
        Specified by:
        subscribe in interface IProvider
        Returns:
        {Promise} Promise resolving to the dd of the subscription you can use with unsubscribe. subscribe Allows subscribing to a specific event. **Example** ```java WsProviderDir provider = new WsProviderDir("ws://127.0.0.1:9944"); Rpc rpc = new Rpc(provider); rpc.state.subscribeStorage(storage.balances.freeBalance,
        , (_, values) => { System.out.println(values) }).then((subscriptionId) => { System.out.print("balance changes subscription id: ") System.out.println(subscriptionId) }) ```
      • unsubscribe

        public com.onehilltech.promises.Promise<java.lang.String> unsubscribe​(java.lang.String type,
                                                                              java.lang.String method,
                                                                              int id)
        Allows unsubscribing to subscriptions made with subscribe.
        Specified by:
        unsubscribe in interface IProvider
      • setConnected

        public void setConnected​(boolean connected)
      • isAutoConnect

        public boolean isAutoConnect()
      • setAutoConnect

        public void setAutoConnect​(boolean autoConnect)
      • setCoder

        public void setCoder​(RpcCoder coder)
      • getEndpoint

        public java.lang.String getEndpoint()
      • setEndpoint

        public void setEndpoint​(java.lang.String endpoint)
      • getQueued

        public java.util.Queue<java.lang.String> getQueued()
      • setQueued

        public void setQueued​(java.util.LinkedList<java.lang.String> queued)
      • setWaitingForId

        public void setWaitingForId​(java.util.Map<java.lang.String,​Types.JsonRpcResponse> waitingForId)
      • getWebSocket

        public org.java_websocket.WebSocket getWebSocket()
      • setWebSocket

        public void setWebSocket​(org.java_websocket.client.WebSocketClient webSocket)