bitshares / bitshares-ui

Fully featured Graphical User Interface / Reference Wallet for the BitShares Blockchain
https://wallet.bitshares.org
MIT License
518 stars 569 forks source link

Rich list data #2784

Open CryptoKong opened 5 years ago

CryptoKong commented 5 years ago

One of the benefits to traders of trading crypto assets and using decentralised exchanges is being able to see what is happening on the blockchain. What are the whales doing? Who's buying and selling what? Etc. We should provide better information for users to be able to take advantage of this information.

Some will say that this is what block explorers are for but we should tailor this information to be suited for traders to benefit from and create a unique feature for the Dex.

I suggest a page that lists wallets where a user can sort by largest/ smallest BTS holdings (or any other selected asset) and shows percentage increase/ decreases of holdings over varying periods.

Information should be available on which wallets are creating smart coins over a given time so users can see which accounts are opening/ closing margin positions.

Information on assets transferred so users can see who is moving large amounts of funds.

Charts would also be helpful so this is easy on the eye.

This might not only benefit traders but help us better understand who/ when and why our smart coins are being created.

startailcoon commented 5 years ago

All good suggestion in my opinion. As all the information is in the chain, there is nothing stopping us from making good use of it, and making this directly inside the wallet client is a good feature.

The only issue here would be to collect the data, perhaps we need to ask the core team to add a few new API calls and data buckets?

matle85 commented 5 years ago

Basically an integrated blockchain explorer?

Sounds like a really good idea, particularly considering the broad range of assets available on the DEX - it would be nice for people to be able to get some more details easily.

I would also like to see us becoming more of an ERC20 style 'token factory' so something like this would help people understand a little better the token they are looking at (i.e. is it all just held by 1-2 people etc).

So yeah, good suggestion. Support!

abitmore commented 5 years ago

IMHO don't duplicate efforts. All the blockchain explorers have such lists already, why implement it again in the wallet, especially, when we have lots of bugs waiting for fix?

CryptoKong commented 5 years ago

IMHO don't duplicate efforts. All the blockchain explorers have such lists already, why implement it again in the wallet, especially, when we have lots of bugs waiting for fix?

Which blockchain explorer can I find a rich list of any given asset and see information such as whether they are accumulating/ or distributing over given periods (asset balance increase/ decrease over given periods of time)

The point is to make this information easily available and easy to interpret by the user, creating a unique feature to BitShares trading.

abitmore commented 5 years ago

over given periods of time

No. It won't be in reference wallet either.

Basically you mean we need a data mining worker. There was one proposed by bts.ai team, but didn't get approved.

CryptoKong commented 5 years ago

I dont know the details of the data mining worker but if that is what is required to provide a decent level of info then yes you are right. Is there not basic info we could add to asset pages fairly easily?

abitmore commented 5 years ago

There is a set of asset_api in core which can be used to fetch info about asset holders. However, the design/implementation has performance issues (no pagination or no limit) so it's not enabled by default, so most of API nodes don't provide this API set.

By the way, account balances are indexed (sorted) on chain already. However, it's a bit expensive to maintain the index. We've ever seek to remove the index for better performance. See https://github.com/bitshares/bitshares-core/issues/1083.

abitmore commented 5 years ago

Alternatively, we can fetch data from ES, like https://open-explorer.io/#/assets/1.3.0, data source: https://explorer.bitshares-kibana.info/asset_holders?asset_id=1.3.0

dls-cipher commented 5 years ago

Alternatively, we can fetch data from ES, like https://open-explorer.io/#/assets/1.3.0, data source: https://explorer.bitshares-kibana.info/asset_holders?asset_id=1.3.0

I've mentioned somewhere in Telegram that block explorers and ES have such data that can be pulled into the WalletUI by creating new blank page with calls to the explorers/ES itself. Similar to bitshares.org have with blocktivity table list of blockchain activities.

Now, unfortunate part would be to have one reliable explorer/ES that will not have random replays or restarts we can't control, otherwise page would be loading nonsense or would not be loading at all - and its a problem for end-user in wallet.

If we could be able to pool data such as cryptofresh.com has on assets

it would be already enough to give each trader/market maker some better info which markets to join or how to take advantage on it. Relying on explorers that are not always on, or newcomers who don't know where to look, current INFO in reference UI on it is slim/none.

It's just an opinion, not trying to argue if you're saying no for this in Wallet, but would love to get feedback.

abitmore commented 5 years ago

To get data from ES, we need https://github.com/bitshares/bitshares-ui/issues/1733 which is one year old with little progress. More discussion in https://github.com/bitshares/bitshares-ui/issues/1734.

sschiessl-bcp commented 5 years ago

To get data from ES, we need #1733 which is one year old with little progress. More discussion in #1734.

One hindrance is the availability of ES. Full dependency could only be done with a really distributed setup across the world.

@dls-cipher will you be hosting public ES instances as well?

abitmore commented 5 years ago

I think we can ask witnesses to host public ES instances when the UI started using it heavily.

dls-cipher commented 5 years ago

To get data from ES, we need #1733 which is one year old with little progress. More discussion in #1734.

One hindrance is the availability of ES. Full dependency could only be done with a really distributed setup across the world.

@dls-cipher will you be hosting public ES instances as well?

Yeah, 3 coming up. Currently chasing normal votes because current funds cant cover 3 co-locations, and i'm not sending my own hardware without being sure I can cover costs/safety for it.

Thai one will be available next week, for that its hosted with me, for 2 other - as explained.