- I think a range is better, but that seems like a lot of work.
- The markets for each asset would be the most useful information to me (besides what's already deployed, which is great). I mean: for which other asset this asset have been or can be exchanged. It's impossible to discover that through the normal Horizon API endpoints. You're our only hope!
- I think we don't need multilingual anything. English is the lingua franca of the West. Perhaps people on the East think different, so then you would only need to add their languages. (By the way, I'm Brazilian. I would be willing to help on pt-BR translations.)
- I like the simplistic design and everything is very readable.
- I don't know.
StellarExpert|Explorer – ledger explorer and analytics platform
Thanks for sharing your thoughts, fiatjaf, umbrel, hatch
btw. you mentioned stellarchain above. have you seen my project https://steexp.com ?
Yeah, your project definitely has some interesting features, for example, direct access to operation
and effect
endpoints and raw JSON response view. I have a few questions, going to write a separate post on the steexp SBC thread.
I think range is definitely more useful, because you can show more charts ? like account balance over time would be super useful for me
Cool, requested charts will be available in a day or two.
I don't need multi-lingual, but if you decide to go for it I can help with Russian. Remember that it will greatly slow down your ability to do updates, when you want to change button label you will have to think about contacting 10 people to prepare translations in advance for each supported locale.
That's true, it won't work that way. I personally like the "en-first" approach, which implies that every element has at least "en" translation, and it is shown by default if the requested locale for that element not found.
Yes, age is good, size of the orderbook (at least against XLM) and spread, not just number of trades, but volume of trades
Great hint regarding the orderbook depth and spread! I will add both to the rating formula. As for volume, it's very complicated so far. Without Offer Created/Updated/Removed
effects I am unable to calculate cross-rates (for example, on BTC-JPY
trades) or recreate an orderbook at the time of trade. However, I can use information from XLM-{asset}
trade effects to show indicative prices and trade volumes.
The markets for each asset would be the most useful information to me (besides what's already deployed, which is great). I mean: for which other asset this asset have been or can be exchanged.
I can implement a pie-chart with percentage and volume of trades on all asset pairs where at least one trading effect occurred. Will it suit you?
As for exchange possibility, it seems to me that all available exchange options could be found through the find payment paths endpoint, if you know the source and destination assets. However, the list of all active exchange pairs may be interesting too. I will look into it.
Once all planned features will be added (in a few months or so), I'm going to introduce public API with detailed documentation, so everyone will be able to use it in their own projects. Therefore, if you need any additional statistical data or some advanced charts, let me know and I will add requested endpoints if it will be possible.
Again, thanks for the feedback, guys!
OrbitLens This is really nice, I like the clean design and lots of charts.
For your questions:
1. I agree with everyone else so far, "Range" would be my preference
2. "Age" would be a good thing to add. I'd also like to see how many people are using the asset, so maybe something like "median asset balance in all accounts with a trustline established" so you can tell if there are lots of holders?
3. My only language is English, so no comment on this one ?
4. Overall I like the design, can't think of anything I'd improve
5. I don't have a solution for your Horizon problem, but since you've done a lot of work on all these stats it might be worth the effort to parse the XDR history files instead of relying on Horizon or the SQL database.
One thing I'd like to see is a chart like you have for each asset but for XLM itself. It would be interesting to see things like how many accounts are created over time, average asset balance, etc. to get a feel for how the Stellar network is growing.
- Edited
Why is the URL for the assets pages appended with a -1
?
(Just to be clear: I'm not trying to scrape you.)
- Edited
median asset balance in all accounts with a trustline established
That's definitely a cool metric. The only issue I see here is a different market cost of tokens. For example, 1 JPY ~ 17 CNY, 1BTC ~ 53000 CNY. So the balance should be normalized. {ASSET}-XLM trading pair offers could be used to determine current price. Will include this metric into the asset rating index.
One thing I'd like to see is a chart like you have for each asset but for XLM itself.
Done. I've added the chart with XLM supply, accounts, trades, transfers and fee pool size to the home page. Check it out: http://stellar.expert/. You can zoom in the chart, just select the period you are interested in by dragging mouse pointer (if you are on a touch device then use standard "pinch" gesture).
The average asset balance is not representative without pre-processing (need to filter out the SDF, exchanges and accounts with minimal balance).
Why is the URL for the assets pages appended with a -1?
Each Stellar asset is described by three parameters: type
, code
and issuer
.
Type can be native
, alphanum-4
, oralphanum-12
. It's unclear from the official docs if account can issue two assets with the same code and different type. Say, GOLD (alphanum-4) and GOLD (alphanum-12). The system need to distinguish them somehow, so asset unique identifier in my explorer consists of three parts:
{code}-{issuer}-{type_code}
where type_code=1
for alphanum-4
assets, and type_code=2
for alphanum-12
assets.
Type code was added to the end of the identifier intentionally, so it may be safely removed in the future (it will be easy to set up redirects for backward compatibility).
Just to be clear: I'm not trying to scrape you.
I don't mind actually ?
To anyone who want to scrape the data: as I said, the API will be publicly available. Just wait a few weeks until the API is standardized, I want to implement Horizon-like JSON response convention.
OrbitLens That XLM chart you added to the home page is perfect, exactly what I had in mind!
Good point about normalizing the balance, maybe a simpler calculation would be "what percentage of accounts hold < 5% of the total supply?" A higher percentage there would mean the asset is more spread out instead of just held by the issuing account or a couple admin accounts.
As an example for MOBI, they're issuing 888,000,000 tokens, so 5% of that would be 4,4400,000. The number of accounts with < 4,4400,000 could give you an idea of how many different people owned it.
dzham fiatjaf Thanks for the hint. Updated asset links to the standard {code}-{issuer}
format.
However, internally the explorer stores asset descriptors in full format {code}-{issuer}-{type}
. @jedmccaleb says that asset type should be preserved in order to maintain compatibility with possible future changes: https://github.com/stellar/go/issues/142.
What is the definition of "Active accounts" in the graph on your landing page?
Looks like a number of accounts transacted during that week
I'm linking to the Asset explorer from https://telegram.me/stellarview_bot.
I'm linking to it from my swap widget ?
- Edited
jed "Active accounts" is a metric that shows total number of all Stellar accounts at the given point of time.
For example, this account was merged 22 Nov 2015. So 21 Nov it will be considered as active (+1 in "Active account" metric), but metric value calculated for 23 Nov ignores it, as it is considered deleted.
To make things more clear,
active_accounts=({count of account_created effects} - {count of account_merged effects})
at given point of time.
Edit:
The value for this metric was calculated wrong, it was rather "sum of all established trustlines on all assets". Now it corresponds to real number of active accounts. Thanks for pointing out, @jed
OrbitLens: for the bugtracker you could just use github issues.
so active accounts = select count(*) from accounts; in the stellar-core db
I would just call it "# of accounts"
Are you looking in the stellar core DB for this site?
- Edited
Are you looking in the stellar core DB for this site?
No, I'm using fully-synced Horizon DB instance with some optimizations for queries performance (materialized views, triggers etc). Stellar-core DB has only up-to-date information on the accounts and ledgers status. In order to query historical data, I have to rely on the history_effects
table.
By the way, I stumbled upon the strange thing:
select count(*) from accounts
returns 81048
-- increment counter for account_created effect and decrement on account_removed
SELECT sum(CASE WHEN type = 0 THEN 1 WHEN type = 1 THEN -1 END)
FROM history_effects
WHERE type IN (0, 1)
returns 80890
Horizon and Core are fully synced, history_latest_ledger
= core_latest_ledger
. My only guess is that core
DB at this time holds only the last 282,911 ledgers, while history
DB contains all ledgers from the sequence 1. Nevertheless, it looks like the core db shouldn't hold dead accounts, so I'm confused here. Am I missing something?
OrbitLens: for the bugtracker you could just use github issues.
You see, I'm an old fan of Atlassian Jira ?, YouTrack also performs nicely. I'm going to compare both and see where the basic cloud plan has free public accounts feature.
I would just call it "# of accounts"
? will rename it on the next release.
If you have any other ideas on the features or UX, I will be grateful for feedback.
- Edited
[Update]
The time-traveling engine for assets is ready.
Examples:
- Let's see what happened with XLM on 9 Oct 2017:
https://stellar.expert/explorer/asset/native?ts=2017-10-10 - Generate a report on XRP asset for Q2 2017:
https://stellar.expert/explorer/asset/XRP-GA...NZ?ts=2017-06-30 - How many transfers were on BTC asset till 2017 year:
https://stellar.expert/explorer/asset/BTC-GA...CH?filter=transfers&ts=2017-01-01
UI has a few bugs and requires polishing. Please let me know if something is not working as expected.
The same functionality for accounts will be ready in a day or two.
[Update]
- Point-in-time snapshots now available for accounts
(for example, https://stellar.expert/explorer/account/...43RFOX?ts=2017-08-15) - The account history chart shows historical balance of all assets
- Circulating supply for assets created by the account is displayed in a form of a negative asset balance on account history chart (negative because trustline is, in fact, a credit line). The diagram replicates asset's supply history chart.
(see any anchor history for example: https://stellar.expert/...4BBYOG) - History range selection disabled due to reportedly confusing behavior. Because of the nature of ranged data queries charts may contain negative account balances or asset circulating supply. For instance, the account balance may be negative on the chart if a user sent some funds during the considered period.
Point-in-time snapshots work for both asset and account interfaces. The displayed data (stats, effects, charts) is calculated on all effects between the first ledger and the selected date. - A few XLM tickers (current USD price, market cap, trading volume) were added to the homepage.