Try it at https://stellar.expert/

Stellar Network is awesome from the technical point of view. And one of the killer-features that made it so popular is custom assets in conjunction with the decentralized exchange. However, https://stellarchain.io/ and other ledger explorers lack the possibility that became the standard for other popular blockchains – the ability to view asset stats and monitor its transactions.

I designed a service inspired by the https://etherscan.io/ block explorer.

Key features

  • List of all assets that have ever been created
  • Detailed asset stats including:
    • circulating asset supply
    • creation date
    • total transactions count
    • total trades count
    • total trades count
    • asset holders
    • market price
    • overall trading amount
  • All asset-related operations:
    • transactions
    • trades
    • established trustlines
  • List of accounts holding the asset with distribution graph
  • Complete trading history chart with customizable resolution (month, week, day, hour)

The above information will be available retrospectively. Yes, everyone will be able to view how much trades with RippleFox CNY were closed during the last year and what was the circulating supply on the 21 Mar 2017. Deep dive in the history with per-ledger point-in-time snapshots.

The explorer will also provide extended information for accounts and complete account operations history, even for deleted accounts (it's currently impossible to obtain account-related info for accounts that have been merged). Plus all standard features implemented in the StellarChain and other block explorers.

Another interesting aspect I'm working on is a new asset ranking system. The rating system proposed by the @[deleted] is cool by itself, but the https://coinmarketcap.com/ approach (ranking based on the daily trading volume expressed in USD) looks more representative to me. In the following few weeks, I'm planning to introduce the fully-functional asset rating with indicators based on the daily/weekly trading volume.

Please let me know if you are interested in any additional asset statistics, I'll do my best to include requested features.

Issue tracker is available here.

Updates

[2017-11-10] It is up and running: https://stellar.expert
Asset page screenshot

[2017-11-13] UI optimized for mobile browsers:
Mobile screenshoot
Mobile account screenshoot

[2017-11-16] Currently the explorer is not fully synced with network due to the stellar-core history bug. Working on restoring ledger data.

[2017-11-17] Ledger data and statistics restored, explorer is functional. Ledger information since 16 Nov 2017 may be incomplete. We expect to resolve the issue till Nov 20. Sorry for any inconveniences.

[2017-11-20] Added XLM chart with supply, active accounts, trades, transfers and fee pool size metrics.
XLM main chart

[2017-11-24] Improved effects description. New trades&transfers chart for the account page.

[2017-11-27] Help hints on all asset, ledger, transaction and account properties. Asset descriptor format now looks like {code}-{issuer}to match SDK implementation.
Help hints

[2017-11-29] Point-in-time snapshots implemented for assets.
Asset point-in-time snapshots

[2017-12-05] Account interface supports point-in-time snapshots and asset balance history.
Account point-in-time snapshots

Account point-in-time snapshots

[2017-12-07] Asset trade/transfer chart now shows total traded/transferred volume and number of operations.
Asset volume chart

[2017-12-11] Horizon API tracer window shows raw object description in JSON format obtained directly from a Horizon server.
API tracer window

[2017-12-26] A few major updates:
- New dashboard with all assets and two new charts:
- Top 5 assets by weekly trade volume
- Overall weekly trade volume for all assets and newly created asset dynamic
assets list
- New asset rating composite index, based on the following parameters:
- asset age
- overall volume
- weekly volume
- established trustlines
- transfers count
- trades count
- Visualization for rating index in a form of a spiderweb chart
- Aggregated price chart for all assets – OHLC candles with trade volume
assets list
- New assets list visualization with price dynamic
- 24h price change
- sparkline chart for weekly dynamic
assets list
- Enhanced asset explorer (sort by trade volume, paging)
- Account effects filter by effect type.

Amazing, amazing. I love this.

Are you really going to list ALL assets? Even assets owned just by one person?

    fiatjaf Yes, any Stellar asset which had at least one trustline will be listed. Even if it was destroyed later (all tokens were sent back to the issuer and all trustlines were revoked).

    Thanks for the interest in the project.

    17 days later

    Any news on this? Do you have not-yet-working open source code we can look at?

      Yes, I have a working explorer.
      Well... At least, I had it yesterday. Here is how it looked: https://imgur.com/a/R0Nha
      The website is already deployed to the https://stellar.expert/explorer/

      However, yesterday due to the bug in stellar-core history (https://github.com/stellar/stellar-core/issues/1395) my horizon node lost history sync with the Stellar Network and all the history should be re-synced from the scratch. Without it my project is just an ordinary explorer, it doesn't have all described functionality. I'm working on recovering the node, or at least the yesterday snapshot. Hope it won't take much time and the explorer will be functional in a few hours.

      fiatjaf Explorer is up again.
      Ledger information since 16 Nov 2017 may be incomplete. It will take 3-4 days to fully re-sync the history. After that explorer will be fully functional.

      The design is very simplistic, I'm planning to add some colors on the next week when user interface structure will be finalized.

      Top features implemented so far:

      • Asset overview page (example here).
        • Detailed statistics (total supply, first transaction date, established trustlines, total trades, and overall trade volume).
        • Interactive charts that display supply changes, trading and transactions dynamics in the retrospective.
        • Asset effects history with optional filtration by operation type.
        • Issuing account home_domain validation by the recursive stellar.toml checks.
      • Account page (like this)
        • Statistics, including creation time, trades and trustlines
        • Full account history
        • Ability to view history for deleted accounts (compare how it looks on stellar.expert and on stellarchain)
        • Some advanced account information (home domain, inflation destination, thresholds, signers, etc).
      • All assets listing (you may find it on the start page). Looks ugly so far, but already displays asset basic info (supply, trade amount, holders) and allows sorting by creation time, trades, transfers, and rating (generic compound index calculated based on overall transfers, trades and trustlines count).
      • Multiple minor usability improvements compared to stellarchain.io. For example, Stellarchain shows only the first operation in a transaction, whilst new explorer displays all operations (the same ledger: v1 and v2). I also spent some time composing detailed operation descriptions.

      In the next few weeks, I'm going to polish and extend the functionality, improve the design, add more charts, standardize API calls, add hints to all displaying parameters in order to make the explorer more friendly for non-technical people.

      I'd like to get some feedback from the community, in particular on the following aspects:
      1. I'm going to add a "rewind" function to asset and account history, including all graphics and stats. There are two options: to view the history at the particular point of time (one date picker) or use range (two date pickers) for selecting time interval. Which option will be better?
      2. What additional parameters should be included in the asset rating index? Maybe, the "age" of an asset, or
      3. Do we need a multilingual interface? If yes, what languages are the most important for the community?
      4. What do you think about design? Should it be simplistic or colorful? What texts are not readable?
      5. (Question to developers) Effects Offer Created, Offer Updated, Offer Removed are described in API docs, but they are not generated by the Horizon. Why? It's almost impossible to recreate active offers disposition at the particular point of time. In order to implement coinmarketcap-like rating and trade volume history, I need to obtain this information somehow.

      @BrianGale, @bkolobara, @dzham, @umbrel, @fiatjaf, @[deleted], @zcc
      Could you please spare some time to share a few thoughts regarding the project?

        Amazing. It looks really good. Especially the historical graphs on the assets view.

        btw. you mentioned stellarchain above. have you seen my project https://steexp.com ?

          OrbitLens I love it, it's very clean and simple. Stats and charts are the most interesting for me.

          Noticed minor issue with set options operation in history:
          screenshot

          Now to your questions:
          1. I think range is definitely more useful, because you can show more charts ? like account balance over time would be super useful for me
          2. Yes, age is good, size of the orderbook (at least against XLM) and spread, not just number of trades, but volume of trades (doesn't make much sense when comparing between different currencies, so must be calculated in XLM at the rate when it happened
          3. 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.
          4. I like it as it is, many things can be improved in terms of what and where you're showing for better user experience, but overall I found it very need, I'm not a big fan of colors and transitions.
          5. I don't know

          Good job, looking forward to see more interesting charts

            1. I think a range is better, but that seems like a lot of work.
            2. 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!
            3. 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.)
            4. I like the simplistic design and everything is very readable.
            5. I don't know.

              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/Removedeffects 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.

                  Why is the URL for the assets pages appended with a -1?

                  (Just to be clear: I'm not trying to scrape you.)

                    zcc

                    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).

                    • zcc replied to this.

                      fiatjaf

                      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

                        In theory there could maybe be overlap, but if you look at the API, the Asset class in the SDK takes a code and an issuer as input, and uses the length of the code to internally figure out if it type it should create.

                          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.

                          7 days later

                          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.

                            OrbitLens

                            I do hope they change their mind though. It's OK if it's hidden away in the implementation, but as an end-user it's just confusing.

                            What is the definition of "Active accounts" in the graph on your landing page?

                              Looks like a number of accounts transacted during that week