I'm working on a web project where I need to have the ability to accept crypto payments. Implementing bitcoin was fairly easy as there were api's whom allowed me to directly subscribe to a specific address and handle the rest that way, but with ethereum I find this to be much harder.
I'm working with a Nodejs server, I have installed and read the docs to web3js; with Infura as a provider, and I've come to the conclusion that I either need to
- Write a smart contract - firing events when payments to my address are received
- Subscribe to all new transactions and look for my address to pop up.
It feels like there has to be a better way to do this "simple" task. As of what I have heard, you simply can't use Web3 to subscribe to a "non contract address" which makes everything a bit harder.
What is the best thing to do in my situation? Write a smart contract to handle the incoming transactions
Iterate through all new transactions and look for my "subscribed" addresses to pop up?
Can this be achieved any other way than using my examples from above?
As it may sound - I would consider myself to be rather lost at this point. All guidance is deeply appreciated.