stacks-archive / blockstack-explorer Goto Github PK
View Code? Open in Web Editor NEWA block explorer for Blockstack
A block explorer for Blockstack
explorer.blockstack.org
records to id.blockstack.org
(@shea256)explorer.blockstack.org
that so that old links don't break (@shea256)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.
Insight-api pushes new blocks as they are mined - we don't currently request name operations in the new blocks as this happens.
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.
"expired": "This name has expired! It is still in the renewal grace period, but must be renewed or it will eventually expire and be available for others to register.",
The explorer, particularly the blocks list page, hasn't been well tested on tablet and phone size devices.
Display Twitter card metadata
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.
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.
When the blockstack core api is available, we should migrate the browser to use that instead of the server (https://github.com/blockstack/blockstack-explorer/blob/master/tools/runserver.py) that uses blockstack-cli as a library.
@shea256 started some work on this in the bootstrap branch: 2d19eb9
Insight-ui uses bootstrap 3.1.1 and blockstack-bootstrap is based on bootstrap 4 so will have to do some porting.
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.
Update blockstack-explorer ui framework from bootstrap v3 to latest release of twbs/boostrap to v4.0.0-alpha.5.
See https://github.com/twbs/bootstrap/releases/tag/v4.0.0-alpha.5
Users should be able to use an upgrade version of the explorer that:
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?
Most important for name pages.
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.
Review and clean up profile visual design. https://explorer.blockstack.org/name/guylepage3.id
This repository has no website linked to it. Would be cool to have a https://explorer.blockstack.org / https://id.blockstack.org for fast navigation (or so). Quick fix :)
Root: id.blockstack.org
/<name>.<tld>
Example: https://id.blockstack.org/larry.id
/address/<address>
Example: https://id.blockstack.org/address/3Ht2PzmsT4gy4EpBTp7FKco239ZiHvXdUP
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.
We need to update existing (German, Spanish, Japanese) translations. If we can't maintain them, we should remove them.
Update to use the Blockstack Core API instead of what it uses now (it uses this https://github.com/blockstack/blockstack-explorer/blob/master/tools/runserver.py)
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.
Currently there's no hint on the explorer that the source code is available on GitHub. Quick fix :)
Add search by:
*namespace โ๏ธ
~~*name without the .id~~ (shouldn't treat
.id` as privileged)
*partial name
Add simplified and traditional Chinese translations.
The current profile card doesn't show websites specified in the respective profile. I currently embedded two homepages in the bio to circumvent this.
I think linked websites should have a nofollow
and a noopener
, maybe even a noreferrer
(see https://developer.mozilla.org/de/docs/Web/HTML/Link_types).
Looks like I broke our letsencrypt set up when I moved explorer from DO to Azure.
It incorrectly shows names with uppercase names (which are invalid) as available.
Example: https://explorer.blockstack.org/name/Guy.id
Should 404
or redirect to lowercase name.
List profiles of names owned by address
https://explorer.blockstack.org/address/3Ht2PzmsT4gy4EpBTp7FKco239ZiHvXdUP
List the pricing scale and information about name expiration.
https://explorer.blockstack.org/namespace/id
We could also add a field for the user to enter a name and see how much it would cost to register.
Would be great to see an estimated time for expiration on names as opposed to just block height.
We can use https://core.blockstack.org/v2/users/larry.id as the verification endpoint since we con't do verifications locally (either on the explorer server - since we don't have proper api code running or client because of CORS).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.