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

                            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