@cfxdevkit/core / ContractReader
Class: ContractReader
Defined in: packages/core/src/contracts/interaction/reader.ts:41
Contract Reader
Reads data from deployed contracts without modifying state. Supports both Core Space and eSpace contracts.
Example
const reader = new ContractReader(clientManager);
// Read ERC20 balance
const balance = await reader.read({
address: '0xToken...',
abi: ERC20_ABI,
functionName: 'balanceOf',
args: ['0xUser...'],
chain: 'evm'
});Constructors
Constructor
new ContractReader(
clientManager):ContractReader
Defined in: packages/core/src/contracts/interaction/reader.ts:42
Parameters
clientManager
Returns
ContractReader
Methods
batchRead()
batchRead<
T>(address,abi,calls,chain):Promise<T[]>
Defined in: packages/core/src/contracts/interaction/reader.ts:78
Batch read multiple values from same contract
Type Parameters
T
T = unknown
Parameters
address
string
Contract address
abi
unknown[]
Contract ABI
calls
object[]
Array of function calls
chain
Chain type
"core" | "evm"
Returns
Promise<T[]>
Array of results
getContractInfo()
getContractInfo(
address,chain):Promise<ContractInfo>
Defined in: packages/core/src/contracts/interaction/reader.ts:107
Get contract information
Parameters
address
string
Contract address
chain
Chain type
"core" | "evm"
Returns
Promise<ContractInfo>
Contract info
isContract()
isContract(
_address,_chain):Promise<boolean>
Defined in: packages/core/src/contracts/interaction/reader.ts:127
Check if address is a contract
Parameters
_address
string
Address to check
_chain
Chain type
"core" | "evm"
Returns
Promise<boolean>
true if contract exists
read()
read<
T>(options):Promise<T>
Defined in: packages/core/src/contracts/interaction/reader.ts:50
Read data from contract
Type Parameters
T
T = unknown
Parameters
options
Read configuration
Returns
Promise<T>
Function return value