Mesquka - Ecosystem Tools (Price Charts Addition)

What privacy problem are you solving?

As incognito is currently a very young project, it lacks the ecosystem tools of more mature cryptocurrency projects. For example, DEX projects on Ethereum enjoy use of etherscan.io and pools.fyi.

What is the solution?

Build them for Incognito, provide frameworks to allow easier development.

Who are your direct and indirect competitors? Why is your solution better?

If pools.fyi or a similar website were to integrate stats for incognito they would be a direct competitor. I’d consider this a success though since it means better adoption of Incognito.

Who are you?

I’m a developer, occasionally contributing to cryptocurrency projects that I believe in. I occasionally post stuff on twitter and a few other places. I have a few running open source projects on my github as well.

Why do you care?

I am a proponent of privacy and believe in cryptocurrency as a tool to bring more economic freedom, the perfect match for Incognito.

Schedule/Budget

Development has already started, and the current feature-set is usable at incognito.mesquka.com. Code is viewable at github.com/mesquka/incognito-tool. This proposal is to explore the possibility of funding future development and allowing me to spend more time on Incognito-related projects.

Deliverable ETA Budget Status
Node Status complete 100 PRV complete
Support Multiple Nodes complete 100 PRV complete
Network Stats Dashboard complete 100 PRV complete
Tokens List complete 40 PRV complete
Incognito (PRV) price ticker 2020-02-26T16:00:00Z 200 PRV complete (2020-02-23T16:00:00Z)
Update App Data Storage/Updating 2020-02-29T16:00:00Z 100 PRV complete (2020-02-27T16:00:00Z)
Price History Chart 2020-03-05T16:00:00Z 400 PRV complete(2020-03-04T16:00:00Z)
Support Multiple pDEX Pairs 2020-03-09T16:00:00Z 200 PRV complete(2020-03-09T16:00:00Z)
UI Update - User Friendliness 2020-03-19T16:00:00Z 400 PRV complete (2020-03-19T16:00:00Z)

*Completed prior to submitting proposal, would be good to have a discussion on whether we should consider retroactive funding for projects that have already commenced.
**Completed after submitting proposal but before the proposal was accepted, would be good to have a discussion on whether this should receive funding this as well.

Update App Data Storage/Updating
The current app architecture fires off a lot of unnecessary network requests and has a fairly monolithic data update mechanism. To support more features the data update mechanism needs to be replaced.

UI Update - User Friendliness
It isn’t immediately obvious what most elements/settings do, a UI update is needed with clearer purposes for everything, proper error reporting, and obvious indicators when the app is doing something in the background.

16 Likes

This is such a good proposal. How long did you work on these tools so far?

About a month so far

Current progress:
Putting together price history charts, on track to meet ETA.

Deliverable ETA Budget Status
Node Status complete 100 PRV complete
Support Multiple Nodes complete 100 PRV complete
Network Stats Dashboard complete 100 PRV complete
Tokens List complete 40 PRV complete
Incognito (PRV) price ticker 2020-02-26T16:00:00Z 200 PRV complete (2020-02-23T16:00:00Z)
Update App Data Storage/Updating 2020-02-29T16:00:00Z 100 PRV complete (2020-02-27T16:00:00Z)
Price History Chart 2020-03-05T16:00:00Z 400 PRV incomplete
Support Multiple pDEX Pairs 2020-03-09T16:00:00Z 200 PRV incomplete
UI Update - User Friendliness 2020-03-19T16:00:00Z 400 PRV incomplete
6 Likes

Hi @mesquka thank you for progress update. Your funding is approved the first part will landed in your PRV wallet soon :slight_smile:

Update: Had expected to get the Price History Chart completed ahead of time, unfortunately it seems performant charting libraries seem to be pretty difficult to find. I’m going ahead with the non-commercial license on highcharts for now as that’s what CoinMarketCap uses, will revisit during the UI update for something more suitable.

4 Likes

Update: It’s becoming apparent that the current APIs for price history isn’t going to cut it. Real-time loading isn’t possible, so I’ve implemented a load-into-cache and then display from that, optimising slightly by loading longer intervals for older data. Building up the cache takes about 220 seconds. I’d suggest storing things in an InfluxDB instance on the backend, which would allow for easier and more performant querying. Would this be something that the Incognito team could host if I were to write the code for it? @andrey @Peter

1 Like

Progress Update:

