A Javascript wrapper for the CryptoScamDB API for Node.js and browser applications.
npm i -P @cryptoscamdb/api
- cache.enable (default: false) - Enable or disable the cache
- cache.cacheProvider (default:
MemoryCacheProvider
, in-memory caching) - Set the cache provider - cache.cacheDuration (default: 600000) - Set the duration in milliseconds to cache a result for
All methods return a promise.
- check(query: string) - Check a domain, Ethereum address or IP address
- getAllScams() - Get a list of all scams
- getAllScamsByAddress() - Get a list of all scams mapped by the Ethereum address
- getAllScamsByIP() - Get a list of all scams mapped by the IP address
You can use the CacheProvider
interface to implement your own caching method (e.g. filesystem or Redis).
interface CacheProvider {
get<T = any>(key: string): Promise<T | undefined>;
getTimestamp(key: string): Promise<number>;
set<T = any>(key: string, result: T): Promise<boolean>;
has(key: string): Promise<boolean>;
remove(key: string): Promise<boolean>;
}
See cache.ts
for an example (in-memory) implementation.
import CryptoScamDBAPI from '@cryptoscamdb/api';
const options = {
cache: {
enable: true
}
};
const api = new CryptoScamDBAPI(options);
// Equal to https://api.cryptoscamdb.org/v1/check/example.com
api.check('example.com')
.then(result => {
// Do something with the result
console.log(result.entries);
})
// Handle error
.catch(console.error);
// API is available as `window.csdbapi`
const api = new window.csdbapi();
// Equal to https://api.cryptoscamdb.org/v1/check/example.com
api.check('example.com')
.then(result => {
// Do something with the result
console.log(result.entries);
})
// Handle error
.catch(console.error);