# goBlockchainDataAnalysis blockchain data analysis, written in Go #### Not finished - ToDo list To Do list in DevelopmentNotes.md https://github.com/arnaucode/goBlockchainDataAnalysis/blob/master/DevelopmentNotes.md ## Instructions ### Install 1. Nodejs & NPM https://nodejs.org/ --> to get npm packages for the web 2. MongoDB https://www.mongodb.com/ 3. Faircoin wallet https://download.faircoin.world/, or the Cryptocurrency desired wallet 4. goBlockchainDataAnalysis https://github.com/arnaucode/goBlockchainDataAnalysis ### Configure - Wallet /home/user/.faircoin2/faircoin.conf: ``` rpcuser=faircoinrpc rpcpassword=password rpcport=3021 rpcworkqueue=2000 server=1 rpcbind=127.0.0.1 rpcallowip=127.0.0.1 ``` - goBlockchainDataAnalysis/config.json: ```json { "user": "faircoinrpc", "pass": "password", "host": "127.0.0.1", "port": "3021", "genesisTx": "7c27ade2c28e67ed3077f8f77b8ea6d36d4f5eba04c099be3c9faa9a4a04c046", "genesisBlock": "beed44fa5e96150d95d56ebd5d2625781825a9407a5215dd7eda723373a0a1d7", "startFromBlock": 0, "server": { "serverIP": "127.0.0.1", "serverPort": "3014", "webServerPort": "8080", "allowedIPs": [ "127.0.0.1" ], "blockedIPs": [] }, "mongodb": { "ip": "127.0.0.1", "database": "goBlockchainDataAnalysis" } } ``` ### Run 1. Start MongoDB ``` sudo service mongod start ``` 2. Start wallet ``` ./faircoind -txindex -reindex-chainstate ``` Wait until the entire blockchain is downloaded. 3. Run explorer, to fill the database ``` ./goBlockchainDataAnalysis -explore ``` 3.1. The next runs, once the database have data and just need to add last blocks added in the blockchain, can just run: ``` ./goBlockchainDataAnalysis -continue ``` 3.2. If don't want to fill the database, can just run: ``` ./goBlockchainDataAnalysis ``` Webapp will run on 127.0.0.1:8080 4. ADDITIONAL - Run the webserver, directly from the /web directory This can be useful if need to deploy the API server in one machine and the webserver in other. In the /web directory: ``` npm start ``` Webapp will run on 127.0.0.1:8080 ### Additional info - Backend - Go lang https://golang.org/ - MongoDB https://www.mongodb.com/ - Frontend - AngularJS https://angularjs.org/ - Angular-Bootstrap-Material https://tilwinjoy.github.io/angular-bootstrap-material ### Some screenshots Some screenshots can be old, and can contain errors. ![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis00.png "goBlockchainDataAnalysis") ![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis01.png "goBlockchainDataAnalysis") ![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis02.png "goBlockchainDataAnalysis") ![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis03.gif "goBlockchainDataAnalysis")