Skip to content
EOS Detective Javascript Library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
__tests__
examples
src
.env.example
.firebaserc
.gitignore
LICENSE
README.md
firebase.json
index.ts
jest.config.js
package.json
tsconfig.json
tslint.json

README.md

EOS Detective

EOS Detective Javascript Library https://docs.eosdetective.io API on EOS networks.

Install

Using Yarn:

yarn add eos-detective

or using NPM:

npm install --save eos-detective

Import Module

CommonJS

const detective = require("eos-detective");

Typescript (ES6)

import * as detective from "eos-detective";

Babel (ES6)

import detective from "eos-detective";

Quick Start

const token = "<API TOKEN>";

detective.config(token);
detective.profile("eosnationftw").then((response) => console.log(response.data));
/**
 * {
 *   account: 'eosnationftw',
 *   contract: 'eosio.token',
 *   token: 'EOS',
 *   total_tokens_received: 74747.4845,
 *   score: 87.3,
 *   categories: {
 *     system: {
 *       percentage: 0.9994754378657384,
 *       volume: 74708.2748,
 *       count: 205
 *     }
 *   }
 * }
 */

Profile Score & Category Rating

Google Drive

Advance Configuration

These configurations are required to push detective reports on-chain.

Saving your configuraitons in a .env file will prevent your sensitive data from being exposed in your javascript source code.

.env

# EOS Detective API
DETECTIVE_TOKEN="<API TOKEN>"
DETECTIVE_ENDPOINT="https://graph-api.eosdetective.io/v0/"
DETECTIVE_CONTRACT="eosdetective"

# Publish EOS Detective Reports
ENDPOINT_EOSIO="https://jungle.eosn.io"
PRIVATE_KEY="<EOSIO PRIVATE KEY>"
ACTOR="<EOSIO ACCOUNT>"
PERMISSION="active"

Load your .env filepath by using the config() method.

detective.config(".env")

Publish Reports

Advanced configurations is required before attempting the following steps.

Once a profile is retrieved, it can be published to the EOS Detective smart contract.

// Get Profile
detective.profile("eosnationftw").then(response => {
    const profile = response.data;

    // Post report on chain with scores greater than 70
    if (profile && profile.score >= 70) {
        detective.reports.post(profile).then((trx_id) => {
            console.log("posted report", trx_id);
        });
    }
})

Remove Reports

Use .remove(<account>) to remove an existing published report.

detective.reports.remove("eosnationftw").then((trx_id) => {
    console.log("removed report", trx_id);
});

Get Report

Fetches a single the report of a single account from the contract table data.

detective.reports.get("altcoinomysa").then(data => {
    console.log(data)
})
You can’t perform that action at this time.