Overview
The transaction subgraph spiders aim at collecting the transactions related to the specific source addresses. BlockchainSpider gives the following strategies for sampling:
BFS: Breath-First Search
Poison: A kind of taint analysis technology.
Haircut: A kind of taint analysis technology
APPR: the Approximate Personalized PageRank algorithm.
TTR: the Transaction Tracing Rank algorithm.
The performance comparison of the above strategies is as follows:
![](https://870167019.gitbook.io/~gitbook/image?url=https%3A%2F%2F2274903941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FeTNqreKxjgijo5f3ctKZ%252Fuploads%252FHPiPF5szd3cYY7yLItMz%252FScreenshot%25202022-02-09%2520214320.png%3Falt%3Dmedia%26token%3Db12c745a-4c87-4f41-a367-bacc1b143877&width=768&dpr=4&quality=100&sign=65fcc9fa&sv=2)
Chain Supports
The transaction subgraph spiders support to collect the transaction data of eth/bsc/polygon/heco until now.
txs.eth
:eth
transaction subgraph spider.txs.bsc
:bsc
transaction subgraph spider.txs.polygon
:polygon
transaction subgraph spider.txs.heco
:heco
transaction subgraph spider.
The next sections will introduce more configurations about the transaction subgraph spiders through txs.eth
.
Design with Graph Expansion
In BlockchainSpider, all transaction subgraph spiders are implemented based on the framework of graph expansion, which has four core operations:
Expand: collects all transactions related to a given address.
Push: merges the collected transactions to the subgraph.
Rank: computes the relevance of addresses in the subgraph to the source address.
Pop: select an address for expanding.
The implementation of different strategies are as follows:
BFS
Add expanded neighbors to a queue
Select a unexpanded node in the header of the queue for expanding
Poison
Add expanded out-degree neighbors to a queue
Select a unexpanded node in the header of the queue for expanding
Haircut
Allocated the pollution value of the expanded node to the neighbors according to the edge weight
Select a unexpanded node with the highest pollution for expanding
APPR
Use the local push procedure for extended neighbors
Select a node with the highest residual for expanding
TTR
Use the TTR local push procedure for extended neighbors
Select a node with the highest residual for expanding
Last updated