Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
masterhash-us committed Feb 4, 2018
0 parents commit f10d5e2
Show file tree
Hide file tree
Showing 5,879 changed files with 737,700 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
142 changes: 142 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
1.6.1
* fixed last_txs setting
* added hashrate_units setting
* added cryptsy support (markets)
* removed market update lockfile

1.6.0
* Fixed negative/incorrect balance due to sending to yourself (Issues #6, #8)
* Pages found via search now display full url
* Markets backend overhaul/rewrite
* Added Yobit support (markets)
* Added Empoex support (markets)
* Layout redesign
* Layout data (coin supply, connections etc) now fetched via ajax
* Dynamic table data on main view (ajax, updates every 30 seconds)

1.5.2
* fix poloniex href (xCore)
* added links (xCore)
* coinbase balance fix (xCore)
* getaddress balance fix
* added getbalance api call
* finalized getlasttxs api call
* added footer logo

1.5.1
* added labels setting (address labels)

1.5.0
* added theme setting to settings.json
* added bootswatch themes
* new extended api call (getlasttxs)
* Index page now shows last x transactions instead of only last block
* added last_txs settings to settings.json
* mobile fixes
* OP_RETURN/type=nulldata crash fix
* PoS fixes
* search tx confirmation fix
* search tx blockcount fix
* address page redesign

1.4.1

* Added user and password to database settings
* Mongo authentication
* Added alert (index not up-to-date)
* New richlist configuration settings
* added 'npm stop' to kill cluster
* Added logo setting

1.4.0

* Removed mintpal support (markets)
* Added poloniex support (markets)
* Cluster support
* Jasmine test scripts
* getaddress api fix (address not found)
* Base 2 rounding fix (values stored in satoshis)
* DRK fixes
* New current supply setting: BALANCES
* Sync fixes/optimizations
* New setting: show_sent_received

1.3.4

* Added qrcode api
* Added qrcode to address page

1.3.3

* Wealth Distribution stats & charts (richlist)
* New locale settings (richlist)
* Extended api
* getmoneysupply (api)
* getaddress (api)
* getdistribution (api)
* Negative zero balance fix (address)

1.3.2

* HeavyCoin support
* New heavy setting (heavy)
* New rewards page (heavy)
* Current coin supply (coinbase total sent, getinfo.moneysupply, getsupply (heavy))
* New supply setting (supply)
* New txcount setting
* Address txs segfault fix
* Indexing optimizations
* DOS address page fix

1.3.1

* Rich Lists/Top 100
* PoS fixes
* ui fixes
* coinbase address segfault fix
* performance tweaks

1.3.0

* merged blocknotify.js and markets.js into sync.js
* added update and check timeout settings
* local tx index
* input addresses/amounts
* unixtime format (now human friendly date/time)
* fixed genesis crash
* added genesis settings
* local address index
* new address view
* search by address

1.2.1

* updated locale (markets)
* updated index view
* updated tx view
* updated block view
* added optional seach to navbar
* added confirmations setting
* added screenshots

1.2.0

* added jqplot and datatables
* new markets page
* added mintpal support (markets)
* added bittrex support (markets)
* new display setting (markets, twitter)
* new locale entries (markets)
* new settings (markets, api)
* added icons to nav (explorer, markets, api, loading, twitter)
* new twitter setting

1.1.0

* fixed navbar title (was not reading from settings)
* added locale support (and updated views)
* new display setting to toggle menu items (api)

1.0.0

* initial release
28 changes: 28 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Copyright (c) 2015, Iquidus Technology
Copyright (c) 2015, Luke Williams
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of Iquidus Technology nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
167 changes: 167 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
Iquidus Explorer - 1.6.1
================

An open source block explorer written in node.js.

### See it in action

* [Jumbucks](http://explorer.getjumbucks.com)
* [Sphere](http://sphere.iquidus.io)
* [SAR](http://explorer.sarcoin.info)
* [Vanillacoin](https://blockchain.vanillacoin.net/)
* [Neoscoin](http://explorer.infernopool.com/)
* [C2Chain](http://c2chain.info/)

*note: If you would like your instance mentioned here contact me*

### Requires

* node.js >= 0.10.28
* mongodb 2.6.x
* *coind

### Create database

Enter MongoDB cli:

$ mongo

Create databse:

> use explorerdb

Create user with read/write access:

> db.createUser( { user: "iquidus", pwd: "3xp!0reR", roles: [ "readWrite" ] } )

*note: If you're using mongo shell 2.4.x, use the following to create your user:

> db.addUser( { user: "username", pwd: "password", roles: [ "readWrite"] })

### Get the source

git clone https://github.com/iquidus/explorer explorer

### Install node modules

cd explorer && npm install --production

### Configure

cp ./settings.json.template ./settings.json

*Make required changes in settings.json*

### Start Explorer

npm start

*note: mongod must be running to start the explorer*

As of version 1.4.0 the explorer defaults to cluster mode, forking an instance of its process to each cpu core. This results in increased performance and stability. Load balancing gets automatically taken care of and any instances that for some reason die, will be restarted automatically. For testing/development (or if you just wish to) a single instance can be launched with

node --stack-size=10000 bin/instance

To stop the cluster you can use

npm stop

### Syncing databases with the blockchain

sync.js (located in scripts/) is used for updating the local databases. This script must be called from the explorers root directory.

Usage: node scripts/sync.js [database] [mode]

database: (required)
index [mode] Main index: coin info/stats, transactions & addresses
market Market data: summaries, orderbooks, trade history & chartdata

mode: (required for index database only)
update Updates index from last sync to current block
check checks index for (and adds) any missing transactions/addresses
reindex Clears index then resyncs from genesis to current block

notes:
* 'current block' is the latest created block when script is executed.
* The market database only supports (& defaults to) reindex mode.
* If check mode finds missing data(ignoring new data since last sync),
index_timeout in settings.json is set too low.


*It is recommended to have this script launched via a cronjob at 1+ min intervals.*

**crontab**

*Example crontab; update index every minute and market data every 2 minutes*

*/1 * * * * cd /path/to/explorer && /usr/bin/nodejs scripts/sync.js index update > /dev/null 2>&1
*/2 * * * * cd /path/to/explorer && /usr/bin/nodejs scripts/sync.js market > /dev/null 2>&1
*/5 * * * * cd /path/to/explorer && /usr/bin/nodejs scripts/peers.js > /dev/null 2>&1

### Wallet

Iquidus Explorer is intended to be generic so it can be used with any wallet following the usual standards. The wallet must be running with atleast the following flags

-daemon -txindex

### Donate

BTC: 168hdKA3fkccPtkxnX8hBrsxNubvk4udJi
JBS: JZp9893FMmrm1681bDuJBU7c6w11kyEY7D

### Known Issues

**script is already running.**

If you receive this message when launching the sync script either a) a sync is currently in progress, or b) a previous sync was killed before it completed. If you are certian a sync is not in progress remove the index.pid from the tmp folder in the explorer root directory.

rm tmp/index.pid

**exceeding stack size**

RangeError: Maximum call stack size exceeded

Nodes default stack size may be too small to index addresses with many tx's. If you experience the above error while running sync.js the stack size needs to be increased.

To determine the default setting run

node --v8-options | grep -B0 -A1 stack_size

To run sync.js with a larger stack size launch with

node --stack-size=[SIZE] scripts/sync.js index update

Where [SIZE] is an integer higher than the default.

*note: SIZE will depend on which blockchain you are using, you may need to play around a bit to find an optimal setting*

### License

Copyright (c) 2015, Iquidus Technology
Copyright (c) 2015, Luke Williams
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of Iquidus Technology nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
49 changes: 49 additions & 0 deletions UPGRADE
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
Note: All updates require the explorer to be restarted

1.6.0 -> 1.6.1
* Add new cryptsy_id and hashrate_units settings (see settings.json.template)
* remove tmp/market.pid (if it exists)

1.5.2 -> 1.6.0
* Change market settings to new format (see settings.json.template)
* Reindex explorerdb (node --stack-size=15000 scripts/sync.js index reindex)

1.5.1 -> 1.5.2
* nothing required, coinbase balance / wealth distribution will be fixed in next sync.
run sync.js index check to force this if required.

1.5.0 -> 1.5.1
* Optional - Add new labels setting to settings.json (see settings.json.template)

1.4.1 -> 1.5.0
* New database/reindex
* Add new settings to settings.json (see settings.json.template)
* theme
* last_txs

1.4.0 -> 1.4.1
* New database created with read/write access. See README.
* Add new settings to settings.json (see settings.json.template)
* richlist
* logo

1.3.x -> 1.4.0
* New database
* Add new settings to settings.json (see settings.json.template)
* show_sent_received

* note: mintpal support has been dropped, replaced with poloniex. Make sure market settings reflect this (see settings.json.template)

1.3.3 -> 1.3.4
* Install new dependency (qr-image)
npm install

1.3.2 -> 1.3.3
* Restart explorer

1.3.1 -> 1.3.2
* New database
* Add new settings to settings.json (see settings.json.template)
* heavy
* supply
* txcount
Loading

0 comments on commit f10d5e2

Please sign in to comment.