Users, when using public-blockchain-based decentralized applications (dApps), are typically responsible for two things: Signing transactions using their private keys to invoke smart contract functions, and Paying crypto for their transactions to be executed and included in the public ledger. The second responsibility requires users to be able to acquire and…