Mirroring https://github.com/anza-xyz/wallet-adapter

Jordan Sexton 26b78a12da .nojekyll file 4 years ago
packages 4e5d3358cd remove rollup, use tsc for build (#3) 4 years ago
.editorconfig 28dc8100e7 initial commit 4 years ago
.eslintignore 28dc8100e7 initial commit 4 years ago
.eslintrc.json 28dc8100e7 initial commit 4 years ago
.gitignore 7e112fec90 add rollup and configure build 4 years ago
.nojekyll 26b78a12da .nojekyll file 4 years ago
.prettierignore 28dc8100e7 initial commit 4 years ago
.prettierrc 28dc8100e7 initial commit 4 years ago
LICENSE 28dc8100e7 initial commit 4 years ago
README.md 9311ee0b3d readme version bump 4 years ago
lerna.json 28dc8100e7 initial commit 4 years ago
package.json 4e5d3358cd remove rollup, use tsc for build (#3) 4 years ago
tsconfig.json 4e5d3358cd remove rollup, use tsc for build (#3) 4 years ago
yarn.lock 4e5d3358cd remove rollup, use tsc for build (#3) 4 years ago

README.md

@solana/wallet-adapter

TypeScript wallet adapters and components for Solana applications.

Quick Links

Quick Setup (using React with Material UI)

Install

Install these peer dependencies (or skip this if you have them already):

yarn add @material-ui/core \
         @material-ui/icons \
         @solana/web3.js \
         react

Install these dependencies:

yarn add \
         # Wallets to use
         @solana/wallet-adapter-wallets \
         # React hooks and context for wallets
         @solana/wallet-adapter-react \
         # Simple components for connecting a wallet
         @solana/wallet-adapter-material-ui

Code

import React, { FC, useMemo } from 'react';
import { WalletProvider } from '@solana/wallet-adapter-react';
import {
    getLedgerWallet,
    getMathWallet,
    getPhantomWallet,
    getSolletWallet,
    getSolongWallet,
    getTorusWallet,
} from '@solana/wallet-adapter-wallets';
import {
    WalletConnectButton,
    WalletDialogProvider,
    WalletDisconnectButton,
    WalletMultiButton,
} from '@solana/wallet-adapter-material-ui';

export const Wallet: FC = () => {
    const wallets = useMemo(() => [
        getPhantomWallet(),
        getLedgerWallet(),
        getTorusWallet({ clientId: 'Go to https://developer.tor.us and create a client ID' }),
        getSolongWallet(),
        getMathWallet(),
        getSolletWallet(),
    ], []);

    return (
        <WalletProvider wallets={wallets} autoConnect>
            <WalletDialogProvider>
                <WalletMultiButton/>
                <WalletDisconnectButton/>
            </WalletDialogProvider>
        </WalletProvider>
    );
};

Packages

npm version code
@solana/wallet-adapter-wallets 0.3.0 packages/wallets
@solana/wallet-adapter-react 0.3.0 packages/react
@solana/wallet-adapter-base 0.3.0 packages/base
@solana/wallet-adapter-torus 0.3.0 packages/torus
@solana/wallet-adapter-ledger 0.3.0 packages/ledger
@solana/wallet-adapter-sollet 0.3.0 packages/sollet
@solana/wallet-adapter-phantom 0.3.0 packages/phantom
@solana/wallet-adapter-solong 0.3.0 packages/solong
@solana/wallet-adapter-mathwallet 0.3.0 packages/mathwallet
@solana/wallet-adapter-material-ui 0.3.0 packages/material-ui
@solana/wallet-adapter-example 0.3.0 packages/example