EOS Detective Javascript Library https://docs.eosdetective.io API on EOS networks.
Using Yarn:
yarn add eos-detective
or using NPM:
npm install --save eos-detective
CommonJS
const detective = require("eos-detective");
Typescript (ES6)
import * as detective from "eos-detective";
Babel (ES6)
import detective from "eos-detective";
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
* }
* }
* }
*/
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")
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);
});
}
})
Use .remove(<account>)
to remove an existing published report.
detective.reports.remove("eosnationftw").then((trx_id) => {
console.log("removed report", trx_id);
});
Fetches a single the report of a single account from the contract table data.
detective.reports.get("altcoinomysa").then(data => {
console.log(data)
})