@usedapptesthello/usewallet
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

useWallet

useWallet is a library/react component which designed for DApp to interact with CasperDash/Casper Signer on the Casper network.

Features

  • 💼 In-app support for CasperDash and CasperSigner Wallet

  • 👟 Optimized with caching and duplicated request elimination

  • 🌀 Automatic data updates during account switches and disconnections

  • 🦄 TypeScript compatibility included

... and a lot more.

Documentation

Installation

Install @usedapptesthello/usewallet and Casper dependency.

npm install @usedapptesthello/usewallet casper-js-sdk

Quick Start

Connect a Casper Wallet likes 👻 speed.

import {
  CasperDashConnector,
  CasperSignerConnector,
  CasperProvider,
  createClient
} from '@usedapptesthello/usewallet';


const client = createClient({
  connectors: [new CasperSignerConnector(), new CasperDashConnector()],
  autoConnect: true,
});

function App() {
  return (
    <CasperProvider client={client}>
      <WalletProfile />
    </CasperProvider>
  )
}
import { useAccount, useDisconnect, useConnect, CasperSignerConnector, CasperDashConnector } from '@usedapptesthello/usewallet';

function WalletProfile() {
  const { publicKey } = useAccount();
  const { disconnect } = useDisconnect();

  const { connect: connectWithCasperSigner } = useConnect({
    connector: new CasperSignerConnector(),
  });

  const { connect: connectWithCasperDash } = useConnect({
    connector: new CasperDashConnector(),
  });

  if (publicKey)
    return (
      <div>
        Connected to {publicKey}
        <button onClick={() => disconnect()}>Disconnect</button>
      </div>
    )

  return (
    <div>
      <button onClick={() => connectWithCasperSigner()}>Connect with Casper Signer</button>
      </br>
      <button onClick={() => connectWithCasperDash()}>Connect with CasperDash</<utton>
    </div>

  )
}

In the above snippet, we create a useWallet client and pass it to the CasperProvider React Context. The client is set up to use the Casper Wallet Default Provider and automatically connect to previously connected wallets.

Next, we use the useConnect hook to connect injected supporting wallets (Casper Signer and CasperDash) to the app. Finally, we show the connected account's public key with useAccount and allow them to disconnect with useDisconnect.

Built With

  • React A JavaScript library for building user interfaces

  • TypeScript is JavaScript with syntax for types

Contributing

We welcome contributions to useWallet! If you're interested in helping out, take a look at our contributing guidelines for more information.

License

useWallet is licensed under the MIT License.

/@usedapptesthello/usewallet/

    Package Sidebar

    Install

    npm i @usedapptesthello/usewallet

    Weekly Downloads

    0

    Version

    0.1.3

    License

    MIT

    Unpacked Size

    5.6 MB

    Total Files

    32

    Last publish

    Collaborators

    • blhl1210