What is a call?

Call and Transfer Function

What is a transaction?

Call and Transfer Function

When to use either of them?

If we want to read data, then we need to use call.

For Example,

If we want to check the balance of the contract then we use call.

If we want to write data, then we need to use transaction.

For Example,

If we want to transfer a token or send an ETH from one contract to another, then we need to use Transaction.