1. a decentralized dapp which is the client
    1. user performs an action
    2. txn is created by the dapp and sent to an rpc client
  2. rpc client
    1. routes the txn to a validator
  3. validator executes the instruction for our program
    1. program modifies the state of the ledger
  4. leader adds this txn to the actual ledger state