Web3-библиотеки (например, Ethers.js и viem) являются прослойкой между off-chain приложением и EVM-цепью. Их задача — превратить пользовательское намерение (вызвать функцию, прочитать значение, отправить транзакцию) в корректный формат данных для сети и вернуть результат обратно в удобной форме. Для этого используются три ключевые опоры: ABI, JSON-RPC запросы и модель аккаунта/ключей на стороне приложения.
ABI как контрактная «грамматика»