docs ⦿ dedot 🧑‍💻
DedotXTelegramGithub
typink ✏️
typink ✏️
  • Welcome to Typink
  • Introducing Typink
  • Getting started
    • Start a new dapp
    • Migrate from existing dapp
    • Supported networks
  • create-typink CLI
  • Hooks & Providers
    • TypinkProvider
    • useTypink
    • useContract
    • useContractQuery
    • useContractTx
    • useDeployer & useDeployerTx
    • useWatchContractEvent
    • useBalance & useBalances
    • usePSP22Balance
  • Utilities
    • formatBalance
    • txToaster
    • dedot/utils
  • HELP & FAQ
    • Tutorials
      • Develop ink! dApp using Typink
  • Telegram
  • Github
Powered by GitBook
On this page
  • Well-known ink! contracts supported networks
  • Mainnet
  • Testnet
  • Development
  • Define & register custom network info

Was this helpful?

Edit on GitHub
  1. Getting started

Supported networks

Typink comes with existing information for some well-known ink! contract networks ready to use out of the box, but you can always define and register your own custom network into Typink.

Well-known ink! contracts supported networks

Mainnet

  • alephZero

  • astar

  • shiden

import { alephZero, astar, shiden } from 'typink'

<TypinkProvider
  ...
  supportedNetworks={[alephZero, astar, shiden]}
  defaultNetworkId={alephZero.id}>
  <MyAppComponent ... />
</TypinkProvider>

Testnet

  • popTestnet

  • alephZeroTestnet

  • shibuyaTestnet

import { popTestnet, alephZeroTestnet, shibuyaTestnet } from 'typink'

<TypinkProvider
  ...
  supportedNetworks={[popTestnet, alephZeroTestnet, shibuyaTestnet]}
  defaultNetworkId={popTestnet.id}>
  <MyAppComponent ... />
</TypinkProvider>

Development

  • development

import { development } from 'typink'

<TypinkProvider
  ...
  supportedNetworks={[development]}
  defaultNetworkId={development.id}>
  <MyAppComponent ... />
</TypinkProvider>

Define & register custom network info

You can define a new network info following the NetworkInfointerface:

type NetworkId = string;

enum JsonRpcApi {
  LEGACY = 'legacy',
  NEW = 'new',
}

interface NetworkInfo {
  id: NetworkId;
  name: string;
  logo: string;
  providers: string[];
  symbol: string;
  decimals: number;
  subscanUrl?: string;
  pjsUrl?: string;
  faucetUrl?: string;
  jsonRpcApi?: JsonRpcApi; // default to new
}

For example, let's add a custom network:

import { NetworkInfo } from 'typink';
const myNetwork: NetworkInfo = {
  id: 'my_network';
  name: 'My Network';
  logo: 'https://path/to/your/network/logo';
  providers: ['wss://mynetwork.dev'];
  symbol: 'MYN';
  decimals: 12;
}

Now we register myNetworkinto Typink to connect with the network

<TypinkProvider
  ...
  supportedNetworks={[myNetwork]}
  defaultNetworkId={myNetwork.id}>
  <MyAppComponent ... />
</TypinkProvider>

PreviousMigrate from existing dappNextcreate-typink CLI

Last updated 3 months ago

Was this helpful?