Simple transactions provider service for Ethereum blockchains. This service provides a REST API to query all transactions related to a given address and a Socket.IO subscription mechanism to be notified when new transactions are mined. It is API-compatible with the Ethereum Transactions Indexer but uses the Etherscan API and BlockScout API instead.
Will return a JSON array having all Ethereum transaction IDs related to the given address.
Optionally specify from and to to limit the query to only that block range.
[
"0xed3a75ab0677e1a4b24874c5f9ac1a6c38a1b419ff7616fb3ed764713095bf10",
"0xbfbff2e8bbddbb0575120366be9d2b7dd7f231f8375c43cbb5629ae01ed0003f",
"0x735df07d3d73a3f95355e0d6bd6c0a8ce1b5922834b7db372b18888ff2660b55",
"0xc54fb504aa7cfedadd0a25623dc568a7ed8bdf92920520639df785729f580868"
]Transactions are returned in reverse-chronological order.
Will return an object containing information of the latest block.
{
"number": 1828,
"hash": "0xe04c1cded9a4724d8b22a8f7d6558f778392253ae61a2672a2242c60fe8992df",
"totalDifficulty": "342830896"
}The Socket.IO events interface is available at the following route: /v1.
Will allow the subscriber to start receiving notifications of new mined transactions related to the given addresses.
Subscription message:
{
"event": "subscribe",
"data": {
"type": "txs",
"addresses": ["0xb1d4c88a30a392aee6859e6f62738230db0c2d93"]
}
}Subscription responses:
{
"event": "tx",
"data": {
"txid": "0x64473dec378049472234c854d53f2ce92cd7a94468b62f785b683a9cacdb7f86",
"status": "confirmed"
}
}Default configuration can be customized by setting environment variables or createing a JSON file in the config folder following the config module guidelines.
ETH_NODE_URL: the URL of the node used to listen for new blocks.EXPLORER_API_KEY: the API key to query the block explorers.
npm installnpm startnpm run docker:build
docker run -it --rm -p 3005:3005 ethereum-transactions-providerE2E=true npm run testMIT