Giter Site home page Giter Site logo

insight's Introduction

insight

Decred fork

insight is an open-source bitcoin blockchain explorer with complete REST and websocket APIs. Insight runs in NodeJS, uses AngularJS for the front-end and LevelDB for storage.

Check some screenshots and more details at insight's project homepage.

Insight project is now split into two repositories. One for the API and for the front-end. This repository is for the front-end, which will install the API as a NPM dependency.

Prerequisites

  • Node.js v0.10.x - Download and Install Node.js.

  • NPM - Node.js package manager, should be automatically installed when you get node.js.

Quick Install

Check the Prerequisites section above before installing.

To install Insight, clone the main repository:

$ git clone https://github.com/bitpay/insight.git && cd insight

Install dependencies:

$ npm install

Run the main application:

$ npm start

Then open a browser and go to:

http://localhost:3001

If insight reports problems connecting to bitcoind please check the CONFIGURATION section of insight-api README. To set the environment variables run something like:

 $ INSIGHT_NETWORK=livenet BITCOIND_USER=user BITCOIND_PASS=pass INSIGHT_PUBLIC_PATH=public  npm start

Please note that the app will need to sync its internal database with the blockchain state, which may take some time. You can check sync progress from within the web interface. More details about that process on insight-api README.

Nginx Setup

To use Nginx as a reverse proxy for Insight, use the following base configuration

Development

To run insight locally for development mode:

Install bower dependencies:

$ bower install

To compile and minify the web application's assets:

$ grunt compile

There is a convinent Gruntfile.js for automation during editing the code

$ grunt

In case you are developing insight and insight-api toghether, you can do the following:

  • Install insight and insight-api on the same path ($IROOT)
  $ cd $IROOT/insight
  $ grunt

in other terminal:

  $ cd $IROOT/insight-api 
  $ ln -s ../insight/public
  $ INSIGHT_PUBLIC_PATH=public node insight.js 
INSIGHT_PUBLIC_PATH=insight/public  grunt

at insight-api's home path (edit the path according your setup).

also in the insight-api path. (So you will have two grunt processes running, one for insight and one for insight-api).

Multilanguage support

insight use angular-gettext for multilanguage support.

To enable a text to be translated, add the translate directive to html tags. See more details here. Then, run:

grunt compile

This action will create a template.pot file in po/ folder. You can open it with some PO editor (Poedit). Read this guide to learn how to edit/update/import PO files from a generated POT file. PO file will be generated inside po/ folder.

If you make new changes, simply run grunt compile again to generate a new .pot template and the angular javascript js/translations.js. Then (if use Poedit), open .po file and choose update from POT File from Catalog menu.

Finally changes your default language from public/src/js/config

gettextCatalog.currentLanguage = 'es';

This line will take a look at any *.po files inside po/ folder, e.g. po/es.po, po/nl.po. After any change do not forget to run grunt compile.

Note

For more details about the insight API configs and end-point, just go to insight API github repository or read the documentation

Contribute

Contributions and suggestions are welcomed at insight github repository.

License

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

insight's People

Contributors

alexlyp avatar andrewfhart avatar bechi avatar blaiseexpmore25 avatar cmgustavo avatar dabura667 avatar dajohi avatar eveiv avatar ionux avatar jcvernaleo avatar jyap808 avatar koirikivi avatar lennie avatar maraoz avatar martindale avatar matiu avatar pierrerochard avatar sandakersmann avatar saschad avatar slavik0329 avatar thesoftwarejedi avatar visvirial avatar wozz avatar yemel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

insight's Issues

Transaction layout suggestions

from sambiohazard on decred IRC: just a suggestion: can we have 2 collapsing section one for newly generated coins at top which contains coinbase and votes, and second with 0-20 sstx on top and then regular tx after that. i said collapsing section cuz mostly people are interested in seeing sstx IMO so they can collapse newly generated coins section, which should be on top so subsidies are visible easily.
also include dev subsidy in newly generated coins section. one more suggestion: current design is only showing txid, i think people recognize tx by their address generally.

Block 1 shows value error

