I'm just learning the tools on heders.
Can we use only hethers.js to interact with smart contracts and what is the best way to read state from the hedera hashgraph?
I had read that also read functions are chargeable? Is this correct?
It isn't clear to me the distinction between using the hederak sdk and tools like hethers.js.
Yes, you can use hethers.js to deploy and interact with smart contracts. hethers.js is a fork of ethers.js and modified to make it compatible with Hedera network. Basically hethers.js = Hedera SDK + ethers.js
You can use either hethers.js or Hedera SDK to deploy and interact with smart contracts based on your preference.
However, since Hedera now have built JSON RPC Relay and have public servers (hashio) running, you can now use ethers.js to deploy and interact with smart contracts on Hedera.
So if you are starting a new project, I would recommend ethers.js or Hedera SDK.