Giter VIP home page Giter VIP logo

blockstack-explorer's Issues

Move to id.blockstack.org

  1. Ensure production server will work on id.blockstack.org (@larrysalibra)
  2. Move current explorer.blockstack.org records to id.blockstack.org (@shea256)
  3. Add a permanent redirect to explorer.blockstack.org that so that old links don't break (@shea256)

Unregistered name page

When a user searches for a name that doesn't exist, we could display a page with instructions on how to register the name and how much it would cost.

Make name operation counts update as new blocks appear

Insight-api pushes new blocks as they are mined - we don't currently request name operations in the new blocks as this happens.

screen shot 2016-11-04 at 1 14 54 am

One complication is that name operations in a block aren't available until blockstack core has had a chance to process the block, which is typically after the block is pushed to the UI by insight-api.

Loading block name operations fails for some blocks

In certain blocks that have many name operations, it takes on the order of minutes for blockstack-cli get_nameops_at to generate a result causing our reverse proxy and/or the user's browser to timeout before the request can return.

This should be fixed once we can migrate to blockstack core http api #7.

In the meantime, I have set up https://explorer.blockstack.org to cache get_nameops_at queries in a local varnish instance. This will speed up requests after the first request but unfortunately won't help with the largest (in terms of number of name operations) of blocks.

Bitcore mysteriously dying

The couple days or so, Bitcore Node has started mysteriously dying. (bitcoind, blockstack-server and the explorer API keep running)

@shea256 mentioned having a similar problem with Bitcore Node stopping and suggested we'd need to add a watchdog.

Not sure why this problem crept up after having disappeared for so many weeks.

Monitor & auto-restart bitcore node

Bitcore node starts it's own patched bitcoind process on launch. Bitcore itself periodically dies (#25) leaving bitcoind running. To restart bitcore, one needs to stop bitcoind and restart bitcore. Stopping bitcoind entails stopping blockstack-server which depends bitcoind.

We'd like to monitor and auto-restart bitcore node. To do this, we need to change the bitcore node's configuration to use an external bitcoind instance.

Add explanatory tips/links

Add tooltips or links to documentation explaining the meaning of various terms such as those in blockchain history records.

screen shot 2016-11-04 at 1 58 33 am

Story: Explorer update

Users should be able to use an upgrade version of the explorer that:

  • uses the current core version
  • properly displays verifications using the new verification system
  • has updated endpoints (need to move these over into an issue from the paper document)

Action items (in order of declining priority):

  • Use Core API: #45
  • Address page should list profile cards for owned names: #44
  • Move to id.blockstack.org #49
  • New endpoints #48
  • Use search from core.blockstack.org: #43
  • Show potentially valid blockstack transactions in current blocks #46

Reduce verbosity of logs

Earlier today, the explorer server ran out of disk space on its root partition. The process manager (pm2) logs command output which is good in case something dies. I set up a log rotator for pm2 which should minimize the problem is the future. I also moved the pm2 logs from the small 29gb root partition to the 1 TB /data partition.

It would also be great to reduce the amount of debug information that gets printed out by blockstack-server (we're running it with --foreground so that pm2)

@jcnelson, is there a command switch on the server to reduce verbosity?

Stream possible blockstack transactions

As new transaction enter the mempool that have OP_RETURN data in blockstack transaction format, display them on the explorer.

The explorer is currently subscribing to bitcore-node's mempool streaming transaction event which only contains the following information:

{"txid":"e9673b332ef2fabd850f1d5d6349c92447a8096ad9448cd7f87c8add47d6840e","valueOut":25.96761385,"vout":[{"1BYLKJeMkvDEX82LgL2YzzDq4sj6YyP4Jj":60000},{"39WFvAEK1sLiSgweD3KmLw2BL89nGStqwB":2596701385}],"isRBF":false}    

There's also an event bitcoind/rawtransaction or another event that we might be able subscribe to that would provide the necessary information.

Expiry block doesn't display

Expiry block doesn't show for names. The reason is that we switched from get_name_blockchain_record to using get_name_blockchain_history which has the expanded history but is missing the expiry_block key.

Update translations

We need to update existing (German, Spanish, Japanese) translations. If we can't maintain them, we should remove them.

Use search from core.blockstack.org

The search on explorer.blockstack is not showing some profiles (we've seen a few support tickets).

I'd suggest using the search endpoint from https://core.blockstack.org instead. That's where the most recent version of search will live for now and we index pretty frequently there.

Tagging @kantai who updated search there recently.

Improve display of zonefile

Format and syntax highlight the zonefile.
It could also be interesting to parse and interpret the zonefile for visitors.

screen shot 2016-11-04 at 1 28 58 am

Improve search field

Add search by:
*namespace โ˜‘๏ธ
~~*name without the .id~~ (shouldn't treat .id` as privileged)
*partial name

Pricing information tools for names & namespaces

This could be the same widget that's displayed on the namespace page in #18 displayed on its own page or on the index page.

Indicate if the name is available or already registered. If it's available, display registration instructions/options similar to those in #19.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.