Documentation
    Preparing search index...

    Module @airgap/beacon-sdk - v4.6.3

    Beacon SDK

    npm documentation GitHub Action Quality Gate Status code style: prettier

    Connect Wallets with dApps on Tezos

    Beacon is the implementation of the wallet interaction standard tzip-10 which describes the connnection of a dApp with a wallet.

    The beacon-sdk simplifies and abstracts the communication between dApps and wallets over different transport layers.

    Developers that plan to develop complex smart contract interactions can use Taquito with the BeaconWallet, which uses this SDK under the hood, but provides helpful methods to interact with contracts.

    Besides this Typescript SDK, we also provide SDKs for native iOS and Android Wallets:

    The documentation can be found here, technical documentation can be found here.

    npm i --save @airgap/beacon-sdk
    
    const client = new DAppClient({ name: 'My Sample DApp' })

    client
    .requestPermissions() // Send a permission request and automatically show UI to the user to select his favorite wallet
    .then((permissions) => {
    // Account that has been shared by the wallet
    console.log('got permissions', permissions)
    })
    .catch((error) => console.log(error))

    For a more complete example, take a look at the example-dapp.html file.

    const client = new WalletClient({ name: 'My Wallet' })
    await client.init() // Establish P2P connection

    client
    .connect(async (message) => {
    // Example: Handle PermissionRequest. A wallet should handle all request types
    if (message.type === BeaconMessageType.PermissionRequest) {
    // Show a UI to the user where he can confirm sharing an account with the DApp

    const response: PermissionResponseInput = {
    type: BeaconMessageType.PermissionResponse,
    network: message.network, // Use the same network that the user requested
    scopes: [PermissionScope.OPERATION_REQUEST], // Ignore the scopes that have been requested and instead give only operation permissions
    id: message.id,
    publicKey: 'tezos public key'
    }

    // Send response back to DApp
    await client.respond(response)
    }
    })
    .catch((error) => console.error('connect error', error))

    For a more complete example, take a look at the example-wallet.html file.

    Please create a PR and add your wallet here.

    For iOS wallets, the wallet needs to define a custom url scheme to support the same-device functionality.

    $ npm i
    $ npm run build
    $ npm run test

    Once the SDK is built, you can open the example-dapp.html file in your browser and try out the basic functionality. To support browser extensions as well, the file should be viewed over a webserver. You can easily start one with python -m SimpleHTTPServer 8000 and then open the file with http://localhost:8000/example-dapp.html.

    DApp

    RequestBroadcastInput
    RequestOperationInput
    RequestPermissionInput
    RequestProofOfEventChallengeInput
    RequestSignPayloadInput
    RequestSimulatedProofOfEventChallengeInput
    BeaconRequestInputMessage
    BeaconResponseOutputMessage
    BroadcastRequestInput
    BroadcastResponseOutput
    IgnoredRequestInputProperties
    OperationRequestInput
    OperationResponseOutput
    PermissionRequestInput
    PermissionResponseOutput
    ProofOfEventChallengeRequestInput
    ProofOfEventChallengeResponseOutput
    SignPayloadRequestInput
    SignPayloadResponseOutput
    SimulatedProofOfEventChallengeRequestInput
    SimulatedProofOfEventChallengeResponseOutput

    Error

    AbortedBeaconError
    BeaconError
    BroadcastBeaconError
    NetworkNotSupportedBeaconError
    NoAddressBeaconError
    NoPrivateKeyBeaconError
    NotGrantedBeaconError
    ParametersInvalidBeaconError
    SignatureTypeNotSupportedBeaconError
    TooManyOperationsBeaconError
    TransactionInvalidBeaconError
    UnknownBeaconError

    Message

    AcknowledgeResponse
    BeaconBaseMessage
    BroadcastRequest
    BroadcastResponse
    ChangeAccountRequest
    DisconnectMessage
    ErrorResponse
    OperationRequest
    OperationResponse
    PermissionRequest
    PermissionResponse
    ProofOfEventChallengeRequest
    ProofOfEventChallengeResponse
    SignPayloadRequest
    SignPayloadResponse
    SimulatedProofOfEventChallengeRequest
    SimulatedProofOfEventChallengeResponse

    Other

    BeaconErrorType
    BeaconMessageType
    ClientEvents
    ColorMode
    ExposedPromiseStatus
    ExtensionMessageTarget
    NetworkType
    Origin
    PermissionScope
    Regions
    SigningType
    StorageKey
    SubstrateMessageType
    SubstratePermissionScope
    TransportStatus
    TransportType
    AccountManager
    AppMetadataManager
    BeaconClient
    ChromeStorage
    Client
    CommunicationClient
    ExposedPromise
    ExtendedP2PPairingRequest
    ExtendedP2PPairingResponse
    ExtendedPostMessagePairingRequest
    ExtendedPostMessagePairingResponse
    ExtendedWalletConnectPairingRequest
    ExtendedWalletConnectPairingResponse
    IndexedDBStorage
    LocalStorage
    Logger
    MessageBasedClient
    MultiTabChannel
    P2PCommunicationClient
    P2PPairingRequest
    P2PPairingResponse
    P2PTransport
    PeerManager
    PermissionManager
    PostMessagePairingRequest
    PostMessagePairingResponse
    PostMessageTransport
    Serializer
    Storage
    StorageValidator
    SubstrateBlockchain
    TezosBlockchain
    Transport
    WalletConnectCommunicationClient
    WalletConnectPairingRequest
    WalletConnectPairingResponse
    WalletConnectTransport
    WCStorage
    AccountInfo
    AcknowledgeMessage
    AnalyticsInterface
    App
    AppBase
    AppMetadata
    BeaconClientOptions
    BeaconMessageWrapper
    Blockchain
    BlockchainErrorResponse
    BlockchainMessage
    BlockchainRequestV3
    BlockchainResponseV3
    ClientOptions
    ConnectionContext
    DesktopApp
    EncryptedExtensionMessage
    ExtendedPeerInfo
    Extension
    ExtensionApp
    ExtensionMessage
    Network
    PeerInfo
    PermissionEntity
    PermissionInfo
    PermissionRequestV3
    PermissionResponseV3
    PushToken
    ResponseInput
    StorageKeyReturnType
    SubstratePermissionRequest
    SubstratePermissionResponse
    SubstrateSignPayloadRequest
    SubstrateTransferRequest
    TezosDalPublishCommitmentOperation
    Threshold
    WalletInfo
    WebApp
    AccountIdentifier
    BeaconMessage
    BeaconRequestMessage
    BeaconResponseMessage
    NodeDistributions
    Optional
    PartialTezosDalPublishCommitmentOperation
    PeerInfoType
    StorageKeyReturnDefaults
    SubstrateSignPayloadResponse
    SubstrateTransferResponse
    BACKEND_URL
    BEACON_VERSION
    CONTRACT_PREFIX
    defaultValues
    getAccountIdentifier
    getDebugEnabled
    getError
    getLogger
    getSenderId
    getStorage
    isValidAddress
    NOTIFICATION_ORACLE_URL
    SDK_VERSION
    secretbox_MACBYTES
    secretbox_NONCEBYTES
    setDebugEnabled
    setLogger
    signMessage
    windowRef
    decryptCryptoboxPayload
    encodePoeChallengePayload
    encryptCryptoboxPayload
    generateGUID
    getAddressFromPublicKey
    getHexHash
    getKeypairFromSeed
    isPublicKeySC
    keys
    openCryptobox
    prefixPublicKey
    recipientString
    sealCryptobox
    toHex

    Tezos

    TezosOperationType
    TezosActivateAccountOperation
    TezosAttestationOperation
    TezosAttestationWithDalOperation
    TezosBallotOperation
    TezosBaseOperation
    TezosBlockHeader
    TezosDelegationOperation
    TezosDoubleAttestationEvidenceOperation
    TezosDoubleBakingEvidenceOperation
    TezosDoubleEndorsementEvidenceOperation
    TezosDoublePreAttestationEvidenceOperation
    TezosDoublePreEndorsementEvidenceOperation
    TezosDrainDelegateOperation
    TezosEndorsementOperation
    TezosEndorsementWithDalOperation
    TezosFailingNoopOperation
    TezosIncreasePaidStorageOperation
    TezosOriginationOperation
    TezosPreAttestationOperation
    TezosPreEndorsementOperation
    TezosProposalOperation
    TezosRegisterGlobalConstantOperation
    TezosRevealOperation
    TezosSeedNonceRevelationOperation
    TezosSetDepositsLimitOperation
    TezosSmartRollupAddMessagesOperation
    TezosSmartRollupCementOperation
    TezosSmartRollupExecuteOutboxMessageOperation
    TezosSmartRollupOriginateOperation
    TezosSmartRollupPublishOperation
    TezosSmartRollupRecoverBondOperation
    TezosSmartRollupRefuteOperation
    TezosSmartRollupTimeoutOperation
    TezosTransactionOperation
    TezosTransactionParameters
    TezosTransferTicketOperation
    TezosUpdateConsensusKeyOperation
    TezosVdfRevelationOperation
    MichelineMichelsonV1Expression
    MichelsonPrimitives
    PartialTezosDelegationOperation
    PartialTezosIncreasePaidStorageOperation
    PartialTezosOperation
    PartialTezosOriginationOperation
    PartialTezosRegisterGlobalConstantOperation
    PartialTezosRevealOperation
    PartialTezosSetDepositsLimitOperation
    PartialTezosSmartRollupAddMessagesOperation
    PartialTezosSmartRollupCementOperation
    PartialTezosSmartRollupExecuteOutboxMessageOperation
    PartialTezosSmartRollupOriginateOperation
    PartialTezosSmartRollupPublishOperation
    PartialTezosSmartRollupRecoverBondOperation
    PartialTezosSmartRollupRefuteOperation
    PartialTezosSmartRollupTimeoutOperation
    PartialTezosTransactionOperation
    PartialTezosTransferTicketOperation
    PartialTezosUpdateConsensusKeyOperation
    TezosOperation

    Wallet

    WalletClient
    WalletClientOptions
    AcknowledgeResponseInput
    BeaconRequestOutputMessage
    BeaconResponseInputMessage
    BroadcastRequestOutput
    BroadcastResponseInput
    ErrorResponseInput
    IgnoredResponseInputProperties
    OperationRequestOutput
    OperationResponseInput
    PermissionRequestOutput
    PermissionResponseInput
    ProofOfEventChallengeRequestOutput
    SignPayloadRequestOutput
    SignPayloadResponseInput
    SimulatedProofOfEventChallengeRequestOutput