argosjs
Ethereum smart-contract events visualiser
Last updated 8 months ago by mhoangvslev .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install argosjs 
SYNC missed versions from official npm registry.

argos.js

NPM Version

With the smart-contracts, we are able to make exchanges with complex arbitrary rules. By looking at the interaction data, we hope to extract meaningful/valuable information that provide great assistance in decision-making process.

What is it?

  • A platform that provides the ability to watch any smart-contract events, on any blockchain
  • Only 3 modules: Watcher, Database, Visualiser
  • Community-orientated: you can add support for your favourtite tools just by extending 3 base classes in each module

Watcher

This module allows you to extract data from smart-contract events. You only need to tell it:

  • The address of the contract
  • The blockrange (by blocknumber or by date)
  • The data type you want to extract (you must be able to read smart-contract code)

Database

This module connects to your Graph DB and execute queries.

Visualiser

This module executes MATCH queries to your Graph DB and display results.

Install

npm install argosjs

or

npm install https://github.com/zgorizzo69/EthGraphQL

Development

All customised libraries are put under vendor as git modules which are linked to other git repositories. If your

Usage

const watcher = new EthereumWatcher(
    contract.address,
    contract.abi,
    ProviderEnum.defaultProvider, {
        username: config.database.neo4j.username,
        password: config.database.neo4j.password,
        bolt: config.database.neo4j.bolt,
        enterpriseMode: config.database.neo4j.enterpriseMode,
        driverConf: config.database.neo4j.driverConf,
        model: config.contract.model
    },
    config.providers,
    true,
    config.contract.export

);
watcher.watchEvents("Transfer", fromDate, toDate).then(() => {
  visualiser.refresh();
});

Create an Visualiser instance (here NeoVis)

const visualiser = new NeoVis(this.dbConstructor, "viz", config.datavis.neovis);

// Run community-detection algorithm (procedure) on DB
visualiser.detectCommunity(this.communityDetectionAlgorithm, {
    label: 'Account',
    relationship: 'TRANSFER',
    writeProperty: "community"
});

// Run centrality algorithm (procedure);
visualiser.centrality(this.centralityAlgorithm, {
    label: 'Account',
    relationship: 'TRANSFER',
    writeProperty: "size"
});

// Run pathfinding algorithm on DB
visualiser.pathfinding({
    algo: PathFindingAlgorithmEnum.ShortestPath,
    param: {}
});

// Display all nodes with LIMIT of 700 objects
visualiser.displayWithCypher({
    query: "MATCH (n:Account)-[r:TRANSFER]->(m:Account) RETURN n,r,m"
}, 700);

Examples

Under examples you will be linked to other repositories.

License

MIT

Current Tags

  • 0.3.4                                ...           latest (8 months ago)

30 Versions

  • 0.3.4                                ...           8 months ago
  • 0.3.3                                ...           8 months ago
  • 0.3.2                                ...           8 months ago
  • 0.3.1                                ...           8 months ago
  • 0.3.0                                ...           8 months ago
  • 0.2.9                                ...           8 months ago
  • 0.2.8                                ...           8 months ago
  • 0.2.7                                ...           8 months ago
  • 0.2.6                                ...           8 months ago
  • 0.2.5                                ...           8 months ago
  • 0.2.4                                ...           8 months ago
  • 0.2.3                                ...           8 months ago
  • 0.2.2                                ...           8 months ago
  • 0.2.1                                ...           8 months ago
  • 0.2.0                                ...           8 months ago
  • 0.1.9                                ...           8 months ago
  • 0.1.8                                ...           8 months ago
  • 0.1.7                                ...           8 months ago
  • 0.1.6                                ...           8 months ago
  • 0.1.5                                ...           8 months ago
  • 0.1.4                                ...           8 months ago
  • 0.1.3                                ...           8 months ago
  • 0.1.2                                ...           8 months ago
  • 0.1.1                                ...           8 months ago
  • 0.1.0                                ...           9 months ago
  • 0.0.9                                ...           9 months ago
  • 0.0.8                                ...           9 months ago
  • 0.0.3                                ...           10 months ago
  • 0.0.2                                ...           10 months ago
  • 0.0.1                                ...           10 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 30
Dependencies (10)
Dev Dependencies (9)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |