Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dogecupdate #19

Open
wants to merge 425 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
425 commits
Select commit Hold shift + click to select a range
92b0215
Merge pull request #115 from hodlforjesus/fb-detailed-rewards
hodlforjesus Jun 7, 2019
d1872ed
Improved db cron locking
hodlforjesus Jun 10, 2019
ed98e41
Merge pull request #116 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 10, 2019
c32520a
Improved readability on dateLog
hodlforjesus Jun 10, 2019
1c30449
Merge pull request #117 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 10, 2019
95fd1ce
Fixed config name
hodlforjesus Jun 10, 2019
eebb2d5
Merge pull request #118 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 10, 2019
e1e53c4
Added hasAcquiredLocked to cron
hodlforjesus Jun 14, 2019
21217f2
Merge pull request #119 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 14, 2019
a6d88a0
Attempt to sync with height+1
hodlforjesus Jun 14, 2019
2fb7984
Merge pull request #120 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 14, 2019
5fc2e8d
Update CardExchanges.jsx
LyGhT1337 Jun 14, 2019
ba94071
Merge pull request #121 from LyGhT1337/patch-2
hodlforjesus Jun 14, 2019
a94e453
Fixed topology destruction
hodlforjesus Jun 16, 2019
31bf058
Merge pull request #122 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 16, 2019
2538aca
Fixed vin/vout txs
hodlforjesus Jun 18, 2019
55b7a52
Merge pull request #123 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 18, 2019
aeb04d6
Last block should be included in sync now
hodlforjesus Jun 18, 2019
2f275fe
Merge pull request #124 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 18, 2019
bd812e7
Fixed db start sync
hodlforjesus Jun 18, 2019
b2dcce0
Merge pull request #125 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 18, 2019
f7ec2d7
sync txouts before txins
hodlforjesus Jun 19, 2019
5fd6bc3
Merge pull request #126 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 19, 2019
e2cc193
Added some logging
hodlforjesus Jun 20, 2019
eae5847
Merge pull request #127 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 20, 2019
d787d8f
Fixing UTXO issue
hodlforjesus Jun 20, 2019
34c94bb
Merge pull request #128 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 20, 2019
504c84e
Removed unncessary foreach
hodlforjesus Jun 21, 2019
1fff397
Merge pull request #129 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 21, 2019
471b7e7
Split out POS reward details block cron syncing
hodlforjesus Jun 23, 2019
3ecbe65
Merge pull request #132 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
5ac8703
Fixed txs passing
hodlforjesus Jun 23, 2019
5ef44dd
Merge pull request #133 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
d02373d
Added missing import for cron utils
hodlforjesus Jun 23, 2019
64266ee
Merge pull request #134 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
939e4d9
Added missing param
hodlforjesus Jun 23, 2019
ff8dcd2
Merge pull request #135 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
7f8f900
Added missing pos check
hodlforjesus Jun 23, 2019
6f31b2d
Merge pull request #136 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
5254648
Mongoose document will be returned instead of txDetails
hodlforjesus Jun 23, 2019
52411f3
Merge pull request #137 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 23, 2019
8022646
New logging for blockchain syncing
hodlforjesus Jun 24, 2019
812d761
Fixed saving tx details, added more cron details
hodlforjesus Jun 24, 2019
39114b2
Merge pull request #138 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
11bcef5
Split out new logging
hodlforjesus Jun 24, 2019
9ad100b
Merge pull request #139 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
85d16aa
Added basic overrun protections
hodlforjesus Jun 24, 2019
d176bb1
Merge pull request #140 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
55acd14
Fixed pos data syncing
hodlforjesus Jun 24, 2019
3c05f1f
Merge pull request #141 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
4e2477e
Skipping unsupported txs for now
hodlforjesus Jun 24, 2019
cc593a9
Merge pull request #142 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
3d43fcc
Fixed failing tx
hodlforjesus Jun 24, 2019
4be8676
Merge pull request #143 from hodlforjesus/fb-improved-crons
hodlforjesus Jun 24, 2019
0755191
Added new coinDetails
hodlforjesus Jul 10, 2019
39494c9
Updated footer links
hodlforjesus Jul 10, 2019
a920db0
Updated all links for improved security
hodlforjesus Jul 10, 2019
a0edd71
Updated LICENSE
hodlforjesus Jul 10, 2019
f6b3ad7
Added coin name
hodlforjesus Jul 10, 2019
d74f65c
Merge pull request #144 from hodlforjesus/fb-carver2d
hodlforjesus Jul 10, 2019
03e7ebd
Fixed block reward (pos) reward value
hodlforjesus Jul 13, 2019
cc68672
Added isEmptyNonstandardTx, removing UTXO, removed involvedAddresses
hodlforjesus Jul 13, 2019
201c474
Added Carver2D models
hodlforjesus Jul 13, 2019
6e390f3
Removed involvedAddresses
hodlforjesus Jul 13, 2019
4c9271a
Updated block to include sequence (for sequential blockchain syncing)
hodlforjesus Jul 13, 2019
26d6b40
Removed UTXOs
hodlforjesus Jul 13, 2019
1994047
Working on integrating sequential sync
hodlforjesus Jul 13, 2019
788b2fa
Removing vout from card tx
hodlforjesus Jul 14, 2019
e5a89f8
Added getVinTxIds()
hodlforjesus Jul 14, 2019
8f63e1f
Working on adding carver2d integration
hodlforjesus Jul 14, 2019
a1e1898
WIP: carver2d integration & sequential syncing
hodlforjesus Jul 16, 2019
be61ce3
Finished mapping vin movements
hodlforjesus Jul 17, 2019
f6e630a
Removed Slack, Progressing on Carver2D
hodlforjesus Jul 17, 2019
63fc569
WIP: Carver2D Vout syncing
hodlforjesus Jul 17, 2019
f149194
WIP: Carver2D moved to requiredMovements
hodlforjesus Jul 18, 2019
7e4fe30
Added centralized movements area
hodlforjesus Jul 18, 2019
2cfd168
Carver2D Working Prototype Syncing
hodlforjesus Jul 19, 2019
d5c6a04
Cleanup
hodlforjesus Jul 19, 2019
8497256
Added blockchain sequencing for addreses
hodlforjesus Jul 19, 2019
ee499a1
Fixed movement balances
hodlforjesus Jul 20, 2019
7293837
Fixed syncing & cleanup
hodlforjesus Jul 20, 2019
b0b18fd
New block api
hodlforjesus Jul 21, 2019
e9849ea
New block details list
hodlforjesus Jul 21, 2019
921495b
WIP: Tx tweaks
hodlforjesus Jul 21, 2019
2740974
New top 100
hodlforjesus Jul 21, 2019
043ae44
Zerocoin tweaks for carver
hodlforjesus Jul 21, 2019
76b0043
Block txs are now carver addresses
hodlforjesus Jul 21, 2019
1bd5b3e
New movement types & anayltics data
hodlforjesus Jul 22, 2019
5602ab3
New analytics data & governance addresses
hodlforjesus Jul 22, 2019
2ce4e06
WIP Fee & new types
hodlforjesus Jul 22, 2019
03ba343
WIP: POS Reward breakout
hodlforjesus Jul 23, 2019
8c33a85
Added config template comment
hodlforjesus Jul 24, 2019
616bbad
Added POS, MN & Governance movements
hodlforjesus Jul 24, 2019
ed85cb1
New movement types
hodlforjesus Jul 24, 2019
e8ca965
Added new movement types syncing
hodlforjesus Jul 24, 2019
3032b3f
Added POW,POS,MN & GOVERNANCE rewards targeting
hodlforjesus Jul 25, 2019
1ffa640
New data points
hodlforjesus Jul 25, 2019
0514695
Removed UTXO
hodlforjesus Jul 27, 2019
d1da15c
Initial version of perfect ledger
hodlforjesus Jul 28, 2019
2558a54
Initial carver2d release
hodlforjesus Jul 29, 2019
b095fc6
Improved syncing speed
hodlforjesus Jul 30, 2019
63fb733
Adding some performance logging
hodlforjesus Jul 30, 2019
0745e41
Removed unnecessary sync
hodlforjesus Jul 30, 2019
e1cca87
Added paralllel saving for addresses
hodlforjesus Jul 30, 2019
8dfbfed
pos analytics fix
hodlforjesus Jul 30, 2019
ab6299b
Fixed order of events
hodlforjesus Jul 30, 2019
9d0fc25
Removed some pos analytics, Temporary fix for block conflicts
hodlforjesus Jul 31, 2019
81f8020
Added Recursive Sequential Blockchain Unreconciliation
hodlforjesus Aug 2, 2019
7022cd2
Moved confirms (temp)
hodlforjesus Aug 2, 2019
a85093e
check all blocks
hodlforjesus Aug 2, 2019
e56dde0
changed to continue
hodlforjesus Aug 2, 2019
38f48cb
Added failing block
hodlforjesus Aug 2, 2019
97f0c7b
Fixed block height
hodlforjesus Aug 2, 2019
c6b669d
Fix pos tracking for POS movements
hodlforjesus Aug 3, 2019
da5f2c0
Added desktop menu expanded by config & storing
hodlforjesus Aug 3, 2019
0312350
CoinSummary will only show featured addresses
hodlforjesus Aug 3, 2019
564be61
Improved delay between masternode syncs
hodlforjesus Aug 3, 2019
bc06367
New config addresses
hodlforjesus Aug 3, 2019
54ef452
Mobile & sizing tweaks
hodlforjesus Aug 3, 2019
ab509a7
New Address widget
hodlforjesus Aug 3, 2019
0a508d5
Updated menu labels
hodlforjesus Aug 3, 2019
08b1ea5
Added tx icons for rewards
hodlforjesus Aug 4, 2019
ea5a43a
Added badge widget
hodlforjesus Aug 4, 2019
6de19dc
Fixed reconciliation & unreconciliation orders
hodlforjesus Aug 4, 2019
0cd4095
Removed old txs
hodlforjesus Aug 7, 2019
0750902
New unreconciliation mechism & POW Reward Tracking
hodlforjesus Aug 7, 2019
088a5f2
POW tracking fix & pos unreconciliation update
hodlforjesus Aug 8, 2019
06ba7ea
Fixed POW count
hodlforjesus Aug 8, 2019
4ce48e7
Fixed pos count
hodlforjesus Aug 8, 2019
d25d388
Added POS rewards back
hodlforjesus Aug 9, 2019
181e237
New carver data display
hodlforjesus Aug 10, 2019
eabcb05
Added filtering
hodlforjesus Aug 11, 2019
2a189c5
Removed testing of unreconciliation
hodlforjesus Aug 11, 2019
816dbaf
Sequential unreconciliation updates
hodlforjesus Aug 13, 2019
562febe
Updated to chained sequential blockchain movements
hodlforjesus Aug 13, 2019
3b001d7
Carver UTXOs WIP
hodlforjesus Aug 17, 2019
f8198eb
WIP: Address movements consolidation
hodlforjesus Aug 18, 2019
92a55b5
WIP: Simplified Carver Movements
hodlforjesus Aug 18, 2019
da8b97b
WIP: Simplified addresses
hodlforjesus Aug 22, 2019
8388743
Added new caching for carver movements
hodlforjesus Aug 24, 2019
017bb8e
WIP: Carver2D rev3
hodlforjesus Aug 25, 2019
d2ff955
WIP: Rev3 Carver2D structure
hodlforjesus Aug 26, 2019
29a795a
Initial Carver2D Rev3 syncing
hodlforjesus Aug 27, 2019
7048129
Rev3 Syncing updates
hodlforjesus Aug 29, 2019
8d0f6be
Zerocoin fixes for 100% sync
hodlforjesus Aug 30, 2019
eb18342
Added new movements page
hodlforjesus Sep 2, 2019
370bf63
Removed rewards from movements
hodlforjesus Sep 2, 2019
dea7aaf
Added Tx View
hodlforjesus Sep 2, 2019
6ba81b3
New api address endpoint & New Perfect Ledger
hodlforjesus Sep 5, 2019
0cd7f52
Amount in/out split for movements (Batch of features)
hodlforjesus Sep 6, 2019
7526d55
Masternode API updates
hodlforjesus Sep 7, 2019
6d18633
Added chained sequential unreconcilation for Rev3
hodlforjesus Sep 7, 2019
02da877
Early Carver2D launch
hodlforjesus Sep 9, 2019
8b61691
Fixed Movements amount & total
hodlforjesus Sep 9, 2019
69a1cc8
Fixed tx block value
hodlforjesus Sep 9, 2019
cc3d02f
Fixed restake indicator
hodlforjesus Sep 9, 2019
bff3507
New POS calculator & coin summary
hodlforjesus Sep 11, 2019
3272a06
Updated verbage
hodlforjesus Sep 11, 2019
b675d01
Update summary stats
hodlforjesus Sep 12, 2019
60e4602
Fixed last active for addresses
hodlforjesus Sep 12, 2019
4543d37
Updated install script
hodlforjesus Sep 13, 2019
174f7fe
Updated readme
hodlforjesus Sep 13, 2019
056929c
fixed advanced analytics sync
hodlforjesus Sep 13, 2019
95f412b
Added detailed TX rewards breakdown
hodlforjesus Sep 14, 2019
1fac031
Disabled restake link in pos block reward for now
hodlforjesus Sep 14, 2019
364c46f
Received amount will no longer count mn rewards
hodlforjesus Sep 14, 2019
42a2ee0
We'll fix it live
hodlforjesus Sep 14, 2019
da7170b
Added stake input amount
hodlforjesus Sep 14, 2019
ff9c46a
New POS ranking based on 24h avg%
hodlforjesus Sep 14, 2019
969e815
Updated pos ranking system
hodlforjesus Sep 14, 2019
4e839e3
Reworked masternodes page
hodlforjesus Sep 16, 2019
ba27c38
Fixed staking card for non-pos txs
hodlforjesus Sep 16, 2019
45a8563
masternode address will no longer be truncated
hodlforjesus Sep 16, 2019
b4bf687
New customizable block countdown widget
hodlforjesus Sep 17, 2019
540e586
Swapped the icon for countdown
hodlforjesus Sep 17, 2019
dbc8626
Swapped the icon for countdown, extended HorizontalRule selects
hodlforjesus Sep 18, 2019
3da9d02
Added address widget to label
hodlforjesus Sep 18, 2019
aacc56b
Added correct per-block masternode ROI%
hodlforjesus Sep 19, 2019
267ac74
Updated titles
hodlforjesus Sep 19, 2019
fa181fb
Added new advanced charting
hodlforjesus Sep 22, 2019
39f5969
Added yarn lightweight-charts
hodlforjesus Sep 22, 2019
9c69f26
Added new chart: daily transactions
hodlforjesus Sep 22, 2019
7fc8a67
Reworked action dispatcher, Added Average pos input size chart
hodlforjesus Sep 24, 2019
39adc02
Added per-address POS averages
hodlforjesus Sep 24, 2019
0656831
Added new pos calculator fields (age,sum rewards,input value)
hodlforjesus Sep 25, 2019
8be27f3
Added unique addresses for calculator
hodlforjesus Sep 25, 2019
229d1f6
New POS calculator comparison
hodlforjesus Sep 27, 2019
93f71e9
A set of core updates to Carver sync
hodlforjesus Sep 29, 2019
f12a30c
Testing syncing time intervals
hodlforjesus Sep 29, 2019
b650b1f
We'll do it live
hodlforjesus Sep 29, 2019
53625e1
Added sendrawtransaction
hodlforjesus Sep 29, 2019
495962c
Time based intervals will now sync daily automatically
hodlforjesus Oct 1, 2019
f52423f
Changed oreder of sorting
hodlforjesus Oct 1, 2019
63ff8e6
Fixed maxIntervalNumber for utc
hodlforjesus Oct 1, 2019
1203873
Testing server date difference
hodlforjesus Oct 1, 2019
6cce02a
Server date testing 2
hodlforjesus Oct 1, 2019
70b1239
Debugging server timezone
hodlforjesus Oct 1, 2019
e14dc02
Fixed utc parsing
hodlforjesus Oct 1, 2019
fb9c6bd
Updated blocks page
hodlforjesus Oct 2, 2019
a6eb2ab
Fixed top 100 rewards
hodlforjesus Oct 3, 2019
beaed05
Added new MN ROI calculation
hodlforjesus Oct 3, 2019
e189598
Merge pull request #150 from hodlforjesus/fb-carver2d
hodlforjesus Oct 3, 2019
05e7a31
Replaced BWK with name from config
hodlforjesus Oct 3, 2019
bca2f74
Added per-block mn breakdown, fixed pos pagination, QOL Improvements
hodlforjesus Oct 3, 2019
1f3065a
Merge pull request #151 from hodlforjesus/fb-carver2d
hodlforjesus Oct 3, 2019
2b459ca
Added address tagging
hodlforjesus Oct 5, 2019
cb53bbf
Added optional tagging for addresses
hodlforjesus Oct 5, 2019
62242bb
Added conditional masternode address filtering
hodlforjesus Oct 5, 2019
adbdcdf
Added per-address masternode label
hodlforjesus Oct 5, 2019
6825a96
Swapped order of address nodes
hodlforjesus Oct 5, 2019
69db9a8
Merge pull request #152 from hodlforjesus/fb-carver2d
hodlforjesus Oct 5, 2019
9fa7840
Moved the masternode address widget above transactions
hodlforjesus Oct 5, 2019
18a56b0
Added transaction filtering
hodlforjesus Oct 6, 2019
1a0b903
Merge pull request #153 from hodlforjesus/fb-carver2d
hodlforjesus Oct 6, 2019
ae9f692
Added snoowrap for reddit integration
hodlforjesus Oct 8, 2019
3ae7d2f
Added snoowrap for reddit integration, updated webpack
hodlforjesus Oct 8, 2019
11168b5
Fixed webpack build
hodlforjesus Oct 8, 2019
0058947
Updated install script to use new config structure
hodlforjesus Oct 8, 2019
9cad184
New config structure
hodlforjesus Oct 8, 2019
ed8cc7b
Added db & rpc fetching from new config file
hodlforjesus Oct 8, 2019
09c1d16
Added reddit placeholder sync file
hodlforjesus Oct 8, 2019
259c065
Merge pull request #154 from hodlforjesus/fb-carver2d
hodlforjesus Oct 8, 2019
9ffa5bf
WIP: Reddit integration
hodlforjesus Oct 9, 2019
c0dee5a
Added Initial social aggregation (reddit)
hodlforjesus Oct 11, 2019
5cc3488
WIP social feed
hodlforjesus Oct 12, 2019
33fee6c
Added material-ui, react-markdown
hodlforjesus Oct 12, 2019
dc2c2d5
Layout updates for social
hodlforjesus Oct 12, 2019
a0f6e52
Merge pull request #155 from hodlforjesus/fb-carver2d
hodlforjesus Oct 12, 2019
4230337
Added minimizer back
hodlforjesus Oct 12, 2019
864feea
Merge pull request #156 from hodlforjesus/fb-carver2d
hodlforjesus Oct 13, 2019
d05170e
New login endpoint for Off-Chain Sign On
hodlforjesus Oct 14, 2019
d2123f4
Updated fetch to handle POSTs
hodlforjesus Oct 14, 2019
6dfc6f8
New config for SSO
hodlforjesus Oct 14, 2019
0e5e5c3
Updated spacing on markdown
hodlforjesus Oct 14, 2019
0ef7f45
New server Off-Chain Sign On endpoint routing
hodlforjesus Oct 14, 2019
de24f43
Updated social feed pagination
hodlforjesus Oct 14, 2019
7acc284
New button for Proof of Ownership
hodlforjesus Oct 14, 2019
ef41615
New reducer for user state & login
hodlforjesus Oct 14, 2019
2e8f4ed
Merge pull request #157 from hodlforjesus/fb-carver2d
hodlforjesus Oct 14, 2019
01f3c1d
expanded character limit
hodlforjesus Oct 15, 2019
7dade4e
Merge pull request #158 from hodlforjesus/fb-carver2d
hodlforjesus Oct 15, 2019
e77e828
Resolved white screen on installation
hodlforjesus Nov 20, 2019
cc5759f
Merge pull request #160 from hodlforjesus/fb-carver2d
hodlforjesus Nov 20, 2019
1c96fe0
Added comments to config
hodlforjesus Nov 20, 2019
aafe5a0
Merge pull request #161 from hodlforjesus/fb-carver2d
hodlforjesus Nov 20, 2019
4fa4df6
Clarification for config
hodlforjesus Nov 20, 2019
901a750
Merge pull request #167 from hodlforjesus/fb-carver2d
hodlforjesus Nov 20, 2019
7833a6c
Updated readme crontab
hodlforjesus Nov 21, 2019
b265e3a
Merge pull request #168 from hodlforjesus/fb-carver2d
hodlforjesus Nov 21, 2019
803a975
remove gitatributes that cause unecessary unstaged files
akshaynexus Oct 19, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .gitattributes
Empty file.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ typings/
# dotenv environment variables file
.env

