Cajga
1) What are you doing with stale requests which stays there for long time?
Timeouts... I'm leaning towards a 24h timeout right now.
I feel like that ought to be plenty of time for all the signers of a transaction to make a decision.
2) Do you use some mechanisms to prevent Denial of Service?
Not yet, but it's on the radar. Rate-limiting, most likely.
3) Do you deal with notifications somehow?
Clients connect to a hub, where they
1) subscribe to messages related to their account(s) through server-side events
2) submit messages to a REST api endpoint
4) if I am not mistaken you use IPFS in the background. Did you encounter any issues with it during development (they do not recommend it for production use yet)?
I do. Nothing so far, it's been smooth sailing pretty much.
I'm using OrbitDB, which is a layer on top of IPFS that implements a distributed database using conflict-free replicated data types (CRDTs). OrbitDB has a database type called "feed", which is basically a (trimmable) message log. I just open up a number of those; one per network, one per transaction, one per signer.