Bitcoin Forum

Bitcoin => Project Development => Topic started by: tobasco on June 12, 2016, 10:57:00 AM



Title: A very simple blockchain explorer.
Post by: tobasco on June 12, 2016, 10:57:00 AM
Update: 24 January 2017

learnmebitcoin.com Blockchain Browser (http://learnmeabitcoin.com/browser/) - New Version

Hey, spent some time improving the block explorer. Here's an overview:

  • Node (http://learnmeabitcoin.com/browser/node/)
    • Shows you how many transactions are in the memory pool (http://learnmeabitcoin.com/browser/node/memorypool), how many of those have been selected for inclusion in a candidate block (http://learnmeabitcoin.com/browser/node/candidateblock/), and the current difficulty (http://learnmeabitcoin.com/browser/node/difficulty/) (how hard it is to mine it on to the blockchain).

  • Blockchain (http://learnmeabitcoin.com/browser/blockchain/)
    • View blocks in the blockchain at any part of the chain, along with each block's; size, number of transactions, and fees collected.
    • Example:  The first 10 blocks in the blockchain. (http://learnmeabitcoin.com/browser/blockchain/9)
    • Tip: Entering a negative value in the height field will take you that many blocks from the top.

  • Block (http://learnmeabitcoin.com/browser/block/)
    • See the order of transactions in a block, along with the block header data.
    • Example:  The block of the last block reward halving. (http://learnmeabitcoin.com/browser/block/000000000000000002cce816c0ab2c5c269cb081896b7dcb34b8422d6b74ffa1)
    • Tip: Hovering over the "bits" field in the block header will show you the target value for the block (so you can see how much "under" this block's hash was).

  • Transaction (http://learnmeabitcoin.com/browser/transaction/)
    • Shows you the inputs and outputs of a transaction, and the addresses they have been locked to. Allows you to travel through transactions, so you can follow the path of coins.
    • Examples: First ever bitcoin transaction to Hal Finney (http://learnmeabitcoin.com/browser/transaction/f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16), Pizza transaction for 10,000 BTC in 2010 (http://learnmeabitcoin.com/browser/transaction/a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d).
    • Tip: Click on the 'serialized' switch in the top-right corner to see the raw transaction data (along with highlighting of each field when you hover over it).
    • Tip: Click on the lock icons to see the locking scripts used for each transaction. Also, any scripts possibly containing hidden messages have been decoded, such as; the Marry Me (http://learnmeabitcoin.com/browser/transaction/d0ec21e1d73d06be76c2b5b1e5ec486085bda8264229046c11b95f66f2eded83/coinbase) message, the original Chancellor on brink of second bailout for banks (http://learnmeabitcoin.com/browser/transaction/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b/coinbase), and these co-ordinates of some sort (http://learnmeabitcoin.local/browser/transaction/dce2f24931bf9c27aa45af5d6d808698a3bc5cc82be336894139916e4a2f5a93/output/0#scriptPubKey).

  • Address (http://learnmeabitcoin.com/browser/block/)
    • View the balance of an address, based on all the outputs that have been locked to that address.
    • Examples:  Silk Road seized funds address (http://learnmeabitcoin.com/browser/address/1Ez69SnzzmePmZX3WpEzMKTrcBF2gpNQ55#7ecad9a3e67bebda52c0bdafb53863938b86e30e58eb179aec747903b50baa2d:0) (click on the first output to start following where they have been sent), Hi Mom address (http://learnmeabitcoin.com/browser/address/1HiMoMgBaAikFHgAt3M4YJtetp4HrnsiXu)

Extras

  • Memory Pool (http://learnmeabitcoin.com/browser/node/memorypool/) - See the latest transactions, and which ones have been selected for inclusion in a candidate block (hovering over a transaction tells you the fee per byte, which is the metric used to determine which transactions are selected).
  • Candidate Block (http://learnmeabitcoin.com/browser/node/candidateblock/) - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

http://learnmeabitcoin.com/lmab.png (http://learnmeabitcoin.com/browser/)


Original Post:

Hey,

I've been working on making a simple bitcoin blockchain explorer. This is what I've got so far:

http://learnmeabitcoin.com/browser/ (http://learnmeabitcoin.com/explorer/blockchain/)

There are a number of things that I'd like to add/improve (such as getting the data to update live on the page), so I know it's not finished yet. But I've been working on this in the dark for so long that I thought it would be a good idea to share what I've got so far, and could do with some opinions.

So yeah, hope it's useful. Tell me what you think.

Greg.


Title: Re: A very simple blockchain explorer.
Post by: batesresearch on June 12, 2016, 11:29:12 AM
Hey,

I've been working on making a simple bitcoin blockchain explorer. This is what I've got so far:

http://learnmeabitcoin.com/explorer/blockchain/ (http://learnmeabitcoin.com/explorer/blockchain/)

There are a number of things that I'd like to add/improve (such as getting the data to update live on the page), so I know it's not finished yet. But I've been working on this in the dark for so long that I thought it would be a good idea to share what I've got so far, and could do with some opinions.

So yeah, hope it's useful. Tell me what you think.

Greg.

Nice site, pretty easy to navigate and straight forward.

Just saw that you attend my event (CoinFestUK) and met Matt (He's an awesome guy and look forward to having at all future CoinFestUK events!!)


Title: Re: A very simple blockchain explorer.
Post by: btc_enigma on June 13, 2016, 11:21:27 AM
Wow ... this looks very cool. I like the retro look ! A search feature would be very helpful too


Title: Re: A very simple blockchain explorer.
Post by: countryfree on June 13, 2016, 10:27:56 PM
Nice work, congratulations!
But, what's the use of this? You made something different from what already exists, and that's great, but I don't understand towards what end.


Title: Re: A very simple blockchain explorer.
Post by: nwfella on June 14, 2016, 12:49:45 AM
2 thumbs up man.  I dig the design and hella impressed with your page load times...this puppy snaps! Keep it up


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 14, 2016, 09:09:51 PM
Wow ... this looks very cool. I like the retro look ! A search feature would be very helpful too

Thanks! Glad I'm not the only one who enjoys the "classic" look. Although I dare say my lack of front-end skill does force my hand somewhat.

Can you go in to more detail about the search feature you mentioned?

Nice work, congratulations!
But, what's the use of this? You made something different from what already exists, and that's great, but I don't understand towards what end.

Good question.

The primary goal with this website was to explain how bitcoin works in a way that's easy to understand. I started with the written guide, but after finishing it I realised that it would make things easier if I could show how it works, so that's why I started the blockchain explorer.

So the secondary goal has been making a blockchain explorer that anyone can understand. I think the existing blockchain explorers are difficult to use for anyone who is new to bitcoin, so I'm making something that's easy.

In the end, I think a good blockchain explorer will help get more people in to bitcoin.

tl;dr I thought I could make something better than blockchain.info

2 thumbs up man.  I dig the design and hella impressed with your page load times...this puppy snaps! Keep it up

Thank you sir :D

I created the site from scratch using PHP, so I've tried to make the pages load as quick as possible (although some parts of the explorer are going to be sluggish until I figure some things out). Nonetheless, my hope is that faster page loads will distract from my god-awful web design skills.


Title: Re: A very simple blockchain explorer.
Post by: Joel_Jantsen on June 14, 2016, 09:24:16 PM
Amazing stuff there! Loved the way you have organised everything into flowcharts with pictorial representations.Guide is short and simple,very informative.What I would like to be added next is fetch the transaction details from a particular address.I couldn't figure out how'd we do that.


Title: Re: A very simple blockchain explorer.
Post by: cloverme on June 14, 2016, 09:52:32 PM
Pretty nifty... how long have you been working on it?  i like the representation of the memory pool and transactions getting added to the next block.  That's something that I haven't visually seen before on another block explorer...


Title: Re: A very simple blockchain explorer.
Post by: coinableS on June 15, 2016, 12:46:02 PM
Nice work, congratulations!
But, what's the use of this? You made something different from what already exists, and that's great, but I don't understand towards what end.


You realize what you sound like?
"Nice grocery store, there's already a grocery store down the street, so why have this one too?"

To OP: Nice project man! Also I noticed you included me in your Thanks, so thanks for the thanks ;) Keep up the good work!



Title: Re: A very simple blockchain explorer.
Post by: zulu55 on June 15, 2016, 07:17:06 PM
Very nice! I like that simple and practical design, unlike modern javascript beasts, so nice
I just plunged into exploration for 15 minutes haha  ;D
Will probably bookmark it for a future use, thanks!


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 16, 2016, 11:23:44 PM
Amazing stuff there! Loved the way you have organised everything into flowcharts with pictorial representations.Guide is short and simple,very informative.What I would like to be added next is fetch the transaction details from a particular address.I couldn't figure out how'd we do that.

Thanks Joel :)

Yeah I agree; showing the transactions for an address would be very useful, but I haven't figured out how to do that just yet. Thanks for bringing that up though.

Pretty nifty... how long have you been working on it?  i like the representation of the memory pool and transactions getting added to the next block.  That's something that I haven't visually seen before on another block explorer...

Been working on the explorer for about 4 months in total, but not 4 months straight. Probably could have been done in about a month, but I've been learning things as I go along.

And thanks... I've been trying to lay things out in a way that make the most sense in my head.

Nice project man! Also I noticed you included me in your Thanks, so thanks for the thanks ;) Keep up the good work!

Your websocket tutorial saved my brain.

Very nice! I like that simple and practical design, unlike modern javascript beasts, so nice
I just plunged into exploration for 15 minutes haha  ;D
Will probably bookmark it for a future use, thanks!

Ha, perfect.

And yeah, I don't love javascript, so I'm glad there are still people out there who are cool with webpages that don't have shit flying everywhere.


Title: Re: A very simple blockchain explorer.
Post by: OmegaStarScream on June 17, 2016, 08:32:23 AM
I'm getting "Couldn't connect to bitcoin :(" when I click on a block for some reasons ?  ???


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 17, 2016, 09:06:02 AM
I'm getting "Couldn't connect to bitcoin :(" when I click on a block for some reasons ?  ???

Had to restart bitcoind. Thanks for letting me know.


Title: Re: A very simple blockchain explorer.
Post by: joey.rich on June 17, 2016, 05:06:18 PM
Nice work.  Is this open source?  (Not saying that you should make it so - just wondering).

There's a lot of competition out there (bitcoin-abe, iquidus and insight.is).  I like the block visualization in this one though.


Title: Re: A very simple blockchain explorer.
Post by: etparle on June 17, 2016, 10:34:44 PM
Nice work.  Is this open source?  (Not saying that you should make it so - just wondering).

There's a lot of competition out there (bitcoin-abe, iquidus and insight.is).  I like the block visualization in this one though.

I think this would make a pretty nice open source project. Please link us to the github if it is.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 21, 2016, 03:36:22 PM
Nice work.  Is this open source?  (Not saying that you should make it so - just wondering).

Not just yet.

I am using Mercurial and pushing to BitBucket, but I haven't shared a link to the repository. It will be open-source, but it's a bit premature at the moment.



Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 24, 2016, 11:56:44 AM
The memory pool now highlights transactions that have been selected for inclusion in the candidate block:

http://learnmeabitcoin.com/explorer/node/memorypool/

Note:

The candidate block on this node/website re-populates every 20 seconds (or when a new block arrives), using the default getblocktemplate command to select transactions from the memory pool.

This may be different to other nodes, who may rebuild their candidate block less frequently, and select transactions differently. So just because you can see your transaction has been included in the candidate block on this node, it doesn't mean that your transaction will definitely make it in to the blockchain when the next block gets mined.

http://bitcoin.stackexchange.com/questions/32892/how-often-do-miners-update-their-block-transaction-list


Title: Re: A very simple blockchain explorer.
Post by: cloverme on June 24, 2016, 12:57:24 PM
The memory pool now highlights transactions that have been selected for inclusion in the candidate block:

http://learnmeabitcoin.com/explorer/node/memorypool/

Note:

The candidate block on this node/website re-populates every 20 seconds (or when a new block arrives), using the default getblocktemplate command to select transactions from the memory pool.

This may be different to other nodes, who may rebuild their candidate block less frequently, and select transactions differently. So just because you can see your transaction has been included in the candidate block on this node, it doesn't mean that your transaction will definitely make it in to the blockchain when the next block gets mined.

http://bitcoin.stackexchange.com/questions/32892/how-often-do-miners-update-their-block-transaction-list

Fantastic update, that's pretty cool. To save on some screen space, you could shorten that screen up or represent the transaction in the mempool screen by some kind of visual token or something like ▒▒. 


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 25, 2016, 12:57:30 AM
Fantastic update, that's pretty cool. To save on some screen space, you could shorten that screen up or represent the transaction in the mempool screen by some kind of visual token or something like ▒▒. 

Thank you cloverme :)

I'm interested in your idea, but I'm not exactly sure what you mean. Is the idea to replace each Transaction ID with a symbol?


Title: Re: A very simple blockchain explorer.
Post by: cloverme on June 25, 2016, 01:01:21 PM
Fantastic update, that's pretty cool. To save on some screen space, you could shorten that screen up or represent the transaction in the mempool screen by some kind of visual token or something like ▒▒. 

Thank you cloverme :)

I'm interested in your idea, but I'm not exactly sure what you mean. Is the idea to replace each Transaction ID with a symbol?

Yeah, on your page http://bitcoin.stackexchange.com/questions/1389/how-are-public-private-keys-in-an-address-created

Since it is just pages and pages of numbers, so it loses some contextual meaning. If you have a a symbol represent the number, it would shorten up the page and make it easier to look at. You could always tooltip the txid so that if you hovered the mouse over the block, the tx would appear or the other data you have on it. It's cool either way even if you leave it untouched.


Title: Re: A very simple blockchain explorer.
Post by: Newcoins2020 on June 26, 2016, 02:10:33 PM
Fantastic update, that's pretty cool. To save on some screen space, you could shorten that screen up or represent the transaction in the mempool screen by some kind of visual token or something like ▒▒.  

Thank you cloverme :)

I'm interested in your idea, but I'm not exactly sure what you mean. Is the idea to replace each Transaction ID with a symbol?

Yeah, on your page http://bitcoin.stackexchange.com/questions/1389/how-are-public-private-keys-in-an-address-created

Since it is just pages and pages of numbers, so it loses some contextual meaning. If you have a a symbol represent the number, it would shorten up the page and make it easier to look at. You could always tooltip the txid so that if you hovered the mouse over the block, the tx would appear or the other data you have on it. It's cool either way even if you leave it untouched.

The interface is too long, and making the page less high or show more. You could think of hiding the tx with this simple JS read more/less script:
http://code-tricks.com/jquery-read-more-less-example/

Integrating a modern design would be a nice addition to your site too:  https://freehtml5.co/page/3/

On a side note, your code is working excellent.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 26, 2016, 07:51:24 PM
Yeah, on your page http://bitcoin.stackexchange.com/questions/1389/how-are-public-private-keys-in-an-address-created

Since it is just pages and pages of numbers, so it loses some contextual meaning. If you have a a symbol represent the number, it would shorten up the page and make it easier to look at. You could always tooltip the txid so that if you hovered the mouse over the block, the tx would appear or the other data you have on it. It's cool either way even if you leave it untouched.

I think I understand your idea.

I like keeping pages short and using smart symbols (+ tooltips) where possible, but the problem with removing the TXIDs is that I'd lose the ability to find a transaction using the browser's CTRL+f  feature. Shorter pages are pleasant, but CTRL+f is proving to be too useful for me at the moment.

P.S. I think you may have pasted the wrong link (although nonetheless an interesting one :) )


Title: Re: A very simple blockchain explorer.
Post by: tobasco on June 26, 2016, 08:03:25 PM
The interface is too long, and making the page less high or show more. You could think of hiding the tx with this simple JS read more/less script:
http://code-tricks.com/jquery-read-more-less-example/

It's certainly a long web page.

Where does this cause a problem? Or in other words, what does a shorter page help with?

From my point of view, the page loads quickly, and it's nice to get them straight away without any extra clicks. The scrolling hasn't hindered me.

Quote
Integrating a modern design would be a nice addition to your site too:  https://freehtml5.co/page/3/

Is there anything in particular about the current design that makes browsing the site difficult (that those templates solve)?

Quote
On a side note, your code is working excellent.

Thank you.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on August 03, 2016, 06:49:43 PM
UPDATES:

1. Branches now show up in the blockchain.

For example:
    
http://learnmeabitcoin.com/explorer/blockchain/423366 <- Here you can see a block (grey outline) that was received after the block that is part of the main chain (nodes add whichever block they receive first on to the top of their chain). No node built on top of this block (grey outline), so nothing came of it. It was just a block that was succesfully mined but never made it in to the chain, because another block was built upon first.

http://learnmeabitcoin.com/explorer/blockchain/423443 <- Here you can see a block (red outline) that was received before the current main block in the chain, so at one time this block was considered part of the main chain, and so all the transactions inside were considered "confirmed". However, a block that was received after this block ended up getting built upon by other nodes in the network, so that other block took its place.

This second situation is interesting, because if a block gets moved out of the main chain, any transactions that aren't also included inside the block that replaces it will go back in to the memory pool so that they can be mined in to a later block. So this is where a transaction gets "confirmed", but then finds itself "de-confirmed" to a re-arrangement of the blockchain.

Therefore...

2. Highlighting transactions in blocks that go back in to the memory pool.

I have also highlighted the transactions in these blocks that end up re-entering the memory pool. Scroll down to the bottom of this block to see a bunch of them: http://learnmeabitcoin.com/explorer/block/0000000000000000013050DB42F93ED72D5DB1EEFB27629F53B3D744DC750B51


Title: Re: A very simple blockchain explorer.
Post by: btc_enigma on August 05, 2016, 11:58:27 AM
Like the branches showing up .

small suggestion

http://learnmeabitcoin.com/explorer/transaction/32a33d5436665ae5e239b616a50a1e1e02972cd75528dbb8bc023a9cc28f565f

Is there anyway the UI can better show tx input so as to stress that they are getting spent? Would be nice to graphically show the value of tx input
Also the grey and yellow color are confusing, as you know people as used to seeing red for tx input and green for output


Title: Re: A very simple blockchain explorer.
Post by: jasonv75 on August 08, 2016, 08:48:23 AM
Thats actually really neat!

Any chance you going to open-source the explorer?

Jason


Title: Re: A very simple blockchain explorer.
Post by: tobasco on August 16, 2016, 03:28:04 PM
Like the branches showing up .

small suggestion

http://learnmeabitcoin.com/explorer/transaction/32a33d5436665ae5e239b616a50a1e1e02972cd75528dbb8bc023a9cc28f565f

Is there anyway the UI can better show tx input so as to stress that they are getting spent? Would be nice to graphically show the value of tx input
Also the grey and yellow color are confusing, as you know people as used to seeing red for tx input and green for output

Do you have any ideas for stressing the fact that they are getting spent? I liked the idea of using grey (lack of colour) to try and convey that an output had been "used up", but I'm all for making the page clearer.

I agree that showing the tx value input would be good. I haven't done this yet because I haven't started storing the transactions in my own database. The transactions page uses direct bitcoin-cli queries at the moment, so going through every single input would slow the page down a lot. But yeah, that's no excuse... I just haven't got to that stage yet.

I wasn't sure what colour to use for the outputs initially, but settled on yellow because I thought it resembled gold (i.e. something valuable). I'll have a think about green.

The transaction page is my least favourite at the moment. It has got some way to go, so thanks for the ideas.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on August 16, 2016, 03:30:56 PM
Thats actually really neat!

Any chance you going to open-source the explorer?

Jason

Yes, that's the plan.

I've got some specific idea for how I want the explorer to work, so when I've done what I want to do my plan is to clear up the code and open source the whole thing.


Title: Re: A very simple blockchain explorer.
Post by: dollarneed on August 17, 2016, 03:38:07 AM

Is there anything in particular about the current design that makes browsing the site difficult (that those templates solve)?

The site is working fine on me with current design and it's pretty fast, i personaly like simple design but it will be awesome if this integrate with modern design but it doesn't matter as long the site working properly and usefull i think no problem, anyways i love the guide to me it is quite understandable thanks for making the site


Title: Re: A very simple blockchain explorer.
Post by: tobasco on August 19, 2016, 11:57:12 AM
Update:

Difficulty Page: http://learnmeabitcoin.com/explorer/node/difficulty/

You can now see how the difficulty changes over time based on the average time it takes for blocks to get mined during that period. It also shows the average time for blocks to be mined up to the current block, so you can anticipate whether the difficulty will go up or down at the next re-target.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on August 19, 2016, 12:00:26 PM

Is there anything in particular about the current design that makes browsing the site difficult (that those templates solve)?

The site is working fine on me with current design and it's pretty fast, i personaly like simple design but it will be awesome if this integrate with modern design but it doesn't matter as long the site working properly and usefull i think no problem, anyways i love the guide to me it is quite understandable thanks for making the site

Thanks. My plan has always been to get the site loading as fast as possible with a clear design first, and then work on a fancy design when that's done. Happy to hear that the site is still workable in its current form, so thanks again.

Glad you like the guide  :)


Title: Re: A very simple blockchain explorer.
Post by: tobasco on January 24, 2017, 01:14:29 AM
learnmebitcoin.com Blockchain Browser (http://learnmeabitcoin.com/browser/) - New Version

Hey, spent some time improving the block explorer. Here's an overview:

  • Node (http://learnmeabitcoin.com/browser/node/)
    • Shows you how many transactions are in the memory pool (http://learnmeabitcoin.com/browser/node/memorypool), how many of those have been selected for inclusion in a candidate block (http://learnmeabitcoin.com/browser/node/candidateblock/), and the current difficulty (http://learnmeabitcoin.com/browser/node/difficulty/) (how hard it is to mine it on to the blockchain).

  • Blockchain (http://learnmeabitcoin.com/browser/blockchain/)
    • View blocks in the blockchain at any part of the chain, along with each block's; size, number of transactions, and fees collected.
    • Example:  The first 10 blocks in the blockchain. (http://learnmeabitcoin.com/browser/blockchain/9)
    • Tip: Entering a negative value in the height field will take you that many blocks from the top.

  • Block (http://learnmeabitcoin.com/browser/block/)
    • See the order of transactions in a block, along with the block header data.
    • Example:  The block of the last block reward halving. (http://learnmeabitcoin.com/browser/block/000000000000000002cce816c0ab2c5c269cb081896b7dcb34b8422d6b74ffa1)
    • Tip: Hovering over the "bits" field in the block header will show you the target value for the block (so you can see how much "under" this block's hash was).

  • Transaction (http://learnmeabitcoin.com/browser/transaction/)
    • Shows you the inputs and outputs of a transaction, and the addresses they have been locked to. Allows you to travel through transactions, so you can follow the path of coins.
    • Examples: First ever bitcoin transaction to Hal Finney (http://learnmeabitcoin.com/browser/transaction/f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16), Pizza transaction for 10,000 BTC in 2010 (http://learnmeabitcoin.com/browser/transaction/a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d).
    • Tip: Click on the 'serialized' switch in the top-right corner to see the raw transaction data (along with highlighting of each field when you hover over it).
    • Tip: Click on the lock icons to see the locking scripts used for each transaction. Also, any scripts possibly containing hidden messages have been decoded, such as; the Marry Me (http://learnmeabitcoin.com/browser/transaction/d0ec21e1d73d06be76c2b5b1e5ec486085bda8264229046c11b95f66f2eded83/coinbase) message, the original Chancellor on brink of second bailout for banks (http://learnmeabitcoin.com/browser/transaction/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b/coinbase), and these co-ordinates of some sort (http://learnmeabitcoin.local/browser/transaction/dce2f24931bf9c27aa45af5d6d808698a3bc5cc82be336894139916e4a2f5a93/output/0#scriptPubKey).

  • Address (http://learnmeabitcoin.com/browser/block/)
    • View the balance of an address, based on all the outputs that have been locked to that address.
    • Examples:  Silk Road seized funds address (http://learnmeabitcoin.com/browser/address/1Ez69SnzzmePmZX3WpEzMKTrcBF2gpNQ55#7ecad9a3e67bebda52c0bdafb53863938b86e30e58eb179aec747903b50baa2d:0) (click on the first output to start following where they have been sent), Hi Mom address (http://learnmeabitcoin.com/browser/address/1HiMoMgBaAikFHgAt3M4YJtetp4HrnsiXu)

Extras

  • Memory Pool (http://learnmeabitcoin.com/browser/node/memorypool/) - See the latest transactions, and which ones have been selected for inclusion in a candidate block (hovering over a transaction tells you the fee per byte, which is the metric used to determine which transactions are selected).
  • Candidate Block (http://learnmeabitcoin.com/browser/node/candidateblock/) - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

http://learnmeabitcoin.com/lmab.png (http://learnmeabitcoin.com/browser/)


Title: Re: A very simple blockchain explorer.
Post by: tobasco on January 24, 2017, 01:40:54 AM
Is there anyway the UI can better show tx input so as to stress that they are getting spent? Would be nice to graphically show the value of tx input

Unspent transactions are now gold, whereas spent outputs are grey.


Title: Re: A very simple blockchain explorer.
Post by: btc_enigma on January 24, 2017, 05:50:21 AM
This is really awesome work. I really like the candidate block and memory pool

Quote
   Candidate Block - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

Are the tx actually sorted by fee per bytes ? I see some of the transactions out of order. It would be good if you can display the fee per byte on the right (instead of the tooltip). Also please change unit of fee per byte to satoshis instead of BTC, its easier to read

I have also shared this on reddit (https://www.reddit.com/r/Bitcoin/comments/5puhvu/got_unconfirmed_tx_check_the_next_candidate_block/) to get more community feedback


Title: Re: A very simple blockchain explorer.
Post by: btc_enigma on January 24, 2017, 05:52:46 AM
Also please check the price. Your site is showing $1233.21. Too good to be true  ;D


Title: Re: A very simple blockchain explorer.
Post by: theymos on January 24, 2017, 06:11:35 AM
Candidate Block (http://learnmeabitcoin.com/browser/node/candidateblock/) - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

Is this using Bitcoin Core's block creation code?


Title: Re: A very simple blockchain explorer.
Post by: tobasco on January 24, 2017, 10:37:57 AM
This is really awesome work. I really like the candidate block and memory pool

Quote
   Candidate Block - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

Are the tx actually sorted by fee per bytes ? I see some of the transactions out of order. It would be good if you can display the fee per byte on the right (instead of the tooltip). Also please change unit of fee per byte to satoshis instead of BTC, its easier to read

I have also shared this on reddit (https://www.reddit.com/r/Bitcoin/comments/5puhvu/got_unconfirmed_tx_check_the_next_candidate_block/) to get more community feedback

Thank you very much  :).

The transactions are selected using the default getblocktemplate command using bitcoin core. As far as I'm aware, transactions are generally selected and ordered based on fee per byte. However, when you construct a block, you have to make sure that all transactions are in order... as in, if one transaction uses the outputs of another transaction, then that transaction must come after the one it depends on (in the candidate block). That's why the transactions are not strictly in highest-to-lowest fee-per-byte order, although that is the general trend.

I like the idea of showing the fee per byte on the right instead of in the tooltip, as that is relevant and a core part of how the candidate block works. Thank you.

Also, thanks for helping me to share the site.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on January 24, 2017, 10:40:06 AM
Also please check the price. Your site is showing $1233.21. Too good to be true  ;D

Haha, yeah, thanks. Added to my fix list.

I'm using the localbitcoins.com price API, but it can be wildly inaccurate on some currencies for some reason. Going to try bitcoinaverage instead.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on January 24, 2017, 10:40:54 AM
Candidate Block (http://learnmeabitcoin.com/browser/node/candidateblock/) - This is actually trying to be mined on to the blockchain. It refreshes every 20 seconds to include the transactions with the highest fees. (The lowest fee-per-byte transactions tend to be at the bottom of the block, so by hovering over the bottom one, you can work out the minimum fee-per-byte needed to be included in the next block in the blockchain.)

Is this using Bitcoin Core's block creation code?

Yes, it uses getblocktemplate to select the transactions.


Title: Re: A very simple blockchain explorer.
Post by: btc_enigma on January 24, 2017, 11:11:40 AM
Quote
The transactions are selected using the default getblocktemplate command using bitcoin core. As far as I'm aware, fees are generally selected and ordered based on fee per byte. However, when you construct a block, you have to make sure that all transactions are in order... as in, if one transaction uses the outputs of another transaction, then that transaction must come after the one it depends on (in the candidate block). That's why the transactions are not strictly in highest-to-lowest fee-per-byte order, although that is the general trend.

Thanks, make sense. Will be following the project updates.


Title: Re: A very simple blockchain explorer.
Post by: freemanjackal on February 09, 2017, 10:27:52 PM
you have made great job so far, the site is fast and very functional. i just have a question, a doubt from searching blocks in your site. the first blocks dont collected any fees, when was that this started, to become a common practice. was  this always meant to be?


Title: Re: A very simple blockchain explorer.
Post by: tobasco on February 10, 2017, 11:46:45 AM
you have made great job so far, the site is fast and very functional. i just have a question, a doubt from searching blocks in your site. the first blocks dont collected any fees, when was that this started, to become a common practice. was  this always meant to be?

Thank you.

Yes, that is correct, the first blocks did not collect any fees.

This is because fees are used as an incentive for miners to include transactions in to a block. For example, if a miner can only fit 1000 transactions in to a block, and there are 2000 transactions in the memory pool, the miner will select the top 1000 transactions with the highest fees. So if you want to ensure that your transaction gets mined quickly, you should add a juicy fee to it.

However, at the start of bitcoin there were not a lot of transactions, which meant that you didn't have to compete with other transactions for space in a block. Therefore, you could send a transaction with 0 fees, and a miner would probably include it in a block anyway.

Fees started being collected from blocks when there was more competition to get in to a block, and people started adding fees to their transactions.


Title: Re: A very simple blockchain explorer.
Post by: tobasco on February 10, 2017, 11:52:40 AM
New Tool: Find connections between addresses.

  • Address Path (http://learnmeabitcoin.com/tools/path/)

https://i.imgur.com/hAx2oJP.png (http://learnmeabitcoin.com/tools/path/)

This tool will show you if there is a connection between two addresses.

It's very basic at the moment, but I think it could be very useful, so thought I would share it while I work on it.

Example:

Here's a post on Reddit about tracking the movement of Mt Gox stolen coins (https://www.reddit.com/r/Bitcoin/comments/1za9sf/found_at_least_150k_btc_of_mt_goxs_stolen_coins/). I haven't fully read the analysis, but you can use the tool to see that there is a connection between the two addresses mentioned at the top of the post:

1AYtnRppWM7tWQaVLpm7TvcHKrjKxgCRvX and 1KLahQtqDNAXvrjNyfvgSBtAhwco5ZxLp4 (http://learnmeabitcoin.com/tools/path/?start=1AYtnRppWM7tWQaVLpm7TvcHKrjKxgCRvX&end=1KLahQtqDNAXvrjNyfvgSBtAhwco5ZxLp4)


Title: Re: A very simple blockchain explorer.
Post by: johhnyUA on February 10, 2017, 12:26:04 PM
Hmmm, I will necessarily learn this blockexplorer more attentively. There is many interesting functions in it, i hope everything works fine and correct.

But it will be good to add some more functions like hashrate of the chain (maybe also make options "depend by country" ).


Title: Re: A very simple blockchain explorer.
Post by: tobasco on February 10, 2017, 04:41:49 PM
Hmmm, I will necessarily learn this blockexplorer more attentively. There is many interesting functions in it, i hope everything works fine and correct.

But it will be good to add some more functions like hashrate of the chain (maybe also make options "depend by country" ).

Thanks.

Can you explain more about what you mean by "hashrate of the chain"? I have a page that shows you the difficulty: http://learnmeabitcoin.com/browser/node/difficulty/ - are you looking for something different?

By "depend by country", do you mean something like showing the time based on a country's timezone (and not just GMT)?


Title: Re: A very simple blockchain explorer.
Post by: freemanjackal on February 10, 2017, 06:56:43 PM
i didnt know that about fees, i assumed this was from the beginning of btc,that's why tx without fees take so long to get confirmations, just when there aren't enough tx is that they are included, good to know, thanks for the explanation, i understood very well


Title: Re: A very simple blockchain explorer.
Post by: johhnyUA on February 11, 2017, 10:41:54 AM
Hmmm, I will necessarily learn this blockexplorer more attentively. There is many interesting functions in it, i hope everything works fine and correct.

But it will be good to add some more functions like hashrate of the chain (maybe also make options "depend by country" ).

Thanks.

Can you explain more about what you mean by "hashrate of the chain"? I have a page that shows you the difficulty: http://learnmeabitcoin.com/browser/node/difficulty/ - are you looking for something different?

By "depend by country", do you mean something like showing the time based on a country's timezone (and not just GMT)?

Here - https://blockchain.info/ru/charts/hash-rate . It's not a difficulty as you see. It's statistic about how many mining pools (or mining devices) used in bitcoin chain. (can be used for assessment in mining)
Depend by country - depend hashrate by country ) But i think it's very hard to do, maybe impossible.
 


Title: Re: A very simple blockchain explorer.
Post by: tobasco on May 15, 2017, 11:49:15 AM
Update: Path Tool (http://learnmeabitcoin.com/tools/path/)

This tool finds connections between bitcoin addresses.

  • This update makes it much faster. It should now be able to connect any two addresses, no matter how complex.
  • As a result, it should be effective enough for light forensics on the movement of bitcoins between addresses.


Title: Re: A very simple blockchain explorer.
Post by: blacknerd on May 22, 2017, 06:58:52 AM
Hi, excellent website which i found useful.

Are you able to categorize the website because it it being blocked at work :)


Title: Re: A very simple blockchain explorer.
Post by: tobasco on July 10, 2017, 10:59:08 AM
Hi, excellent website which i found useful.

Are you able to categorize the website because it it being blocked at work :)

I can try!

I'm not sure what I need to do to categorize the website though. Do you know how I would go about doing this?


Title: Re: A very simple blockchain explorer.
Post by: tobasco on September 22, 2017, 01:03:32 PM
Learn Me a Bitcoin (http://learnmeabitcoin.com/): Update:

Been working on improving the blockchain explorer over the last few months.

Goal

My aim is to create a fast, lightweight, and easy-to-use blockchain explorer.

Here are some new features:

Node (http://learnmeabitcoin.com/browser/node/):

This page has stayed about the same. However, it now displays the time since the last block was mined:

https://i.imgur.com/l6XDgyr.png (http://learnmeabitcoin.com/browser/node/)

Blockchain (http://learnmeabitcoin.com/browser/blockchain/):

  • Visual display of time between blocks that have been mined, along with tooltip to show the time.
  • Miner is shown next to each block, along with a tooltip of the full coinbase scriptSig.

https://i.imgur.com/X0Sp9S8.png (http://learnmeabitcoin.com/browser/blockchain/)

Block (http://learnmeabitcoin.com/browser/block/):

  • Clicking on the Version field takes you to a page that shows you the bits being used for signalling.
  • Clicking on the Bits field takes you to a page that shows you how the target has been represented in the compact nBits format.

https://i.imgur.com/uWh1Hg2.png (http://learnmeabitcoin.com/browser/block/0000000000000000012ef5a0282fd7807fd5877f75cba84b33205830f1101933)

https://i.imgur.com/PMkPqM5.png (http://learnmeabitcoin.com/browser/block/version/20000002)

https://i.imgur.com/4ul5FVU.png (http://learnmeabitcoin.com/browser/block/bits/18015ddc)

Transaction (http://learnmeabitcoin.com/browser/transaction/266212b38d9306f7950148026706edf024be081cd828764e30ffee6077818304):

  • Now shows output values by default. Should have done this a long time ago, but hey ho, it's there now.

https://i.imgur.com/Ge04MxB.png (http://learnmeabitcoin.com/browser/transaction/266212b38d9306f7950148026706edf024be081cd828764e30ffee6077818304)

Segwit:

Added a bunch of icons to Segwit transactions so that you can spot them when you are browsing through the memory pool (http://learnmeabitcoin.com/browser/node/memorypool/) or through blocks.

Download:

You can now download entire raw blocks or transactions:

https://i.imgur.com/BTjOuLW.png

(scroll to bottom)

General:

  • The site is generally much faster.
  • The latest transactions are tracked much more quickly. So if you make a transaction, you should be able to find it in this blockchain explorer about 1 second after it has been relayed to my node.

As always, I'm open to ideas for improvements  :)


Title: Re: A very simple blockchain explorer.
Post by: tobasco on December 21, 2017, 06:32:08 PM
Quick Update:

Just a couple of changes that might be helpful:

Blockchain (http://learnmeabitcoin.com/browser/blockchain/400418)

Blocks in the blockchain show how "full" they are. So for example, if you're browsing through the blockchain you can easily spot the empty blocks:

https://i.imgur.com/VooerU5.png (http://learnmeabitcoin.com/browser/blockchain/400418)

Transactions (http://learnmeabitcoin.com/browser/transaction/b939c64b40d8601d48fb28df5ef2c4598aa46657ad560c8b8fdf99879b2b6e2e)

The inputs and outputs of a transaction are sized based on their value. This makes it easier to follow the path of large amounts of bitcoins:

https://i.imgur.com/Vi8iipB.png (http://learnmeabitcoin.com/browser/transaction/b939c64b40d8601d48fb28df5ef2c4598aa46657ad560c8b8fdf99879b2b6e2e)
Merry Christmas.

Greg.


Title: Re: A very simple blockchain explorer.
Post by: Bloody Mary on February 01, 2018, 10:21:31 AM
I'm getting "Couldn't connect to bitcoin .. when I click on a block for some reasons ? 


Title: Re: A very simple blockchain explorer.
Post by: RobertPaulig on April 28, 2019, 12:57:14 PM
Can someone explain it to me? On this page https://learnmeabitcoin.com/glossary/private-key you say that:

Quote
A private key can be almost any 256-bit number.
When you create a public key, your private key is put through a special mathematical function, and this function can only handle numbers up to just below 256 bits. The maximum value is:

max = 115792089237316195423570985008687907852837564279074904382605163141518161494337
So when you generate a 256 bit number, you will want to check that it's below this maximum value.

But 2^256 is 115792089237316195423570985008687907853269984665640564039457584007913129639936

You can easily verify this
https://www.wolframalpha.com/input/?i=2%5E256


Title: Re: A very simple blockchain explorer.
Post by: manu2 on September 23, 2022, 03:46:00 PM
Can someone explain it to me? On this page https://learnmeabitcoin.com/glossary/private-key you say that:

Quote
A private key can be almost any 256-bit number.
When you create a public key, your private key is put through a special mathematical function, and this function can only handle numbers up to just below 256 bits. The maximum value is:

max = 115792089237316195423570985008687907852837564279074904382605163141518161494337
So when you generate a 256 bit number, you will want to check that it's below this maximum value.

But 2^256 is 115792089237316195423570985008687907853269984665640564039457584007913129639936

You can easily verify this
https://www.wolframalpha.com/input/?i=2%5E256

The number of private keys are limited by the secp256k1 Elliptic Curve Cryptography algorithm. It is the "n" value listed here https://en.bitcoin.it/wiki/Secp256k1

If you want to understand better how this work programmatically, you should see this very nice explanatory video: https://www.youtube.com/watch?v=iB3HcPgm_FI