KlayKit logo
KlayKit
0.1.1

Installation

Get up and running with KlayKit

You can scaffold a new KlayKit + wagmi + Next.js app with one of the following commands, using your package manager of choice:

npm init klaykit@latest
# or
yarn create klaykit@latest
# or
pnpm create klaykit@latest

This will prompt you for a project name, generate a new directory containing a boilerplate project, and install all required dependencies.

Alternatively, you can manually integrate KlayKit into your existing project.

Install KlayKit and its peer dependencies, wagmi and ethers.

npm install klaykit wagmi ethers

Note: klaykit is a React library.

Import klaykit, wagmi, and ethers.

import 'klaykit/styles.css';
import { RainbowKitProvider, getDefaultWallets, Baobab, Cypress, } from 'klaykit';
import { configureChains, createClient, WagmiConfig } from 'wagmi';

Configure your desired chains and generate the required connectors. You will also need to setup a wagmi client.

...
const { chains, provider } = configureChains(
[Cypress, Baobab],
[jsonRpcProvider({ rpc: chain => ({ http: chain.rpcUrls.default }) })]
);
const { connectors } = getDefaultWallets({
chains
});
const wagmiClient = createClient({
autoConnect: true,
connectors,
provider
})

Read more about configuring chains & providers with wagmi.

Wrap your application with RainbowKitProvider and WagmiConfig.

const App = () => {
return (
<WagmiConfig client={wagmiClient}>
<RainbowKitProvider chains={chains}>
<YourApp />
</RainbowKitProvider>
</WagmiConfig>
);
};

Then, in your app, import and render the ConnectButton component.

import { ConnectButton } from 'klaykit';
export const YourApp = () => {
return <ConnectButton />;
};

KlayKit will now handle your user's wallet selection, display wallet/transaction information and handle network/wallet switching.

Some build tools will require additional setup.

If your bundler doesn't provide Node polyfills (e.g. Vite), you'll need to include polyfills for global, Buffer and process.env. As an example, you can reference the polyfills in our sample Vite project.

When using Remix, KlayKit must be added to your list of server dependencies since it's published as an ESM package.

Now that your users can connect their wallets, you can start building out the rest of your app using wagmi.

Send transactions, interact with contracts, resolve ENS details and much more with wagmi’s comprehensive suite of React Hooks.

For more detail, view the wagmi documentation.

To see some running examples of KlayKit, or even use them to automatically scaffold a new project, check out the official examples.

To try KlayKit directly in your browser, check out the CodeSandbox links below: