I've seen the existing similar questions on this topic. I probably still don't get it. So a question: Is it a correct analogy to the JS-Solidity world that
- the On-chain code corresponds to the SmartContract code I write in Solidity (and lives and executes on each node), while,
- the Off-chain code corresponds to the JS client code that shows the UI, prepares and invokes the transaction calls made into the blockchain, and executed by the Smart Contract?