Reown TypeScript
Installation
npm install @reown/appkit @reown/appkit-adapter-wagmi wagmi viem
You can find more details about the installation in the Reown documentation.
Implementation
You can find an example implementation below for a vanilla TypeScript app:
src/reown.ts
import { createAppKit } from '@reown/appkit';
import { zksync } from '@reown/appkit/networks';
import { WagmiAdapter } from '@reown/appkit-adapter-wagmi';
export function setupReown() {
// 1. Get a project ID at https://dashboard.reown.com
const projectId = 'YOUR_PROJECT_ID';
const networks = [zksync];
// 2. Set up Wagmi adapter
const wagmiAdapter = new WagmiAdapter({
projectId,
networks,
});
// 3. Configure the metadata
const metadata = {
name: 'AppKit',
description: 'AppKit Example',
url: 'https://example.com', // origin must match your domain & subdomain
icons: ['https://avatars.githubusercontent.com/u/179229932'],
};
// 3. Create the modal
const modal = createAppKit({
adapters: [wagmiAdapter],
networks: [zksync],
metadata,
projectId,
features: {
analytics: true, // Optional - defaults to your Cloud configuration
},
});
// 4. Trigger modal programaticaly
const openConnectModalBtn = document.getElementById('open-connect-modal');
const openNetworkModalBtn = document.getElementById('open-network-modal');
openConnectModalBtn?.addEventListener('click', () => modal.open());
openNetworkModalBtn?.addEventListener('click', () => modal.open({ view: 'Networks' }));
}
src/main.ts
import { setupReown } from './reown.ts';
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
<div>
<appkit-button />
</div>
`;
setupReown();