- you should understand how accounts/PDAs work in solana first
- the signature/signing process and defining the program's address is basically the same as the other chains
- the main difference is txs pass number of accounts with read-only or write flags along with some amount of data to give to the program
- the data is just bytes usually defined [flag | input_data] where flag defines what function to run (usually programs have multiple different functions to run) and input_data is the data to give to the function
- this is also a good post on the lifecycle of txs: https://jstarry.notion.site/Transaction-confirmation-d5b8f4e09b9c4a70a1f263f82307d7ce