Protected_beaconThe 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.
Protected_keyThe local keypair that is used for the communication encryption
Protected_transportProtected ReadonlyaccountProtectedanalyticsOptional ReadonlyappThe URL of the dApp.
ReadonlyblockThe block explorer used by the SDK
Optional ReadonlydescriptionThe description of the app
Protected ReadonlyeventsProtectedhandleOptional ReadonlyiconThe URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet
Protected ReadonlymatrixReadonlynameThe name of the client
Protectedp2pProtectedpostProtected ReadonlyrateHow many requests can be sent after another
Protected ReadonlyrateThe time window in seconds in which the "rateLimit" is checked
ProtectedrequestStores the times when requests have been made to determine if the rate limit has been reached
ProtectedstorageProtectedwalletProtected OptionalwcProtected OptionalwcReturns the connection status of the Client
ProtectedkeyReturns whether or not the transaport is ready
ProtectedtransportProtectedaddAdd a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit
Check if we have permissions to send the specific message type to the active account. If no active account is set, only permission requests are allowed.
The type of the message
ProtectedcleanupClear the active account
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.
Return the account by ID
The ID of an account
Return all locally known accounts
Returns the active account
Returns the metadata of this DApp
Return all known peers
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.
Optionaltransport: Transport<any, any, any>A transport that can be provided by the user
OptionalsubstratePairing: booleanProtectedinitSDKThis method initializes the SDK by setting some values in the storage and generating a keypair.
Will remove the account from the local storage and set a new active account if necessary.
ID of the account
Remove all accounts and set active account to undefined
Remove all peers and all accounts that have been connected through those peers
Removes a peer and all the accounts that have been connected through that peer
Peer to be removed
Sends a "BroadcastRequest" to the wallet. This method can be used to inject an already signed transaction to the network.
The message details we need to prepare the BroadcastRequest message.
This method sends an OperationRequest to the wallet. This method should be used for all kinds of operations, eg. transaction or delegation. Not all properties have to be provided. Data like "counter" and fees will be fetched and calculated by the wallet (but they can still be provided if required).
The message details we need to prepare the OperationRequest message.
Send a permission request to the DApp. This should be done as the first step. The wallet will respond with an publicKey and permissions that were given. The account returned will be set as the "activeAccount" and will be used for the following requests.
Optionalinput: RequestPermissionInputThe message details we need to prepare the PermissionRequest message.
Send a proof of event request to the wallet. The wallet will either accept or decline the challenge. If it is accepted, the challenge will be stored, meaning that even if the user refresh the page, the DAppClient will keep checking if the challenge has been fulfilled. Once the challenge is stored, a challenge stored message will be sent to the wallet. It's highly recommended to run a proof of event challenge to check the identity of an abstracted account
The message details we need to prepare the ProofOfEventChallenge message.
This method will send a "SignPayloadRequest" to the wallet. This method is meant to be used to sign arbitrary data (eg. a string). It will return the signature in the format of "edsig..."
The message details we need to prepare the SignPayloadRequest message.
Send a simulated proof of event request to the wallet. The wallet will either accept or decline the challenge.
It's the same than requestProofOfEventChallenge but rather than executing operations on the blockchain to prove the identity,
The wallet will return a list of operations that you'll be able to run on your side to verify the identity of the abstracted account
It's highly recommended to run a proof of event challenge to check the identity of an abstracted account
The message details we need to prepare the SimulatedProofOfEventChallenge message.
ProtectedsendSets the active account
Optionalaccount: AccountInfoThe account that will be set as the active account
ProtectedsetOptionalpeer: PeerInfoTypeProtectedsetA "setter" for when the transport needs to be changed.
Optionaltransport: Transport<any, any, any>Allows the user to subscribe to specific events that are fired in the SDK
Publicapi
The DAppClient has to be used in decentralized applications. It handles all the logic related to connecting to beacon-compatible wallets and sending requests.