Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement more elaborate contextual information / education mode #6

Open
JornC opened this issue Sep 18, 2015 · 7 comments
Open

Implement more elaborate contextual information / education mode #6

JornC opened this issue Sep 18, 2015 · 7 comments

Comments

@JornC
Copy link
Collaborator

JornC commented Sep 18, 2015

While this block explorer is an excellent tool to assist with learning how the blockchain works down below, it isn't particularly helpful if you're trying to use it for that purpose.

Many field names, for example, are entirely meaningless if you haven't a clue of any of the terminologies used in the bitcoin space - it would be desirable if this block explorer could provide clear and simple contextual information about what a user might be looking at.

For example: the way a block's target value is calculated; the meaning of the scriptSig and scriptPubKey; the description of opcodes; why mining works the way it works; data format of a block's timestamp or other fields; endian-ness of serialized or unserialized values.

The list goes on.

An 'education mode' would be nice to help with this.

These features could be built on top of the existing contextual popup thing.

@mrkent
Copy link

mrkent commented Feb 17, 2016

+1

@mrkent
Copy link

mrkent commented Feb 17, 2016

I love how you currently color code, it'd be cool to make a guess on what data is being pushed. (pubkey, signature, etc)

@JornC
Copy link
Collaborator Author

JornC commented Feb 18, 2016

it'd be cool to make a guess on what data is being pushed.

Yeah. I've been struggling with how to deal with showing derivable transaction heuristics like that (and also other things like OP_RETURN commitments, colored coins, counterparty, RBF flag, P2PKH/P2SH/P2PK output types, P2SH RedeemScript transaction types, transaction standard-ness, etc. etc.)

Originally, I didn't want this block explorer to have any knowledge about those kind of things; things the 'blockchain' doesn't strictly know about. For example, it's safe to say the data pushed onto the stack before an OP_CHECKSIG operation will be the pubkey, and the data pushed before that will be the signature, but to the blockchain - it's all just pushdata.

Then again, in a way, this principle has already been violated, considering the explorer now supports address balance lookup - which is an 'application' on top of the Blockchain rather than some inherent concept, if you will. So I guess I'm more open to showing this, now.

However, I'd still like to 'border off' these heuristics so the core information shown by the explorer will not be polluted by things that might be unrelated or wrong (heuristics are, in the end, guesses - after all) - or otherwise make the heuristic being a guess explicit.

@Giszmo
Copy link

Giszmo commented Mar 18, 2016

As I hacked together a how does mining work presentation with a 1kH/s JS "miner", I'm actually quite excited to find this project.

I would love to see this turn into a visualization for different skill levels where the exact arrangement of the Merkel tree and how the difficulty is calculated gets explained but also the "bitcoin mining is complicated math" demystified a bit like I tried it with "this is an age-old hash function. miners hash fast".

@mrkent
Copy link

mrkent commented Mar 19, 2016

This block explorer has real potential to become one of the best Bitcoin education tools out there.

@Giszmo
Copy link

Giszmo commented Jul 5, 2017

This issue is open ended and needs to either

  • get
  • a
  • checkable list

or be split into concise tasks.

I'd like to do a bounty here but it looks open ended.

@7yl4r
Copy link

7yl4r commented Nov 18, 2017

Some simple hovertext or popovers could go a long way here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants