We don't expect an end user to be interacting with the geth console to access the smart contract or other Ethereum properties. It generally happens through a user interface. So, there needs to be a way by which applications can interact with the Ethereum blockchain. Ethereum allows connections via RPC and IPC, using which an application or user can interact with the distributed ledger.
This chapter mainly focuses on several ways to interact with your smart contract, which is deployed on the Ethereum main network. You will learn about web3.js and other libraries that will help you to build a decentralized application.