dusk-network / rusk

Dusk's Smart Contract Platform
Mozilla Public License 2.0
129 stars 57 forks source link

Implement lazy loading for transactions #1293

Open kieranhall opened 7 months ago

kieranhall commented 7 months ago

The transactions page in the dashboard should allow the user to scroll all the way the their first transaction using a lazy loading approach.

Also see: dusk-network/web-wallet#112 Figma

kieranhall commented 6 months ago

Needs dusk-network/web-wallet#146 before starting

kieranhall commented 6 months ago

Due to limitations with my local node set up (presumably because it's not running in the Docker container due to the Apple Silicon issue), I need to use the testnet to implement this feature.

I need a wallet (mnemonic) that has a balance and (substantial) transaction history.

kieranhall commented 6 months ago

For some reason, when I use the same environment variables as on the staging environment (so that would be testnet settings), I get an error after every time I try to do a transaction. It doesn't matter what I do (manually delete local storages etc.)

Without being able to - in a developer environment - be able to make transactions, it's impossible to work on the transaction history / lazy loading.

CC: @Fulviuus @ascartabelli @Daksh14 @ZER0

walletStore.js:131 Function call 10 failed!

Image

Does anyone have any suggestions for me to unblock myself and proceed with this issue?

ascartabelli commented 6 months ago

@kieranhall I'll check with you later to see if we manage to make your dev environment working, but at this point I think it would be better to postpone the implementation of this in January and just focus on testing and bugs. Maybe we can just add https://github.com/dusk-network/web-wallet/issues/290 to main, as it's ready and its implementation is quite simple, but other than that I'd avoid adding new features now.

kieranhall commented 6 months ago

My localhost issues have been resolved now, so I can proceed to work on this feature. In any case, I will start working on a branch, since I think this is the next highest priority feature. However, I also agree we should focus on stability and bug fixes now.

kieranhall commented 6 months ago

@herr-seppia Can we discuss how we might be able to stream the transactions.

herr-seppia commented 6 months ago

Sure, but keep in mind that you cannot ask the user's transaction to the node.

Node is not aware of which transactions belong to the user.

kieranhall commented 6 months ago

Matteo mentioned at the node would need to change. I think we should arrange a meeting to discuss what is possible here.

kieranhall commented 4 months ago

Related issue: https://github.com/dusk-network/dusk-wallet-js/issues/72

Daksh14 commented 3 months ago

Matteo mentioned at the node would need to change. I think we should arrange a meeting to discuss what is possible here.

Currently we obtain one transaction history per HTTP POST request which is a big consumer of bandwith and is a big bottleneck.

Some changes would be needed in rusk before we can proceed with it

HDauven commented 1 week ago

Needs input from @Daksh14 and @ZER0