arnaucube
arnaucube/goBlockchainDataAnalysisPublic Self-hosted repository
goBlockchainDataAnalysis/README.md
README.mdRaw
  1# goBlockchainDataAnalysis
  2blockchain data analysis, written in Go
  3
  4#### Not finished - ToDo list
  5- Backend
  6    - Network Address generation avoiding infinite relation loops
  7    - Sankey Address generation without loops
  8- Frontend
  9    - After Sankey visualization, go to Network Address visualization and render without Sankey dots
 10- Both
 11    - Tx/day
 12    - Tx volume
 13    - Block size
 14    - Blockchain size
 15
 16### Install
 171. Nodejs & NPM https://nodejs.org/ --> to get npm packages for the web
 182. MongoDB https://www.mongodb.com/
 193. Faircoin wallet https://download.faircoin.world/, or the Cryptocurrency desired wallet
 204. goBlockchainDataAnalysis https://github.com/arnaucode/goBlockchainDataAnalysis
 21
 22### Configure
 23- Wallet /home/user/.faircoin2/faircoin.conf:
 24```
 25rpcuser=usernamerpc
 26rpcpassword=password
 27rpcport=3021
 28rpcworkqueue=2000
 29server=1
 30rpcbind=127.0.0.1
 31rpcallowip=127.0.0.1
 32```
 33
 34- goBlockchainDataAnalysis/config.json:
 35```json
 36{
 37    "user": "usernamerpc",
 38    "pass": "password",
 39    "host": "127.0.0.1",
 40    "port": "3021",
 41    "genesisTx": "7c27ade2c28e67ed3077f8f77b8ea6d36d4f5eba04c099be3c9faa9a4a04c046",
 42    "genesisBlock": "beed44fa5e96150d95d56ebd5d2625781825a9407a5215dd7eda723373a0a1d7"
 43}
 44```
 45
 46### Run
 47
 481. Start MongoDB
 49```
 50sudo service mongod start
 51```
 52
 532. Start wallet
 54```
 55./faircoind -txindex -reindex-chainstate
 56```
 57Wait until the entire blockchain is downloaded.
 58
 593. Run explorer, to fill the database
 60```
 61./goBlockchainDataAnalysis -explore
 62```
 63
 64    3.1. The next runs, once the database have data, can just run:
 65```
 66./goBlockchainDataAnalysis
 67```
 68Webapp will run on 127.0.0.1:8080
 69
 704. ADDITIONAL - Run the webserver, directly from the /web directory
 71This can be useful if need to deploy the API server in one machine and the webserver in other.
 72In the /web directory:
 73```
 74npm start
 75```
 76Webapp will run on 127.0.0.1:8080
 77
 78
 79
 80### Additional info
 81- Backend
 82    - Go lang https://golang.org/
 83    - MongoDB https://www.mongodb.com/
 84- Frontend
 85    - AngularJS https://angularjs.org/
 86    - Angular-Bootstrap-Material https://tilwinjoy.github.io/angular-bootstrap-material
 87
 88
 89### Some screenshots
 90
 91![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis00.png "goBlockchainDataAnalysis")
 92
 93![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis06.gif "goBlockchainDataAnalysis")
 94
 95![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis05.png "goBlockchainDataAnalysis")
 96
 97
 98![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis01.png "goBlockchainDataAnalysis")
 99
100
101![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis02.png "goBlockchainDataAnalysis")
102
103
104![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/goBlockchainDataAnalysis04.png "goBlockchainDataAnalysis")