I have tried about a dozen crypto wallet apps on Android, including Metamask, and I haven't found a single one that:
- supports BSC (BNB Smart Chain)
- allows me to manually initiate and send a transaction to a smart contract with data. That is, basically, to interact with a smart contract at all.
EDIT: let me clarify, I mean an app that allows me to do that manually without the need for whoever wrote the contract to have also developed a website frontend that initiates the transaction for me. What I'm looking for is the ability to: go to Send, enter the recipient address (a contract's address), enter the hex data and hit Confirm/Send/Whatever. Just like you do on the Metamask browser extension.
Does anybody know one?
Actually I haven't even found one that satisfies the second requirement alone, even on the Ethereum network.
Metamask is the only one that does have the option, but it doesn't work. You need to go to Advanced Settings and enable an option to "Show hex data field in transactions", and then it does show a "hex data" field when you make a transaction, but it doesn't allow you to enter anything in it, so I don't know what's the point of that.
I'm shocked that I have spent one afternoon trying all the wallet apps that I could find in Google Play and none of them has the most basic feature that is expected of a wallet.
On desktop, the very first that I tried was the Metamask browser extension for Chrome and and it works.
Oh! It would be a plus if it also supported EIP-681 links. That is, you click on such a link from your default browser (e.g. Chrome) and it opens the wallet app and does the transaction. Again, MetaMask behaves as if it had this feature, but it's broken. It will actually send a transaction to the target address with the set amount, but with no data (and with no warning!), causing the transaction to fail and be reverted (which costs you the gas fees).