1.0.3 • Published 7 months ago

@casperdash/usewallet v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

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 @casperdash/usewallet and Casper dependency.

npm install @casperdash/usewallet casper-js-sdk

Quick Start

Connect a Casper Wallet likes 👻 speed.

import {
  CasperDashConnector,
  CasperSignerConnector,
  CasperProvider,
  createClient
} from '@casperdash/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 '@casperdash/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</button>
    </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.

1.0.2

7 months ago

1.0.1

7 months ago

0.1.0-beta.2

10 months ago

1.0.0

8 months ago

1.0.0-next.0

8 months ago

0.1.0-beta.1

10 months ago

0.1.0-beta.0

10 months ago

1.0.3

7 months ago

0.1.0

10 months ago

0.1.2

9 months ago

0.1.1

10 months ago

0.1.4

9 months ago

0.1.3

9 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

11 months ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago