Skip to content
Block explorer for DogeCash Cryptocurrency
Branch: master
Clone or download
Pull request Compare This branch is 49 commits ahead of Liquid369:master.
Latest commit c5fae3c Mar 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
cron more changes Feb 24, 2019
lib
model added reduce Jun 21, 2018
public
script
server
test/server
tmp updated README with crontab info Feb 21, 2018
.babelrc
.editorconfig
.eslintrc.json
.gitignore
.jshintrc restructure, block sync, async/await conversion, start on new web ui Feb 18, 2018
.travis.yml
ISSUE_TEMPLATE.md
LICENSE
PULL_REQUEST_TEMPLATE.md adds templates and licence info Apr 19, 2018
README.md Merge pull request #4 from bulwark-crypto/master Mar 11, 2019
config.template.js Update config.template.js Mar 3, 2019
package.json allow other ips to connect to frontend Feb 24, 2019
webpack.config.js Information Leakage of Logins and possible Exposure Mar 11, 2019
yarn.lock added slack webhook integration Dec 12, 2018

README.md

DogeCash Logo

DogeCash Explorer · GitHub license Build Status Discord GitHub version

Simple cryptocurrency block explorer system.

Required

This repo assumes git, mongodb, node, yarn, and are installed with configuration done. Please adjust commands to your local environment.

Download links:

https://docs.mongodb.com/manual/administration/install-on-linux/

https://nodejs.org/en/download/package-manager/

https://yarnpkg.com/lang/en/docs/install/

It is also required to have the DogeCash 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 DogeCash™ have put together a script to do this for you. Just run

bash script/dogecashd_setup.sh

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

Install

git clone https://github.com/dogecash/dogecash-explorer.git - copy repo to local folder.

cd blockex - change into project directory.

yarn install - install packages used by the system.

Configure

BlockEx API Configuration

cp config.template.js config.js - setup configuration using template.

Database Configuration

mongo - connect using mongo client.

use blockex - switch to database.

db.createUser( { user: "blockexuser", pwd: "Explorer!1", roles: [ "readWrite" ] } ) - create a user with the values stored in the config.js file from above, meaning they should match.

exit - exit the mongo client.

IMPORTANT: You should not build the frontend using the same config.js file as created above or you WILL LEAK sensitive database information.

BlockEx UI Configuration

On the local development machine, not the server/VPS, run cp config.template.js config.js to create new configuration file that will have the UI information in it.

IMPORTANT: You should have two config.js files, one for the server with the sensitive database connection information, and one that is used by the developer/designer on their local machine to configure and build the UI.

Crontab

The following automated tasks are currently needed for BlockEx to update but before running the tasks please update the cron script /path/to/blockex/script/cron_block.sh for the block with the local /path/to/node.

yarn run cron:coin - will fetch coin related information like price and supply from coinmarketcap.com.

yarn run cron:masternode - updates the masternodes list in the database with the most recent information clearing old information before.

yarn run cron:peer - gather the list of peers and fetch geographical IP information.

yarn run cron:block - will sync blocks and transactions by storing them in the database.

yarn run cron:rich - generate the rich list.

Note: is is recommended to run all the crons before editing the crontab to have the information right away. Follow the order above, start with cron:coin and end with cron:rich.

To setup the crontab please see run crontab -e to edit the crontab and paste the following lines (edit with your local information):

*/1 * * * * cd /path/to/blockex && ./script/cron_block.sh >> ./tmp/block.log 2>&1
*/1 * * * * cd /path/to/blockex && /path/to/node ./cron/masternode.js >> ./tmp/masternode.log 2>&1
*/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

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.

Run

yarn run start:api - will start the api.

yarn run start:web - will start the web, open browser http://localhost:8081.

Test

yarn run test:client - will run the client side tests.

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

To-Do

  • Write more tests
  • Cluster support for api
You can’t perform that action at this time.