I’m just starting to learn about Solana(I don’t have Ethereum experience either). But the concept of accounts is a little confusing so I’m not sure whether I understand it correctly or not. So I’m going to explain what I understand from the docs and I appreciate it if anyone can correct my misunderstandings:
Even if I only have a Solana wallet(I don’t have any on-chain programs), that means there is an on-chain account which is holding the balance of my wallet.
The account that is holding the balance of my wallet is owned by the system program.
I can write a Solana program in Rust and then create an on-chain account to hold my program. Then I have to make it executable. After that I need to create another account(NOT executable) so that I can hold the state of my program. The non-executable account must be owned by the executable account.
Are these statements correct? If not, what’s wrong with them?