You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
arnaucode 1283c82856 Merge branch 'master' of https://github.com/arnaucode/goBlockchainDataAnalysis 6 years ago
screenshots added months tx/day evolution chart 6 years ago
web added months tx/day evolution chart 6 years ago
.gitignore implemented getLast24HourAnalysis, to show the Tx/Hour of the last 24 hours 6 years ago
DevelopmentNotes.md fixed bug on getting Vin array inside a tx 6 years ago
LICENSE Initial commit 6 years ago
README.md added months tx/day evolution chart 6 years ago
addressTree.go updated to new version of btcsuite. Implemented blockchain stats on exploring blockchain, and show it in frontend 6 years ago
configEXAMPLE.json implemented getLast24HourAnalysis, to show the Tx/Hour of the last 24 hours 6 years ago
continuousTasks.go added continuous block exploration each minute 6 years ago
dateAnalysis.go added tx page in frontend and backend route. Added address tx chart time analysis 6 years ago
errors.go sankey in frontend works, added logs system, added getLastTx in backend and frontend 6 years ago
exploreBlockchain.go fixed bug on getting Vin array inside a tx 6 years ago
goBlockchainDataAnalysis implemented sankey of block.txs[] and from tx, in frontend and backend 6 years ago
ipFilter.go added block, tx, address models and store them in mongodb. Joined config files to one config.json file 6 years ago
log.go sankey in frontend works, added logs system, added getLastTx in backend and frontend 6 years ago
main.go added continuous block exploration each minute 6 years ago
mongoModels.go added months tx/day evolution chart 6 years ago
mongoOperations.go updated to new version of btcsuite. Implemented blockchain stats on exploring blockchain, and show it in frontend 6 years ago
readConfig.go added block, tx, address models and store them in mongodb. Joined config files to one config.json file 6 years ago
serverConfig.go added block, tx, address models and store them in mongodb. Joined config files to one config.json file 6 years ago
serverRoutes.go added months tx/day evolution chart 6 years ago
stats.go updated to new version of btcsuite. Implemented blockchain stats on exploring blockchain, and show it in frontend 6 years ago

README.md

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:
{
    "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
  1. Start wallet
./faircoind -txindex -reindex-chainstate

Wait until the entire blockchain is downloaded.

  1. 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

  1. 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

Some screenshots

Some screenshots can be old, and can contain errors.

goBlockchainDataAnalysis

goBlockchainDataAnalysis

goBlockchainDataAnalysis

goBlockchainDataAnalysis