Giter Club home page Giter Club logo

insight's Introduction

insight's People

Contributors

16abhimasani avatar andrewfhart avatar bechi avatar bitjson avatar blaiseexpmore25 avatar braydonf avatar cmgustavo avatar codegenieur avatar dabura667 avatar eveiv avatar gasteve avatar ionux avatar jyap808 avatar kleetus avatar koirikivi avatar lennie avatar maraoz avatar martindale avatar matiu avatar micahriggan avatar nitsujlangston avatar pierrerochard avatar pnagurny avatar sandakersmann avatar saschad avatar slavik0329 avatar thesoftwarejedi avatar unusualbob avatar visvirial avatar yemel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

insight's Issues

optimize live update of block height in header

Current solution works like this:

  • connects to socket and listens to 'inv' messages (all new txs and blocks)
  • receives all 'tx' and 'block' messages, discarding the 'tx' ones
  • when a 'block' message arrives, calls the /api/block/$hash API
  • gets the current block height and updates the header

This could be greatly optimized by:

  • create separate channel to receive only 'block' or 'tx' messages
  • add 'height' field to 'block' messages
  • make header only subscribe to 'block' messages and get height from there

Mining Pool Detection

Most mining pools leave a fairly obvious message in the coinbase of the block which allows for a "mined by" field. I've compiled a portion of the ones I'm aware of below, these can be used verbatim and match exactly with the coinbase itself.

ASICminer: Mined By ASICMiner
Bitparking: bitparking
BitMinter: BitMinter
BTCGuild: Mined by BTC Guild BTC Guild
Discus Fish: 七彩神仙鱼 Made in China Mined by user
Discus Fish Solo: For Pierce and Paul
Eligius: Eligius
EclipseMC: EMC EU EclipseMC Aluminum Falcons
50BTC: Hi from 50BTC.com
GHash.io: ghash.io GHash.IO
HHTT: HHTT
Megabigpower: megabigpower.com
175btc.com: Mined By 175btc.com
Ozcoin: ozcoin ozco.in
Polmine: by polmine.pl
Triplemining: Triplemining.com
Slush: slush

If this features gets implemented I'm happy to put in the time to complete this dataset, at a glance there's over 100 total pools that can be detected and displayed in this way. Logically it would be shown in the block view along with other data. The early Eligius coinbases are problematic unfortunately, to detect them would require some sort of scripture-detecting heuristic, @luke-jr hasn't made things easy in that respect.

Syntax error when loading status page

Trying to set up insight, and cannot get any page to render correctly. Keep getting:

Uncaught SyntaxError: Unexpected token < vendors.min.js:1
Uncaught SyntaxError: Unexpected token < angularjs-all.min.js:1

Is there some dependency or prerequisite for angularjs that I'm not aware of?

Plugin support?

Would you like that "insight" supports plugins in the near future?

vs. Blockchain - time to find transaction

I went to blockchain and copied a new tx (just popped up) and pasted into insight - it took about a minute for it to be displayed (complained about the address being invalid for about a minute). Also, the invalid transaction error message persisted (continued to be displayed) even after the transaction had been found.

Disabling Javascript?

I'd like to be able to take an HTML snapshot of an Insight page at a point in time, programmatically, but I don't have access to executing Javascript.

Can we use HTTP content negotiation to render HTML using the same templates and data on the serverside for the first pageload, then when and if Javascript takes over, it starts live updating / using JSON?

CSS independent

If you remove "css" file included from head, the website should be readable yet

UI improvement ideas

In Transaction page:

  • change tx icon to glyphicon-transfer
  • show btc amounts to each address bigger, it's the most important piece of info in the page
  • change fees box color

In Address Page:

  • show total confirmed balance much bigger in the left panel (maybe even over QR code)

Error in tooltips

, the mouse-over on the (U) and (S) says spend / unspend instead of spent / unspent.

Error: Could not connect to bitcoin via RPC: connect ECONNREFUSED

Everytime I run: node insight.js i get this:

    info  - socket.io started
Express server listening on port 3001 in development mode
[Error: Could not connect to bitcoin via RPC: connect ECONNREFUSED]
[historic_sync] ERROR: Error: Could not connect to bitcoin via RPC: connect     
ECONNREFUSED
[historic_sync] ABORTED with error: Could not connect to bitcoin via RPC: connect     
ECONNREFUSED
connecting to 127.0.0.1:18333
connection refused for 127.0.0.1:18333
unkown error with peer 127.0.0.1:18333 (disconnecting): Error: connect     
ECONNREFUSED
disconnected from peer 127.0.0.1:18333

I have no other node processes running so I'm not sure whats up.
any insight(lol) would be helpful!

make transaction details collapsible when clicking the top bar

It would be nice to be able to click on the top bar of every transaction and collapse all the addresses so that one can easily scroll through dates and transactions. Maybe make it collapsable by clicking between the copy button and the "first seen..." string. By collapsible, I mean making only the TXID line visible and hiding the addresses involved (especially with 1enjoy and 1sochi funny guys).

Also changing the tool tip when hovering over the '+' from "show/hide item details" to "show/hide address details" or "show/hide transaction details" would help clear up potential ambiguity.

Initial UI feedback

  1. Left alignment of numbers (transactions and size columns) on blocks page is visually distracting; they should be right aligned.
  2. Latest transactions should slide down rather than pop down.
  3. On Blocks page, ability to choose a date from a calendar widget would be better than scrolling with the arrow keys.
  4. Application status page load time is too long.
  5. I clicked to a block with an invalid address and a red error message was presented at the top of the page. The error message banner should have manual close 'X'.
  6. Keypool Oldest Date says "undefined NaN, NaN NaN:NaN:NaN PM"

App crashes when bitcoind is not running

To reproduce:

/home/maraoz/git/insight/app/controllers/blocks.js:122
              height: info.height,
                          ^
TypeError: Cannot read property 'height' of undefined
    at /home/maraoz/git/insight/app/controllers/blocks.js:122:27
    at /home/maraoz/git/insight/app/controllers/blocks.js:55:14
    at /home/maraoz/git/insight/lib/BlockDb.js:147:23
    at ClientRequest.<anonymous> (/home/maraoz/git/insight/node_modules/bitcore/RpcClient.js:194:7)
    at ClientRequest.EventEmitter.emit (events.js:95:17)
    at Socket.socketErrorListener (http.js:1547:9)
    at Socket.EventEmitter.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:415:13)

Analytics integration

We need to integrate this analytics code in the <head> section of all public websites related to insight:

<script type="text/javascript">
window.analytics||(window.analytics=[]),window.analytics.methods=["identify","track","trackLink","trackForm","trackClick","trackSubmit","page","pageview","ab","alias","ready","group","on","once","off"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var method=window.analytics.methods[i];window.analytics[method]=window.analytics.factory(method)}window.analytics.load=function(t){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)},window.analytics.SNIPPET_VERSION="2.0.8",
window.analytics.load("spackxb01g");
window.analytics.page();
</script>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.