As the title indicates, blocks 0 and 1 in the block explorer sometimes show "value error" for the block reward field.

I imagine this is because of the special nature of the blocks where the genesis block has no subsidy and the block 1 is the block in which all of the initial airdrop and dev coins were created.

Rename dbits to atoms

They are referred to as atoms everywhere else in the software stack, so this should match as well.

Pruned tx is requested with /address/Ds... all tx fail to load

When a tx is not found via RPC request during Address.update it errors out incorrectly.

Appears that getTransaction in app/controllers/transactions.js has incorrect callback return.

Should return err and null txinfo, then above it should catch the err and carry on loading tx

false alerts, Double spent attempt detected

Many transactions will display Double spent attempt detected. From tx: xyz
But then clicking on the tx hash claimed, it says not found.
Since I am the owner of the input, I know that no double spent attempt was sent, so the alert is false.

Bug Report :- Path Traversal [CRITICAL]

Hello Team,
I have found path traversal attack on your website , so in this way attacker perform many attack to compromise your data. so you need to fix this issue asap.

Steps to Reproduce the issue :-
--->>Open this link

  1. https://wallet.decred.org/..%c0%af%7BFILE%7D

Now you see there some directory of your website.

I'm not try to exploit this issue because it's illegal. Before someone do this so please fix this issue.

let me know if you need more info !

I'm working as a Security researcher Individual, so this bug eligible for any bounty ?

looking forward your reply !

Regards
Chand

Remove pagination by day

Sometimes when going to https://mainnet.decred.org/blocks
It will say, "No blocks yet."
Because it thinks its the beginning of the day,..as measures in UTC.
Other times it will only show a few blocks of data.
Remove pagination by day. Pagination should be for a set number of blocks.

Shows wrong block timestamp

Looking at this block, says Timestamp Apr 21, 2016 7:30:46 AM
https://mainnet.decred.org/block/00000000000027d17eb089a438675baa194bcda21029afa7a8692230f2b36f3d
transactions within it all say mined Apr 21, 2016 7:30:46 AM as well.

Yimp also shows Time 2016-04-21 16:30:46 for the same block
Blockhash: 00000000000027d17eb089a438675baa194bcda21029afa7a8692230f2b36f3d
http://yiimp.ccminer.org/explorer?id=1574&height=21267

But, here is the bug, https://mainnet.decred.org/blocks
going down the list, block 21267 says Apr 21, 2016 7:31:05 AM
and most all the other blocks listed look to have a skewed time as well.

Implementation feedback: Navigation

Hi,
I'll keep these issues specific to each case. Starting from the top then:

  1. The logo and navigation should vertically align with the content. First thing logo to the left, search bar being something trickier can either follow the grid or simply stay in the middle.

  2. Search field text:
    Font: Source Sans Pro, Regular
    Color: #5a6d81
    Size: 13 px

  • Centered to field
  • Hides when clicked upon
  • Type text begins aligned to left (next to icon)
  1. Page names and dropdown (Blocks, Status, mDCR/DCR)
    Color: #ffffff
    Hover: Can stay as it is
    Selected/Activated: Box background #132f4b

screen shot 2017-05-23 at 18 37 46

Design documentation for reference: https://www.notion.so/eeter/mainnet-decred-org-29098479211a49b0ae1fa3ec55b83537

show information about locked funds

The blockchain has information about which transactions / addresses contain locked funds. Currently this information is now shown. It may be going into an addresses Final Balance.

Filter by transaction type

Feature request. Filter by transaction type.

In address view

  • Incoming
  • Outgoing

In block view,

  • Votes
  • Tickets
  • Transactions

Update logo

We are still using the old logo, should update to the new one.

calendar selector is using UTC

The blocks page shows the block timestamp in normal time,
but the day on the left hand side of the page is in UTC,
and the pagination happens in UTC as well.
https://mainnet.decred.org/blocks

Other issues with the calendar selector are that it allows selecting of dates prior to Feb 8th for which there is no data. Also, when you open the calendar selector it defaults to todays date rather then the current date you are viewing.

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.