This commit is contained in:
arnaucode
2017-09-15 13:40:21 +02:00
2 changed files with 51 additions and 54 deletions

View File

@@ -31,9 +31,6 @@ other
- num address evolution throught time - 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 - pagination in address network generation
- stop rendering dots of sankey, when view change - stop rendering dots of sankey, when view change

View File

@@ -125,70 +125,70 @@ func explore(client *rpcclient.Client, blockHash string) {
txVi, err := client.GetRawTransactionVerbose(th) txVi, err := client.GetRawTransactionVerbose(th)
check(err) check(err)
if len(txVi.Vout[Vi.Vout].ScriptPubKey.Addresses) > 0 { //if len(txVi.Vout[Vi.Vout].ScriptPubKey.Addresses) > 0 {
//add tx to newBlock //add tx to newBlock
newBlock.Tx = append(newBlock.Tx, blockTx.Txid) newBlock.Tx = append(newBlock.Tx, blockTx.Txid)
//Tx save //Tx save
for _, originAddr := range txVi.Vout[Vi.Vout].ScriptPubKey.Addresses { for _, originAddr := range txVi.Vout[Vi.Vout].ScriptPubKey.Addresses {
originAddresses = append(originAddresses, originAddr) originAddresses = append(originAddresses, originAddr)
var newVin Vin var newVin Vin
newVin.Txid = blockTx.Txid newVin.Txid = blockTx.Txid
newVin.Amount = txVi.Vout[Vi.Vout].Value newVin.Amount = txVi.Vout[Vi.Vout].Value
newVin.Address = originAddr newVin.Address = originAddr
newTx.Vin = append(newTx.Vin, newVin) newTx.Vin = append(newTx.Vin, newVin)
var n1 NodeModel var n1 NodeModel
n1.Id = originAddr n1.Id = originAddr
n1.Label = originAddr n1.Label = originAddr
n1.Title = originAddr n1.Title = originAddr
n1.Group = strconv.FormatInt(block.Height, 10) n1.Group = strconv.FormatInt(block.Height, 10)
n1.Value = 1 n1.Value = 1
n1.Shape = "dot" n1.Shape = "dot"
n1.Type = "address" n1.Type = "address"
saveNode(nodeCollection, n1) saveNode(nodeCollection, n1)
//Address //Address
var addr AddressModel var addr AddressModel
addr.Hash = originAddr addr.Hash = originAddr
addr.InBittrex = false addr.InBittrex = false
saveAddress(addr) saveAddress(addr)
for k, outputAddr := range outputAddresses { for k, outputAddr := range outputAddresses {
var eIn EdgeModel var eIn EdgeModel
eIn.From = originAddr eIn.From = originAddr
eIn.To = txHash eIn.To = txHash
eIn.Label = txVi.Vout[Vi.Vout].Value eIn.Label = txVi.Vout[Vi.Vout].Value
eIn.Txid = blockTx.Txid eIn.Txid = blockTx.Txid
eIn.Arrows = "to" eIn.Arrows = "to"
eIn.BlockHeight = block.Height eIn.BlockHeight = block.Height
saveEdge(edgeCollection, eIn) saveEdge(edgeCollection, eIn)
var eOut EdgeModel var eOut EdgeModel
eOut.From = txHash eOut.From = txHash
eOut.To = outputAddr eOut.To = outputAddr
eOut.Label = outputAmount[k] eOut.Label = outputAmount[k]
eOut.Txid = blockTx.Txid eOut.Txid = blockTx.Txid
eOut.Arrows = "to" eOut.Arrows = "to"
eOut.BlockHeight = block.Height eOut.BlockHeight = block.Height
saveEdge(edgeCollection, eOut) saveEdge(edgeCollection, eOut)
//date analysis //date analysis
//dateAnalysis(e, tx.Time) //dateAnalysis(e, tx.Time)
//hour analysis //hour analysis
hourAnalysis(eIn, blockTx.Time) 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.Print("originAddresses: ")
fmt.Println(len(originAddresses)) fmt.Println(len(originAddresses))
fmt.Print("outputAddresses: ") fmt.Print("outputAddresses: ")