Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct { gorm.Model Address string `json:"address" validate:"required,btc_addr|btc_addr_bech32" gorm:"index"` Cluster uint64 `json:"cluster" validate:"" gorm:"index"` }
Cluster cluster struct with validation
type Clusterizer ¶
type Clusterizer struct {
// contains filtered or unexported fields
}
Clusterizer defines the objects involved in the generation of clusters
func NewClusterizer ¶
func NewClusterizer(d disjoint.DisjointSet, db kv.DB, pg *postgres.Pg, c *cache.Cache, interrupt chan int, done chan int) *Clusterizer
NewClusterizer return a new instance to Bitcoin blockchain clusterizer
func (*Clusterizer) Clusterize ¶
func (c *Clusterizer) Clusterize() (err error)
Clusterize start fetching and generation of address clusters
func (*Clusterizer) Done ¶
func (c *Clusterizer) Done() (size uint64, err error)
Done finalizes the operations of the clusterizer exporting its content to a csv file
func (*Clusterizer) UpdateCluster ¶
func (c *Clusterizer) UpdateCluster(txItem *mapset.Set) (err error)
UpdateCluster implements first heuristic (all input are from the same user) and clusterize the input in the disjoint set
type Done ¶
type Done struct {
// contains filtered or unexported fields
}
Done worker group struct to concurrently execute final export operations
type InputParser ¶
type InputParser struct {
// contains filtered or unexported fields
}
InputParser worker wrapper for parsing inputs in sync pool
func (*InputParser) Work ¶
func (w *InputParser) Work() (err error)
Work interface to execute input parser worker operations