# setings file for syste
# setings file for system
config.js
config.server.js
*.cron_lock

.DS_Store
Expand Down
3 changes: 1 addition & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
MIT License

Copyright (c) 2018 Dustin
Copyright (c) Bulwark Cryptocurrency
Copyright (c) 2018-2019 Bulwark Cryptocurrency

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
8 changes: 3 additions & 5 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
Fixes #

## Proposed Changes

-
-
-
- Change
- Change
- Change
67 changes: 59 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,45 @@ Bulwark Explorer
[![GitHub license](https://img.shields.io/github/license/bulwark-crypto/bulwark-explorer.svg)](https://github.com/bulwark-crypto/bulwark-explorer/blob/master/COPYING) [![Build Status](https://travis-ci.org/bulwark-crypto/bulwark-explorer.svg?branch=master)](https://travis-ci.org/bulwark-crypto/bulwark-explorer) [![Discord](https://img.shields.io/discord/374271866308919296.svg)](https://discord.me/bulwarkcrypto) [![GitHub version](https://badge.fury.io/gh/bulwark-crypto%2Fbulwark-explorer.svg)](https://badge.fury.io/gh/bulwark-crypto%2Fbulwark-explorer)
=====

Simple cryptocurrency block explorer system.
The most advanced blockchain eplorer for masternode, proof-of-stake and proof-of-work chains.

Features:

- Address-to-address blockchain data storage powered by Bulwark Carver2D Rev3 algorithm
- World's most advanced Proof Of Stake calculator based on real blockchain rewards data
- Running address balance powered by Bulwark's "Perfect Ledger" technology
- Per-block POS, POW, MN rewards breakdown
- Detailed per-address rewards breakdown and rewards summary
- Automatic chain rewinding
- Graceful error recovery (Unreconciliation)

# Easy Installation Instructions

1. SSH into a clean UBUNTU 18.04 VPS with root access
2. `apt-get install git`
3. `adduser explorer`
4. `usermod -aG sudo explorer`
5. Ensure your coin RPC is running
6. `su explorer`
7. `bash <( curl https://raw.githubusercontent.com/bulwark-crypto/bulwark-explorer/master/script/install.sh )`

## Post-Installation

Check block syncing status with `tail -f /home/explorer/blockex/tmp/block.log`

You will most likely see `Error: connect ECONNREFUSED` this is because your RPC username/password/port do not match your coin. Please check your coin `.config` file (ex: `/home/explorer/.bulwark/bulwark.conf`)

You will see something like this:
```
rpcport=52541
rpcuser=someuserhere
rpcpassword=somepasswordhere
daemon=1
txindex=1
```
Please ensure your `/home/explorer/blockex/config.js` matches the rpc information of your coin.

# Advanced Installation Instructions

## Required
This repo assumes `git`, `mongodb`, `node`, `yarn`, and are installed with configuration done. Please adjust commands to your local environment.
Expand All @@ -20,13 +58,11 @@ https://yarnpkg.com/lang/en/docs/install/

It is also required to have the Bulwark daemon running in the background. It is recommended to set this up before beginning to set up the explorer so that it syncs by the time you need it.

Our geniuses here at BulwarkCorp™ have put together a script to do this for you. Just run

`bash script/bulwarkd_setup.sh`
Our geniuses here at BulwarkCorp™ have put together a script to Install Bulwark daemon. Just run `bash script/bulwarkd_setup.sh`

This will install the latest Bulwark wallet and create a rpc username/password before starting the daemon.

## Install
## Manual Install
`git clone https://github.com/bulwark-crypto/bulwark-explorer.git` - copy repo to local folder.

`cd blockex` - change into project directory.
Expand Down Expand Up @@ -75,7 +111,11 @@ To setup the crontab please see run `crontab -e` to edit the crontab and paste t
*/1 * * * * cd /path/to/blockex && /path/to/node ./cron/peer.js >> ./tmp/peer.log 2>&1
*/1 * * * * cd /path/to/blockex && /path/to/node ./cron/rich.js >> ./tmp/rich.log 2>&1
*/5 * * * * cd /path/to/blockex && /path/to/node ./cron/coin.js >> ./tmp/coin.log 2>&1
0 0 * * * cd /path/to/blockex && /path/to/node ./cron/timeIntervals.js >> ./tmp/timeIntervals.log 2>&1
```
For crontab config:
- `/path/to/blockex` example is `/home/explorer/blockex`
- `/path/to/node` example is `/usr/bin/nodejs`

## Build
At this time only the client web interface needs to be built using webpack and this can be done by running `yarn run build:web`. This will bundle the application and put it in the `/public` folder for delivery.
Expand All @@ -90,6 +130,17 @@ At this time only the client web interface needs to be built using webpack and t

`yarn run test:server` - will test the rpc connection, database connection, and api endpoints.

## To-Do
- Write more tests
- Cluster support for api
## Development - Important File Locations

#### Client - Frontend (react, react-redux)

`client/App.jsx` - Contains all react routes to components (using react-router-dom)

`client/core/Reducers.jsx` - Contains all reducers used in redux `connect()` mapping (using react-redux)

`client/core/Actions.jsx` - Contains all actions used in redux `connect()` mapping (using react-redux)


#### Server - Rest API (node, express, mongo, mongoose)

`server/route/api.js` - Contains all public rest api endpoint routes
52 changes: 27 additions & 25 deletions client/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import FAQ from './container/FAQ';
import Masternode from './container/Masternode';
import Movement from './container/Movement';
import Overview from './container/Overview';
import Rewards from './container/Rewards';
import Peer from './container/Peer';
import PoS from './container/PoS';
import Statistics from './container/Statistics';
Expand Down Expand Up @@ -60,9 +61,9 @@ class App extends Component {

componentDidMount() {
promise.all([
this.props.getCoins({ limit: 12 }),
this.props.getTXs({ limit: 10 })
])
this.props.getCoins({ limit: 12 }),
this.props.getTXs({ limit: 10 })
])
.then(() => {
this.getCoins();
this.getTXs();
Expand Down Expand Up @@ -126,14 +127,14 @@ class App extends Component {
// Setup path for search.
let path = '/#/';
if (isAddress(term)) {
document.location.href = `/#/address/${ term }`;
document.location.href = `/#/address/${term}`;
} else if (!isNaN(term)) {
document.location.href = `/#/block/${ term }`;
document.location.href = `/#/block/${term}`;
} else {
this.props
.getIsBlock(term)
.then((is) => {
document.location.href = `/#/${ is ? 'block' : 'tx' }/${ term }`;
document.location.href = `/#/${is ? 'block' : 'tx'}/${term}`;
});
}
};
Expand All @@ -148,33 +149,34 @@ class App extends Component {
return (
<HashRouter>
<div className="page-wrapper">
<Menu onSearch={ this.handleSearch } />
<Menu onSearch={this.handleSearch} />
<div className="content" id="body-content">
<div className="content__wrapper">
{/* <Notification /> */}
<CoinSummary
onRemove={ this.handleRemove }
onSearch={ this.handleSearch }
searches={ this.state.searches.reverse() } />
onRemove={this.handleRemove}
onSearch={this.handleSearch}
searches={this.state.searches.reverse()} />
<SearchBar
className="d-none d-md-block mb-3"
onSearch={ this.handleSearch } />
onSearch={this.handleSearch} />
<div className="content__inner-wrapper">
<Switch>
<Route exact path="/" component={ Overview } />
<Route exact path="/address/:hash" component={ Address } />
<Route exact path="/api" component={ API } />
<Route exact path="/block/:hash" component={ Block } />
<Route exact path="/coin" component={ CoinInfo } />
<Route exact path="/faq" component={ FAQ } />
<Route exact path="/masternode" component={ Masternode } />
<Route exact path="/movement" component={ Movement } />
<Route exact path="/peer" component={ Peer } />
<Route exact path="/pos/:amount" component={ PoS } />
<Route exact path="/statistics" component={ Statistics } />
<Route exact path="/top" component={ Top100 } />
<Route exact path="/tx/:hash" component={ TX } />
<Route component={ Error404 } />
<Route exact path="/" component={Overview} />
<Route exact path="/address/:hash" component={Address} />
<Route exact path="/api" component={API} />
<Route exact path="/block/:hash" component={Block} />
<Route exact path="/coin" component={CoinInfo} />
<Route exact path="/faq" component={FAQ} />
<Route exact path="/masternode" component={Masternode} />
<Route exact path="/rewards" component={Rewards} />
<Route exact path="/movement" component={Movement} />
<Route exact path="/peer" component={Peer} />
<Route exact path="/pos/:fromInputAmount/:toInputAmount/:date/:restakeOnly" component={PoS} />
<Route exact path="/statistics" component={Statistics} />
<Route exact path="/top" component={Top100} />
<Route exact path="/tx/:hash" component={TX} />
<Route component={Error404} />
</Switch>
</div>
<Footer />
Expand Down
Loading