arnaucube
arnaucube/goBlockchainDataAnalysisPublic Self-hosted repository
fixed bug on getting Vin array inside a tx
arnaucode idoctnef@openmailbox.org
Tue, 05 Sep 2017 00:16:48 +0200
commit

3397fc43adf9a6b6fc7f22b55179f5c3bad89404

parent

47b647f010b7dc6e29f8e30b533bd02de37b9601

M DevelopmentNotes.md → DevelopmentNotes.md

@@ -31,9 +31,6 @@ - mantain connection with wallet using websockets

- num address evolution throught time -- fix error in exploreBlockchain.go, when getting the tx.Vin -tx 8f04960da36beaa928b9693f7dca4afae5a6122bb6874d409a1156e4c6c55024 has 4 vin, but exploreBlockchain is only getting the first - - pagination in address network generation - stop rendering dots of sankey, when view change
M README.md → README.md

@@ -102,19 +102,10 @@

### Some screenshots Some screenshots can be old, and can contain errors. -![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis00_new.png "goBlockchainDataAnalysis") - ![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis00.png "goBlockchainDataAnalysis") -![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis06.gif "goBlockchainDataAnalysis") - -![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis05.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/goBlockchainDataAnalysis04.png "goBlockchainDataAnalysis") +![goBlockchainDataAnalysis](https://raw.githubusercontent.com/arnaucode/goBlockchainDataAnalysis/master/screenshots/goBlockchainDataAnalysis03.gif "goBlockchainDataAnalysis")
M exploreBlockchain.go → exploreBlockchain.go

@@ -125,70 +125,70 @@ check(err)

txVi, err := client.GetRawTransactionVerbose(th) check(err) - if len(txVi.Vout[Vi.Vout].ScriptPubKey.Addresses) > 0 { - //add tx to newBlock - newBlock.Tx = append(newBlock.Tx, blockTx.Txid) + //if len(txVi.Vout[Vi.Vout].ScriptPubKey.Addresses) > 0 { + //add tx to newBlock + newBlock.Tx = append(newBlock.Tx, blockTx.Txid) - //Tx save - for _, originAddr := range txVi.Vout[Vi.Vout].ScriptPubKey.Addresses { - originAddresses = append(originAddresses, originAddr) + //Tx save + for _, originAddr := range txVi.Vout[Vi.Vout].ScriptPubKey.Addresses { + originAddresses = append(originAddresses, originAddr) - var newVin Vin - newVin.Txid = blockTx.Txid - newVin.Amount = txVi.Vout[Vi.Vout].Value - newVin.Address = originAddr - newTx.Vin = append(newTx.Vin, newVin) + var newVin Vin + newVin.Txid = blockTx.Txid + newVin.Amount = txVi.Vout[Vi.Vout].Value + newVin.Address = originAddr + newTx.Vin = append(newTx.Vin, newVin) - var n1 NodeModel - n1.Id = originAddr - n1.Label = originAddr - n1.Title = originAddr - n1.Group = strconv.FormatInt(block.Height, 10) - n1.Value = 1 - n1.Shape = "dot" - n1.Type = "address" - saveNode(nodeCollection, n1) + var n1 NodeModel + n1.Id = originAddr + n1.Label = originAddr + n1.Title = originAddr + n1.Group = strconv.FormatInt(block.Height, 10) + n1.Value = 1 + n1.Shape = "dot" + n1.Type = "address" + saveNode(nodeCollection, n1) - //Address - var addr AddressModel - addr.Hash = originAddr - addr.InBittrex = false - saveAddress(addr) + //Address + var addr AddressModel + addr.Hash = originAddr + addr.InBittrex = false + saveAddress(addr) - for k, outputAddr := range outputAddresses { - var eIn EdgeModel - eIn.From = originAddr - eIn.To = txHash - eIn.Label = txVi.Vout[Vi.Vout].Value - eIn.Txid = blockTx.Txid - eIn.Arrows = "to" - eIn.BlockHeight = block.Height - saveEdge(edgeCollection, eIn) + for k, outputAddr := range outputAddresses { + var eIn EdgeModel + eIn.From = originAddr + eIn.To = txHash + eIn.Label = txVi.Vout[Vi.Vout].Value + eIn.Txid = blockTx.Txid + eIn.Arrows = "to" + eIn.BlockHeight = block.Height + saveEdge(edgeCollection, eIn) - var eOut EdgeModel - eOut.From = txHash - eOut.To = outputAddr - eOut.Label = outputAmount[k] - eOut.Txid = blockTx.Txid - eOut.Arrows = "to" - eOut.BlockHeight = block.Height - saveEdge(edgeCollection, eOut) + var eOut EdgeModel + eOut.From = txHash + eOut.To = outputAddr + eOut.Label = outputAmount[k] + eOut.Txid = blockTx.Txid + eOut.Arrows = "to" + eOut.BlockHeight = block.Height + saveEdge(edgeCollection, eOut) - //date analysis - //dateAnalysis(e, tx.Time) - //hour analysis - hourAnalysis(eIn, blockTx.Time) + //date analysis + //dateAnalysis(e, tx.Time) + //hour analysis + hourAnalysis(eIn, blockTx.Time) - //newTx.To = outputAddr + //newTx.To = outputAddr - } } - saveTx(newTx) - } else { - originAddresses = append(originAddresses, "origin") } + /*} else { + originAddresses = append(originAddresses, "origin") + }*/ } + saveTx(newTx) fmt.Print("originAddresses: ") fmt.Println(len(originAddresses)) fmt.Print("outputAddresses: ")
M web/views/addressNetwork/addressNetwork.html → web/views/addressNetwork/addressNetwork.html

@@ -1,6 +1,6 @@

<div class="row"> <div class="col-sm-3"> - <div class="panel-heading c_blueGrey300"> + <div class="panel-heading c_deepPurpleG300to500"> <h3 class="panel-title">All addresses ({{addresses.length}})</h3> </div> <div class="panel-body" style="max-height: 500px;overflow-y: scroll;">

@@ -17,7 +17,7 @@ </div>

</div> </div> <div class="col-sm-9"> - <div class="panel-heading c_blueGrey300"> + <div class="panel-heading c_deepPurpleG300to500"> <h3 class="panel-title">Address history Network Map {{selectedAddress.id}}, BlockHeight: {{selectedAddress.group}}</h3> </div> <div class="panel-body">