Documentation
Contract Client
createContractClient

createContractClient

ContractClient provides a set of methods for interacting with TON smart contracts: deploy them, call their methods, read state, and more.

Import

import { createContractClient } from '@fotonjs/core';

Usage

Initialize the client with provided contract, public and wallet clients:

import { walletClient, publicClient, createContractClient } from './client';
import Contract from './Contract';
 
const contractClient = createContractClient({
  contract: Contract,
  publicClient,
  walletClient,
  address: '0:123...def',
});

Then you can call any of the contract's methods:

const state = await counterClient.read({
  getter: 'getState',
  arguments: [],
});

Parameters

contract

  • Type: CompiledContract

A contract class compiled from Tact or FunC language files. It must implement the Contract interface.

const contractClient = createContractClient({
  contract: Contract,
  publicClient,
  walletClient,
});

publicClient

  • Type: PublicClient

An instance of the PublicClient.

const contractClient = createContractClient({
  contract: Contract,
  publicClient,
  walletClient,
});

walletClient

  • Type: WalletClient

An instance of the WalletClient.

const contractClient = createContractClient({
  contract: Contract,
  publicClient,
  walletClient,
});

address (optional)

  • Type: string
  • Default: undefined

The address of the deployed contract on the blockchain. If not provided, write and read methods on the CounterClient will throw an error.