From 1a44d8e553e1fada91d15e22c2ad259026c0890d Mon Sep 17 00:00:00 2001 From: Numair Awan Date: Wed, 4 Oct 2023 04:46:37 +0500 Subject: [PATCH] First Commit --- README.md | 59 ++++++++++- art/ethplorer-api-node.png | Bin 0 -> 108225 bytes index.js | 209 +++++++++++++++++++++++++++++++++++++ package-lock.json | 169 ++++++++++++++++++++++++++++++ package.json | 20 ++++ test.js | 30 ++++++ 6 files changed, 485 insertions(+), 2 deletions(-) create mode 100644 art/ethplorer-api-node.png create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 test.js diff --git a/README.md b/README.md index e4c6142..d7c37a2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,57 @@ -# ethplorer-api-node - +

+ ethplorer-api-node +

+ Total Hits + Downloads + Version + License +

+

+ +------ +**ethplorer-api-node** is a powerful nodejs module for Ethplorer.io API. This feature-rich library not only provides multi-key support to effortlessly bypass rate limits but also offers blazing-fast performance, two key usage modes (sequential and random), and extensive promise support for smooth integration into your NodeJs projects. + +🌟 Key Features: +- 🔄 Multi-Key Support: Seamlessly rotate API keys to bypass rate limits. +- ⚡️ High Performance: Enjoy super-fast access to ethereum blockchain data. +- 🎯 Two Key Usage Modes: Choose between sequential and random key usage. +- ✨ Promise Support: Simplify asynchronous operations with built-in promises. + +## 📦 Install + +```sh +npm i ethplorer-api-node +``` + +### Usage +For more sample please check test.js + +```js +const EthplorerApi = require('ethplorer-api-node'); + +// Create an instance of EthplorerApi with your API keys +const apiKeys = ['your-api-key-1', 'your-api-key-2']; +const ethplorer = new EthplorerApi(apiKeys, true); // Use 'true' for random key mode or 'false' for sequential key mode + +// Example: Get information about the last block +ethplorer.getLastBlock().then((lastBlock) => { + + console.log('Last Block Information:'); + console.log(lastBlock); +}) +``` + +### Contributing +Contributions are welcome! Feel free to fork the repository and submit pull requests as well. + +### License +This project is licensed under the **[MIT license](https://opensource.org/licenses/MIT)**. + + +## Connect with Me + +Feel free to reach out to me for any project-related queries or collaborations. I'm always happy to connect and discuss ideas! + +[Telegram](https://t.me/NumairAwan) +[WhatsApp](https://wa.me/+923164700904) + diff --git a/art/ethplorer-api-node.png b/art/ethplorer-api-node.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5296d56a3de9616bae0805f33913102e652ba3 GIT binary patch literal 108225 zcmeFZbySp5_cnab(5)cd-AIR|h%|_FcSwUs3DP0bN;lHoT?0r;Bi$e%T?&KLcl&

