Documentation
    Preparing search index...

    The DAppClient has to be used in decentralized applications. It handles all the logic related to connecting to beacon-compatible wallets and sending requests.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _beaconId: ExposedPromise<string>

    The beaconId is a public key that is used to identify one specific application (dapp or wallet). This is used inside a message to specify the sender, for example.

    _keyPair: ExposedPromise<KeyPair>

    The local keypair that is used for the communication encryption

    _transport: ExposedPromise<Transport<any, any, any>>
    accountManager: AccountManager
    appUrl?: string

    The URL of the dApp.

    blockExplorer: BlockExplorer

    The block explorer used by the SDK

    description?: string

    The description of the app

    events: BeaconEventHandler = ...
    handleResponse: (
        _event: BeaconRequestMessage | BeaconMessageWrapper<BeaconBaseMessage>,
        connectionInfo: ConnectionContext,
    ) => void
    iconUrl?: string

    The URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet

    matrixNodes: NodeDistributions
    name: string

    The name of the client

    network: Network
    p2pTransport: undefined | DappP2PTransport
    postMessageTransport: undefined | DappPostMessageTransport
    rateLimit: number

    How many requests can be sent after another

    rateLimitWindowInSeconds: number

    The time window in seconds in which the "rateLimit" is checked

    requestCounter: number[]

    Stores the times when requests have been made to determine if the rate limit has been reached

    storage: Storage
    walletConnectTransport: undefined | DappWalletConnectTransport
    wcProjectId?: string
    wcRelayUrl?: string

    Accessors

    • get beaconId(): Promise<string>

      Returns Promise<string>

    • get connectionStatus(): TransportStatus

      Returns the connection status of the Client

      Returns TransportStatus

    • get keyPair(): Promise<KeyPair>

      Returns Promise<KeyPair>

    • get ready(): Promise<void>

      Returns whether or not the transaport is ready

      Returns Promise<void>

    • get transport(): Promise<Transport<any, any, any>>

      Returns Promise<Transport<any, any, any>>

    Methods

    • Parameters

      Returns Promise<void>

    • Add a new peer to the known peers

      Parameters

      Returns Promise<void>

    • Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit

      Returns Promise<boolean>

    • Returns Promise<void>

    • Destroy the instance.

      WARNING: Call destroy whenever you no longer need dAppClient as it frees internal subscriptions to the transport and therefore the instance may no longer work properly. If you wish to disconnect your dApp, use disconnect instead.

      Returns Promise<void>

    • Return the account by ID

      Parameters

      • accountIdentifier: string

        The ID of an account

      Returns Promise<undefined | AccountInfo>

    • Return all locally known accounts

      Returns Promise<AccountInfo[]>

    • Return all known peers

      Returns Promise<PeerInfo[]>

    • This method initializes the client. It will check if the connection should be established to a browser extension or if the P2P transport should be used.

      Parameters

      • Optionaltransport: Transport<any, any, any>

        A transport that can be provided by the user

      • OptionalsubstratePairing: boolean

      Returns Promise<TransportType>

    • This method initializes the SDK by setting some values in the storage and generating a keypair.

      Returns Promise<void>

    • Remove all peers and all accounts that have been connected through those peers

      Parameters

      • sendDisconnectToPeers: boolean = false

      Returns Promise<void>

    • Parameters

      • title: string
      • message: string
      • payload: string
      • protocolIdentifier: string

      Returns Promise<string>

    • Allows the user to subscribe to specific events that are fired in the SDK

      Type Parameters

      Parameters

      • internalEvent: K

        The event to subscribe to

      • eventCallback: BeaconEventHandlerFunction<BeaconEventType[K]>

        The callback that will be called when the event occurs

      Returns Promise<void>