Skip to main content
Version: 4.22.0

🔌 Connect a deployed contract

Once your provider is initialized, you can connect a contract already deployed in the network.

You need 2 data :

  • the address of the contract
  • the ABI file of the contract (or the compiled contract file, that includes the abi)

If you don't have the abi file, the provider.getClassAt() command can help you.

When possible, prefer to read the compiled contract from a local Json file, as it's much more faster, using the json.parse util provided by Starknet.js, as shown below.

Get the abi from a compiled file​

import { Provider, Contract, json } from "starknet";

If you have the compiled file of the contract, use this code to recover all data, including ABI :

const compiledContract = json.parse(fs.readFileSync("./compiledContracts/test.json").toString("ascii"));

Note the json.parse util provided by Starknet.js

Connect the contract​

// initialize provider
const provider = new Provider({ sequencer: { baseUrl:"goerli-alpha" } });

// initialize deployed contract
const testAddress = "0x7667469b8e93faa642573078b6bf8c790d3a6184b2a1bb39c5c923a732862e1";
const compiledTest = json.parse(fs.readFileSync("./compiledContracts/test.json").toString("ascii"));

// connect the contract
const myTestContract = new Contract(compiledTest.abi, testAddress, provider);