Bitcoin Forum
November 09, 2024, 02:22:26 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Beta release of an open source block explorer you can run on top of a node  (Read 856 times)
Yoghurt114 (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
July 16, 2015, 10:30:31 AM
 #1

Hi folks,

I've hobbyistically been working on a block explorer you can run on top of a node for some time now. Yesterday, I decided it was ready for a public beta release.

https://github.com/JornC/bitcoin-transaction-explorer/releases/tag/beta

===

Bitcoin node block explorer

Simple and pure block explorer you can run on top of a full node.

This block explorer patches into your Bitcoin Core node's JSON-RPC interface to retrieve transaction and block information.

It runs as a simple web application you can run on any J2EE Web Container (Jetty, Tomcat, etc.), point it toward your node and you're good to go. (Note: it also supports running on top of Blockr's API and maybe some others later on)

This block explorer remains pure to the blockchain, this means it is not dependent on any source of data other than the blockchain. Bitcoin amount values will not be displayed in fiat, transaction or block receive times do not exist.

In this initial release, even addressess are not recognized, nor can a balance be derived for them (without heaps of effort). Addresses may be integral to bitcoin, but the blockchain itself does not have any knowledge of them, they are not included for this reason.

====

Hosting

This block explorer is currently being hosted on 3 full nodes:

http://srv1.yogh.io - United Kingdom
http://srv2.yogh.io - The Netherlands
http://srv3.yogh.io - Los Angeles

Anyone who would like to host another instance is welcome and encouraged to do so. Instructions to do this are on the GitHub's README.

====

Example usage

The lookup textbox understands a lot of bitcoin related stuff you stick in it. Raw transactions, raw blocks, tx id's, block height, and some keywords.

Block height:
http://yogh.io/#block:height:0
http://yogh.io/#block:height:200000

Block last:
http://yogh.io/#block:last

Block raw:
http://yogh.io/#block:raw:0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDF D7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B 7C

Tx id:
http://yogh.io/#tx:id:f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16

Tx raw:
http://yogh.io/#tx:raw:01000000016d5412cdc802cee86b4f939ed7fc77c158193ce744f1117b5c6b67a4d70c046b01000 0006c493046022100be69797cf5d784412b1258256eb657c191a04893479dfa2ae5c7f2088c7adb e0022100e6b000bd633b286ed1b9bc7682fe753d9fdad61fbe5da2a6e9444198e33a670f012102f 0e17f9afb1dca5ab9058b7021ba9fcbedecf4fac0f1c9e0fd96c4fdc200c1c2ffffffff0245a87e db080000001976a9147d4e6d55e1dffb0df85f509343451d170d14755188ac60e31600000000001 976a9143bc576e6960a9d45201ba5087e39224d0a05a07988ac00000000

It'll parse non-existent and network-invalid transactions just fine, so long as the format is correct, like this one with version number #5, which is pretty cool:
http://yogh.io/#tx:raw:0500000001C997A5E56E104102FA209C6A852DD90660A20B2D9C352423EDCE25857FCD370400000 0004847304402204E45E16932B8AF514961A1D3A1A25FDF3F4F7732E9D624C6C61548AB5FB8CD41 0220181522EC8ECA07DE4860A4ACDD12909D831CC56CBBAC4622082221A8768D1D0901FFFFFFFF0 200CA9A3B00000000434104AE1A62FE09C5F51B13905F07F06B99A2F7159B2225F374CD378D7130 2FA28414E7AAB37397F554A7DF5F142C21C1B7303B8A0626F1BADED5C72A704F7E6CD84CAC00286 BEE0000000043410411DB93E1DCDB8A016B49840F8C53BC1EB68A382E97B1482ECAD7B148A6909A 5CB2E0EADDFB84CCF9744464F82E160BFA9B8B64F9D4C03F999B8643F656B412A3AC00000000

The mining simulator (keyword 'mine'), defaults to simulation mining on top of the tip of the chain:
http://yogh.io/#mine:last
and (secretly) on top of any block you like:
http://yogh.io/#mine:height:0
http://yogh.io/#mine:height:200000
This simulator is mostly a gimmick that's fun to look at, but may be useful for educational purposes.

There's also support for script interpretation and execution:

http://yogh.io/#script:id:6b040cd7a4676b5c7b11f144e73c1958c177fcd79e934f6be8ce02c8cd12546d:1:493046022100be69797cf5d784412b1258256eb657c191a04893479dfa2ae5c7f2088c7adbe0022 100e6b000bd633b286ed1b9bc7682fe753d9fdad61fbe5da2a6e9444198e33a670f012102f0e17f 9afb1dca5ab9058b7021ba9fcbedecf4fac0f1c9e0fd96c4fdc200c1c2

====

Implementation

The web application is a GWT (Google Web Toolkit) project that's patched into, essentially, a JSON-RPC proxy for a Bitcoin Core node. The proxy can be configured to reach out to Blockr's API (and others) if you aren't running a node, although it's always nice to use your own node instead.

The proxy will only request the node's getblock, getblockhash, getbestblockhash and getrawtransaction methods. It constructs (if needed) and forwards raw transaction and block data which will be interpreted locally on the client (in the browser).

It'll run in any J2EE web container when built as a .war file.

====

Contribute

This project got some funding a few months ago which allowed me to host it on multiple nodes. Huge thanks to Jameson Lopp for this.

I encourage anyone who would like to contribute to further development of this explorer. The project could do with some testing, code reviews, dots on the i's, lots of feedback, suggestions for new features, help coding, independent hosting, translations. More eyes looking at it would be good.

Here's a way to donate:

http://srv1.yogh.io/#contribute:

====

Let me know what you think!
ikydesu
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500

fb.com/Bitky.shop | Bitcoin Merch!Premium Quality!


View Profile WWW
July 16, 2015, 04:46:29 PM
 #2

Nice project.

I've already visited your site, i've tried to enter an addy on text box, then press enter, but nothing happens.
On general navigation, i'm not see any problem, but it's better to use "back to main page" button after the page turn to one og general navigation, just my suggestion Grin
Yoghurt114 (OP)
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
July 16, 2015, 09:11:06 PM
 #3

i've tried to enter an addy on text box, then press enter, but nothing happens.

Correct, addresses are not supported because the blockchain, in actuality, isn't aware of their existence. This explorer is meant to be run on top of a full node, full nodes don't keep an index for all addresses that exist, only that which has been indexed for the wallet.

That said, it's probably a good idea to have some kind of feedback for BASE58CHECK input, and show some heuristics. Thanks.

====

The basic idea and design goal of this explorer is to display simply, yet deeply, what the contents of the blockchain are, what they are made of, what they look like and what they mean.

Addresses are 'just' an application on top of the blockchain which allows us to easily assign ownership, but at its core they are not directly related.

Thanks.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!