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