I am working on an Ethereum solidity blockchain and I deploy smart contracts using truffle.js, I am a bit confused about how smart contracts work.
Is deploying a smart contract equivalent to instantiating it (I mean calling its constructor)?
Therefore each time I need to create a new instance of a smart contract, I actually need to deploy it?
The address resulting from the deployment is a pointer to an instance of a smart contract and not to the smart contract itself?