7ZJ-P;KIj= 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%0D06C-2FNFm7D}5#ut(&!Y>7iZ51_m?eXxW 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 literal 0 HcmV?d00001 diff --git a/index.js b/index.js new file mode 100644 index 0000000..c320c69 --- /dev/null +++ b/index.js @@ -0,0 +1,209 @@ +const axios = require("axios"); + +class EthplorerApi { + /** + * Initializes the Ethplorer API client. + * @param {string[] | string} apiKeys - An array of API keys or a single API key string. + * @param {boolean} randomKeys - Whether to use API keys randomly or sequentially. + */ + constructor(apiKeys, randomKeys = false) { + this.randomKeys = randomKeys; + this.apiAddress = "https://api.ethplorer.io/"; + + if (!apiKeys) { + throw new Error("API keys are required."); + } + + if (typeof apiKeys === "string") { + this.apiKeys = [apiKeys]; + } else if (Array.isArray(apiKeys)) { + this.apiKeys = apiKeys; + } else { + throw new Error("Invalid API keys format."); + } + + this.apiKeyIndex = 0; // Index for sequential API key usage. + } + + /** + * Makes an Axios request to the specified URL. + * @param {string} url - The URL to make the request to. + * @returns {Promise} - A promise that resolves to the response data. + */ + async axiosRequest(url) { + try { + const response = await axios.get(url, { + headers: { + Accept: "application/json", + "User-Agent": "Googlebot/2.1 (+http://www.google.com/bot.html)", + }, + timeout: 10000, + }); + return response.data; + } catch (error) { + throw error; + } + } + + /** + * Retrieves the next API key for sequential usage. + * @returns {string} - The next API key in sequence. + */ + getNextApiKey() { + if (this.randomKeys) { + return this.getRandomApiKey(); + } + + const apiKey = this.apiKeys[this.apiKeyIndex]; + this.apiKeyIndex = (this.apiKeyIndex + 1) % this.apiKeys.length; + return apiKey; + } + + /** + * Get random api keys. + * @returns {string} - Random key. + */ + getRandomApiKey() { + return this.apiKeys[Math.floor(Math.random() * this.apiKeys.length)]; + } + + /** + * Retrieves the last block information. + * @returns {Promise} - A promise that resolves to the last block information. + */ + getLastBlock() { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getLastBlock?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves token information by its address. + * @param {string} token - The token address. + * @returns {Promise} - A promise that resolves to token information. + */ + getTokenInfo(token) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTokenInfo/${token}?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves address information by its address. + * @param {string} address - The Ethereum address. + * @returns {Promise} - A promise that resolves to address information. + */ + getAddressInfo(address) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getAddressInfo/${address}?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves transaction information by its hash. + * @param {string} tx - The transaction hash. + * @returns {Promise} - A promise that resolves to transaction information. + */ + getTxInfo(tx) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTxInfo/${tx}?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves token history by its address. + * @param {string} token - The token address. + * @param {string} type - The type of history (default: 'transfer'). + * @param {number} limit - The maximum number of records to retrieve (default: 10). + * @returns {Promise} - A promise that resolves to token history. + */ + getTokenHistory(token, type = "transfer", limit = 10) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTokenHistory/${token}?apiKey=${apiKey}&type=${type}&limit=${limit}`; + return this.axiosRequest(url); + } + + /** + * Retrieves address history by its address. + * @param {string} token - The Ethereum address. + * @param {string} type - The type of history (default: 'transfer'). + * @param {number} limit - The maximum number of records to retrieve (default: 10). + * @returns {Promise} - A promise that resolves to address history. + */ + getAddressHistory(token, type = "transfer", limit = 10) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getAddressHistory/${token}?apiKey=${apiKey}&type=${type}&limit=${limit}`; + return this.axiosRequest(url); + } + + /** + * Retrieves address transactions by its address. + * @param {string} token - The Ethereum address. + * @param {number} limit - The maximum number of records to retrieve (default: 10). + * @returns {Promise} - A promise that resolves to address transactions. + */ + getAddressTransactions(token, limit = 10) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getAddressTransactions/${token}?apiKey=${apiKey}&limit=${limit}`; + return this.axiosRequest(url); + } + + /** + * Retrieves top tokens based on criteria. + * @param {string} criteria - The criteria for ranking (default: 'cap'). + * @param {number} limit - The maximum number of records to retrieve (default: 50). + * @returns {Promise} - A promise that resolves to top tokens. + */ + getTop(criteria = "cap", limit = 50) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTop?apiKey=${apiKey}&criteria=${criteria}&limit=${limit}`; + return this.axiosRequest(url); + } + + /** + * Retrieves top tokens. + * @returns {Promise} - A promise that resolves to top tokens. + */ + getTopTokens() { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTopTokens/?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves top token holders by token address. + * @param {string} token - The token address. + * @param {number} limit - The maximum number of records to retrieve (default: 100). + * @returns {Promise} - A promise that resolves to top token holders. + */ + getTopTokenHolders(token, limit = 100) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTopTokenHolders/${token}?apiKey=${apiKey}&limit=${limit}`; + return this.axiosRequest(url); + } + + /** + * Retrieves token history grouped by day by token address. + * @param {string} token - The token address. + * @returns {Promise} - A promise that resolves to token history grouped by day. + */ + getTokenHistoryGrouped(token) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTokenHistoryGrouped/${token}?apiKey=${apiKey}`; + return this.axiosRequest(url); + } + + /** + * Retrieves token price history grouped by day by token address. + * @param {string} token - The token address. + * @param {number} period - The period in days for price history (default: 365). + * @returns {Promise} - A promise that resolves to token price history grouped by day. + */ + getTokenPriceHistoryGrouped(token, period = 365) { + const apiKey = this.getNextApiKey(); + const url = `${this.apiAddress}getTokenPriceHistoryGrouped/${token}?apiKey=${apiKey}&period=${period}`; + return this.axiosRequest(url); + } +} + +module.exports = EthplorerApi; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..749eb98 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,169 @@ +{ + "name": "ethplorer-api-node", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "ethplorer-api-node", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "axios": "^1.5.1" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + }, + "dependencies": { + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7d33925 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "ethplorer-api-node", + "version": "1.0.0", + "description": "A versatile Node.js library for Ethplorer's API with multi-key support and promise-based operations.", + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/NumairAwan/ethplorer-api-node.git" + }, + "keywords": ["etherscan", "etherscan-api", "ethereum-api", "ethereum-chain-api", "ethplorer", "ethplorer-api", "node-ethereum-api", "ethplorer-node-api"], + "author": "Numair Awan", + "license": "MIT", + "bugs": { + "url": "https://github.com/NumairAwan/ethplorer-api-node/issues" + }, + "homepage": "https://github.com/NumairAwan/ethplorer-api-node#readme", + "dependencies": { + "axios": "^1.5.1" + } +} diff --git a/test.js b/test.js new file mode 100644 index 0000000..e4f85f0 --- /dev/null +++ b/test.js @@ -0,0 +1,30 @@ +const EthplorerApi = require('ethplorer-api-node'); + +// Create an instance of EthplorerApi with your API keys +const apiKeys = ['your-api-key-1', 'your-api-key-2']; +const ethplorer = new EthplorerApi(apiKeys, true); // Use 'true' for random key mode or 'false' for sequential key mode + +// Example: Get information about the last block +ethplorer.getLastBlock().then((lastBlock) => { + + console.log('Last Block Information:'); + console.log(lastBlock); +}) + +// Example: Get token information by its address +async function getTokenInfo(tokenAddress) { + + try { + const tokenInfo = await ethplorer.getTokenInfo(tokenAddress); + console.log('Token Information:'); + console.log(tokenInfo); + } catch (error) { + console.error('Error fetching token information:', error); + } +} + +// USDT address +const tokenAddress = '0xdAC17F958D2ee523a2206206994597C13D831ec7'; + +// Usage examples +getTokenInfo(tokenAddress);