easyscan
v1.0.32
Published
Easy to use the etherscan and tronscan.
Downloads
43
Maintainers
Readme
Easyscan
Easy to use the etherscan and tronscan.
easyscan includes the etherscan api and tronscan api .For the paging data (such as transaction and logs), it automatically implement the requests , and allows the request to be interrupted and continued during paging requests.It also provide a json rpc provider.
etherscan api
import { etherscanPageData } from 'easyscan'
async function etherscanAPIDemo() {
const etherscan = etherscanPageData('1', 'API_KEY')
// page = 1 will scan from page1 to page end.
const { resume, stop } = etherscan.logs.getLogs({ address: '0xdac17f958d2ee523a2206206994597c13d831ec7', page: 1, offset: 5000, startblock: 1, endblock: 'latest', topic0: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' }, (pageData, pageIndex, accData, isFinish) => {
// pageData : current page data
// pageIndex : current page index (index from 0)
// accData : accumulated data ,it is [...page1,...page2,...page3,...]
// isFinish : request is finished or not.
})
setTimeout(()=>{
// stop paging request
stop()
setTimeout(()=>{
// resume paging request
resume()
},10000)
},10000)
// It provides a jsonrpc provider.
const tx = await etherscan.provider.getTransaction('0xb84d6525eedce0e0dab1f94830db53e2b078d2e6c510affffe700113a7c68578')
}
tronscan api
async function tronscanAPIDemo() {
const tronscan = tronscanPageData('TronGrid')
// page = 1 will scan from page1 to page end.
const { resume, stop } = tronscan.account.txList({ address: 'TDqMwZVTSPLTCZQC55Db3J69eXY7HLCmfs' }, (pageData, pageIndex, accData, isFinish) => {
console.log(pageIndex, accData.length,isFinish)
})
// It provides a jsonrpc provider.
const tx = await tronscan.provider.getTransaction('5e28141b3a2f94551ea3fecd363aadd85db3515b2a35388f0aefac7518bf3898')
// {
// "blockHash": "00000000030573da9eb9d46a70e3475ceb1be96f2afa52fcc51cdfb76dcbd8e2",
// "blockNumber": 50688986,
// "contractAddress": null,
// "cumulativeGasUsed": 2009468,
// "effectiveGasPrice": 420,
// "from": "TAN4JXnGSYwZwmShVy5yaVAedn8YTeARVd",
// "gasUsed": 14309,
// "logs": [
// {
// "address": "TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq",
// "blockHash": "00000000030573da9eb9d46a70e3475ceb1be96f2afa52fcc51cdfb76dcbd8e2",
// "blockNumber": 50688986,
// "data": "0x00000000000000000000000000000000000000000000000000d639f91e7a5ee8",
// "logIndex": 57,
// "removed": false,
// "topics": [
// "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
// "0x00000000000000000000000004524e46fa766a1dd3a2c7d88b123d102f905588",
// "0x0000000000000000000000008a4a39b0e62a091608e9631ffd19427d2d338dbd"
// ],
// "transactionHash": "5e28141b3a2f94551ea3fecd363aadd85db3515b2a35388f0aefac7518bf3898",
// "transactionIndex": 229
// }
// ],
// "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
// "status": 1,
// "to": "TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq",
// "transactionHash": "5e28141b3a2f94551ea3fecd363aadd85db3515b2a35388f0aefac7518bf3898",
// "transactionIndex": 229,
// "type": 0
// }
etherscan cli
etherscan getlogs --address=0x..... --startblock=0 --endblock=latest --topic0=0x.... --apikey=xxxx