bitshares / bitshares/bitshares-ui

[7] Distribute transactions over full 3 seconds to UI

Open
#1,985 23 comments 0 reactions 0 assignees View on GitHub
[1b] User Story [2] Advanced Issue [2] Needs Discussion [3] Feature [4a] Low Priority
Dominant language
JavaScript
Stars
520
Forks
575
Avg merge
12h 7m
Merged PRs (30d)
5

Description

**Is your feature request related to a problem? Please describe.**
This is a more of a perception problem, but since perception is an important factor when talking about markets, I think it's worth discussion. @startailcoon and @ryanRfox discussed this with me while on a call and I'd like to formalize it here.

BTS blocks are 3 seconds but there can be many transactions in a single block. Our wallet rather simplistically updates the Exchange every 3 seconds, but in the eyes of a casual user it makes the exchange feel very slow. I am proposing that for each block we:

- count the number of transactions and divide 3 by that number of transactions to determine the update interval. We then deliver 1 transaction to the frontend per interval.

Example:

30 transactions are contained in a block
3/30 = .1

We deliver 1 transaction to the UI every .1 seconds. This will create a uniform flow to the exchange and also to user assets, portfolio value, etc. This coupled with our home page featuring active markets might have the intended effect of showing a constant stream of liquidity.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the wallet's Exchange update flow and block transaction handling; the issue does not name specific files or tests. Compare the current three-second update behavior with the proposed per-transaction timing, and define done as transactions and related UI values appearing evenly across each three-second block.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
blockchain, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.