Deliverable ETA Budget Status
Node Status complete 100 PRV complete
Support Multiple Nodes complete 100 PRV complete
Network Stats Dashboard complete 100 PRV complete
Tokens List complete 40 PRV complete
Incognito (PRV) price ticker 2020-02-26T16:00:00Z 200 PRV complete (2020-02-23T16:00:00Z)
Update App Data Storage/Updating 2020-02-29T16:00:00Z 100 PRV complete (2020-02-27T16:00:00Z)
Price History Chart 2020-03-05T16:00:00Z 400 PRV complete(2020-03-04T16:00:00Z)
Support Multiple pDEX Pairs 2020-03-09T16:00:00Z 200 PRV incomplete
UI Update - User Friendliness 2020-03-19T16:00:00Z 400 PRV incomplete

I’ve had to lower the precision on the price chart for performance reasons, price is grabbed from the pDEX for every 2000 blocks. Awaiting server-side solution to solve this (see above post).

Hey, this is really awesome work so far and definitely very valuable products, especially the PRV-USDT price history launched today.

Can I make one proposal?

Having a daily tracker for Transactions on Incognito. Similar to proce history but just for daily transactions so we can monitor the growth or shrink of the network.

What do you guys think?

Yep, I’d be open to adding that in, though this starts to move into needing server side stuff. I’ll add it to the queue to deal with after the price history.

1 Like

@binh @thaibao can we host this for @mesquka?

1 Like

@duy I think no problem.

1 Like

@mesquka the update looks good! 1040 PRV has been disbursed for Feb.
Funding will continue to be disbursed every subsequent week dependent on progress, so keep the community posted!

1 Like

Progress Update:

Deliverable ETA Budget Status
Node Status complete 100 PRV complete
Support Multiple Nodes complete 100 PRV complete
Network Stats Dashboard complete 100 PRV complete
Tokens List complete 40 PRV complete
Incognito (PRV) price ticker 2020-02-26T16:00:00Z 200 PRV complete (2020-02-23T16:00:00Z)
Update App Data Storage/Updating 2020-02-29T16:00:00Z 100 PRV complete (2020-02-27T16:00:00Z)
Price History Chart 2020-03-05T16:00:00Z 400 PRV complete(2020-03-04T16:00:00Z)
Support Multiple pDEX Pairs 2020-03-09T16:00:00Z 200 PRV complete(2020-03-09T16:00:00Z)
UI Update - User Friendliness 2020-03-19T16:00:00Z 400 PRV incomplete

I’m aware that some pairs (PRV-pONE and PRV-pXYO) have extreme numbers. I’m looking into those. The rest of the pairs work.

3 Likes

Since I haven’t posted an update in a while, here’s a screenshot on the UI redesign so far (dark mode).

Screenshot_20200313-103321

5 Likes

Aaaaaaand it’s done! Dark mode UI is live.

Deliverable ETA Budget Status
Node Status complete 100 PRV complete
Support Multiple Nodes complete 100 PRV complete
Network Stats Dashboard complete 100 PRV complete
Tokens List complete 40 PRV complete
Incognito (PRV) price ticker 2020-02-26T16:00:00Z 200 PRV complete (2020-02-23T16:00:00Z)
Update App Data Storage/Updating 2020-02-29T16:00:00Z 100 PRV complete (2020-02-27T16:00:00Z)
Price History Chart 2020-03-05T16:00:00Z 400 PRV complete(2020-03-04T16:00:00Z)
Support Multiple pDEX Pairs 2020-03-09T16:00:00Z 200 PRV complete(2020-03-09T16:00:00Z)
UI Update - User Friendliness 2020-03-19T16:00:00Z 400 PRV complete (2020-03-19T16:00:00Z)

I’ve started a topic to discuss further development: https://incognito.org/t/976

7 Likes

Hey @mesquka thanks for making it done!
Congrats with the first finished proposal!

@annie looks like we could review the results, prepare the last PRV transfer (600 PRV if I am not mistaken) and move the proposal to archive.

1 Like

Hey @mesquka, imho there is a bug. After the data reduction, I’m synching my node again. Although the synchronization still goes on and my node is in the list of candidates, the website shows it as in committee and shard id is changing frequently. I reset the settings but the issue persists. This may have nothing to do with the website but API.

1 Like

I’ve noticed the same before. When my pNodes resync the blockchain data, @mesquka’s tool will show my pNode going in (and out) of committee shards. However this will not be reflected as such when referencing mainnet.incognito.org/committees.

I’ve assumed this was because my pNode was in committee for the particular past block the tool is displaying. Once the tool catches up to the current beacon height, it will again show the current status.

1 Like

The app queries the node to get it’s mining key and then queries the node at mainnet.incognito.org/fullnode to get the status. I’ll have to look into this to figure out what part of the pipeline causes it to display the wrong status. Perhaps someone on the incognito team could chime in? Does the BLS mining key change between epochs?

2 Likes