Read with .call(), write with .send(): best practice for web3.js contract access
Separate read‑only contract access from state changes in web3.js. Use .call() for reads and .send() for writes, with explicit version notes, example code, and limitations.