This is awesome, but just a small comment about "Next block expected in 7 minutes". The next expected block is always due in 10 minutes, no matter when the previous block was generated. Mining is a memoryless process.
> The next expected block is always due in 10 minutes
Not if the current network speed is higher than the difficulty level due to more mining power having come online since the last difficulty change.
You could estimate this by examining the block times over the last 120 (or some N) blocks, estimating the difficulty for that solve rate, and using the ratio of current network difficulty over the the estimated difficulty times 10 minutes.
You are right of course, a dice won't be estimated to roll on a 6 after it failed to do so 5 previous times.
I think the best solution is to remove the expected next block time counter altogether. One of the reasons UX wise I went for such an expected point in the future was that after reading it you are aware a new block will come again (just like when you first load the project) and that might keep you waiting for it.
What do you mean? If blocks are 10min apart (actually less as the network hashrate grows before the difficulty adjustment) and the last block was found 3 minutes ago, a new block is expected to be found after 7 more minutes.
I'm watching a real time 3D visualisation of the generation of a distributed unregulated worldwide crypto-currency using the largest network of computers the world has ever seen.
Screw it I'm off to the Black Sun for a drink and a sword fight.
I developed the same code base to do the same thing a month ago. It also front paged on Hackernews (http://www.earthbit.net ).
I guess the main difference is you're using your own proxy for the queries, which is sturdier than a third party. A worthwhile improvement as mine crashed under the load last time = )
Ah I knew I could not be the first one to come up with this idea. Nice to see an alternative as well! I love the sounds you added.
I like the fact that I provide all data for the website myself, though I'm not in a position to buy a lot of servers. So let's hope this one will hold :)
Other feedback: I suspect there aren't really tons of transactions being relayed out of costa rica - is this possibly the origin point on your globe model or something? Are you filtering out transactions with no geocodable IP?
I am currently unable to host a big node myself so I am relying on Bitcoincharts and the relay IP they detect. All transactions coming from Bitcoincharts itself (the wallet service) have the localhost IP (127.0.0.1). After being unable to find out where the company is based I've choosen to translate that IP to their main website IP (which is hosted in Costa Rica).
If anybody knows where Blockchain.info is based please let me know and I'll fix those transaction locations.
Right, so these are basically the ip addresses of the bitcoind nodes that are the entry point into the bitcoin network. They are not the addresses of the end users who are transacting in BTC. Correct?
You are partly correct. The IP is the node who first told Blockchain.info (assuming that's what this is using) about the transaction. The "entry point" to the network would be when the person sending first transmits it.
There is no way to be sure where a transaction came from, but if you have data about how long it took to reach parts of the network, you can make an educated guess (which becomes more accurate if you have more connections/nodes).
Some people specifically add Blockchain.info to their peer list, but that is bad for anonymity since all your transactions will then list your real IP in the "relayed by" field.
Doesn't work for me unfortunately, I see no textures and a lot of errors like this:
WebGL: INVALID_VALUE: texImage2D: width or height out of range
[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
This is on a retina MacBook Pro. I guess there's some hw incompatibility there.
Great stuff. Where do you get the data? I'm working on a geolocation-centric visualization in webgl that would be a good fit for this kind of realtime(ish) data.
All transaction and block data is from Blockchain.info (https://blockchain.info/api/api_websocket) (you can also get that from the Bitcoin network itself pretty easily) and all geo location data (ip to geo) is from freegeoip.net. All data is proxied through my own server, so I'm not hammering those services.
Orange or gold will complement against the blue/green background, especially when you are popping/zooming out. They get lost in the background when the view pulls out.
[+] [-] bbosh|12 years ago|reply
[+] [-] yetfeo|12 years ago|reply
Not if the current network speed is higher than the difficulty level due to more mining power having come online since the last difficulty change.
You could estimate this by examining the block times over the last 120 (or some N) blocks, estimating the difficulty for that solve rate, and using the ratio of current network difficulty over the the estimated difficulty times 10 minutes.
[+] [-] askmike|12 years ago|reply
I think the best solution is to remove the expected next block time counter altogether. One of the reasons UX wise I went for such an expected point in the future was that after reading it you are aware a new block will come again (just like when you first load the project) and that might keep you waiting for it.
[+] [-] kaoD|12 years ago|reply
[+] [-] BobMarin|12 years ago|reply
[+] [-] noir_lord|12 years ago|reply
Screw it I'm off to the Black Sun for a drink and a sword fight.
[+] [-] ionwake|12 years ago|reply
I developed the same code base to do the same thing a month ago. It also front paged on Hackernews (http://www.earthbit.net ).
I guess the main difference is you're using your own proxy for the queries, which is sturdier than a third party. A worthwhile improvement as mine crashed under the load last time = )
[+] [-] askmike|12 years ago|reply
I like the fact that I provide all data for the website myself, though I'm not in a position to buy a lot of servers. So let's hope this one will hold :)
FYI: Your normal globe wasn't loading for me, I am seeing the same error that bothered my version as well. That is until @mrdoob pointed me to the error: https://twitter.com/mrdoob/status/429292386611511296
[+] [-] bachback|12 years ago|reply
[+] [-] mike_hearn|12 years ago|reply
Really cool visualisation anyway. Like it!
[+] [-] askmike|12 years ago|reply
If anybody knows where Blockchain.info is based please let me know and I'll fix those transaction locations.
[+] [-] siculars|12 years ago|reply
[+] [-] mappum|12 years ago|reply
There is no way to be sure where a transaction came from, but if you have data about how long it took to reach parts of the network, you can make an educated guess (which becomes more accurate if you have more connections/nodes).
Some people specifically add Blockchain.info to their peer list, but that is bad for anonymity since all your transactions will then list your real IP in the "relayed by" field.
[+] [-] mike_hearn|12 years ago|reply
WebGL: INVALID_VALUE: texImage2D: width or height out of range
[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
This is on a retina MacBook Pro. I guess there's some hw incompatibility there.
[+] [-] Tmmrn|12 years ago|reply
In firefox the textures are noticeably darker for some reason.
[+] [-] askmike|12 years ago|reply
[+] [-] mrdoob2|12 years ago|reply
[+] [-] gluelogic|12 years ago|reply
[+] [-] askmike|12 years ago|reply
[+] [-] arscan|12 years ago|reply
[+] [-] askmike|12 years ago|reply
All transaction and block data is from Blockchain.info (https://blockchain.info/api/api_websocket) (you can also get that from the Bitcoin network itself pretty easily) and all geo location data (ip to geo) is from freegeoip.net. All data is proxied through my own server, so I'm not hammering those services.
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] gelutu|12 years ago|reply
[+] [-] askmike|12 years ago|reply
In the next version I want to color them on transaction volume (combined with square sizes).
[+] [-] jboggan|12 years ago|reply
[+] [-] jyz|12 years ago|reply
[+] [-] askmike|12 years ago|reply