Skip to content

nickmura/ethwaterloo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jul 25, 2023
cc88997 · Jul 25, 2023

History

61 Commits
Jul 25, 2023
Jul 25, 2023
Jul 4, 2023
Jun 23, 2023
Jun 23, 2023
Jul 8, 2023
Jun 23, 2023
Jun 24, 2023
Jun 25, 2023
Jun 23, 2023
Jun 23, 2023
Jul 8, 2023

Repository files navigation

Svelte Kit Ethers Template

Basic Setup

Install dependencies

yarn

Enter your own or a RPC provider endpoint for your project in the rpcUrl parameter of ./src/lib/config.ts to make on-chain calls, and interact with Metamask, etc. You can use the default RPC provider used, or replace https://rpc.ankr.com/eth with your RPC provider.

export const NETWORKS: Network[] = [
  {
    chainId: 1,
    rpcUrl: 'https://rpc.ankr.com/eth', // Your RPC endpoint, add here
...

Start development server

yarn dev

Building Before creating a production version of your app, install an adapter for your target environment. Then:

yarn build

Features

Wallet & Providers

After adding a list of networks in ./src/lib/config.ts, you have access to ethers providers for each network.

import { networkProviders: { [chainId: string]: providers.JsonRpcProvider } } from '$lib/stores/provider'

Methods to connect wallets

  • connectMetamask - Connect Metamask or other injected wallets
  • connectWalletConnect - Wallet Connect Connection
  • and disconnect

Stores for the connection information are also provided

import {
    accountChainId,
    accountProvider,
    connected,
    walletAddress
} from '$lib/stores/provider'
  • accountChainId - { chainId: number, supportedNetwork: boolean } supportedNetwork is true if you have provided configuration options for this network
  • accountProvider - EIP-11933 compliant provider object. Generally used with ethers.providers.Web3Provider($accountProvider)
  • connected - boolean
  • walletAddress - Defaults to 0x0000000000000000000000000000000000000000 if not connected

Contract State Syncing

In src/lib/globalState.ts is an example usage of ether-state - A library for syncing the state of smart contracts in your frontend.