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:

Chain Supports
The transaction subgraph spiders support to collect the transaction data of eth/bsc/polygon/heco until now.
txs.eth:ethtransaction subgraph spider.txs.bsc:bsctransaction subgraph spider.txs.polygon:polygontransaction subgraph spider.txs.heco:hecotransaction 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