moneroexamples / onion-monero-blockchain-explorer

Onion Monero Blockchain Explorer
https://xmrchain.net
BSD 3-Clause "New" or "Revised" License
361 stars 269 forks source link

[Do Not Merge] Adding TX k-anonymity #289

Open ACK-J opened 1 year ago

ACK-J commented 1 year ago

Added /api/transaction/private/<TXID postfix hash> to the block explorer API so users can request transaction information in a private way.

Related to https://github.com/moneroexamples/onion-monero-blockchain-explorer/issues/284

ACK-J commented 1 year ago

k-anonymity for transactions now works however performance needs to improve. It takes 35 seconds to return 825 transactions on a somewhat resource limited virtual machine. @moneroexamples do you have any ideas? Maybe batching transactions?

moneroexamples commented 1 year ago

Thanks. Sorry, at the moment I do not know how to improve its performance.

ACK-J commented 1 year ago

I made some performance improvements which got the time down to 3 seconds to request 647 transactions. However, the use of get_transactions() requires the node RPC not be in restricted mode, or else only 100 transactions can be returned.

ACK-J commented 1 year ago

I made some additional performance improvements which got the time down to 0.5 seconds to request 647 transactions and 16 seconds for 10,000 txs. Adding threading helped a lot when > 1000 transactions are requested. These numbers are also from a low resource VM, I will test it on a high performance server soon. I suggest you run the daemon with the following flags to prevent LMDB max reader errors. ./monerod --stagenet --max-concurrency 60