The get method should be used to read data from the blockchain without using resources. It can be used with an unfunded wallet or even without a wallet at all:
const contract =newContract(contractId, abi, provider);const { value } =await contract.functions.get_count().get();
The dryRun method should be used to dry-run a contract call. It does not spend resources and can be used with an unfunded wallet or even without a wallet at all:
const contract =newContract(contractId, abi, provider);const { value } =await contract.functions.increment_count(1).dryRun();
The simulate method should be used to dry-run a contract call, ensuring that the wallet used has sufficient funds to cover the transaction fees, without consuming any resources.
A funded wallet it's required:
const contract =newContract(contractId, abi, fundedWallet);const { value } =await contract.functions.increment_count(10).simulate();