{"id":19730796,"url":"https://github.com/mikiw/reactweb3","last_synced_at":"2026-05-14T15:36:53.369Z","repository":{"id":109415018,"uuid":"510449985","full_name":"mikiw/ReactWeb3","owner":"mikiw","description":"Ethereum transaction crawler in ReactJs.","archived":false,"fork":false,"pushed_at":"2022-07-09T21:03:35.000Z","size":6523,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T03:28:23.086Z","etag":null,"topics":["blockchain","crawler","ethereum"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikiw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-04T17:35:55.000Z","updated_at":"2023-01-05T17:30:33.000Z","dependencies_parsed_at":"2023-07-28T00:01:28.564Z","dependency_job_id":null,"html_url":"https://github.com/mikiw/ReactWeb3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mikiw/ReactWeb3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikiw%2FReactWeb3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikiw%2FReactWeb3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikiw%2FReactWeb3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikiw%2FReactWeb3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikiw","download_url":"https://codeload.github.com/mikiw/ReactWeb3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikiw%2FReactWeb3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33031336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","crawler","ethereum"],"created_at":"2024-11-12T00:17:46.718Z","updated_at":"2026-05-14T15:36:53.352Z","avatar_url":"https://github.com/mikiw.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ethereum Transactions Crawler\n\nI used [etherscan](https://etherscan.io/) which is a blockchain explorer to avoid indexing by each block.\nIt would be a struggle to implement it in React App only with an Ethereum node connection.\n\nPagination from etherscan is not implemented in this version so there is a 10000 limit per transaction data.\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\nTo run the project we can simply run these 2 commands in the project directory:\n```\nnpm install\nnpm start\n```\n\nAll available scripts commands:\n`npm start`\n`npm test`\n`npm run build`\n\nLater open [http://localhost:3000](http://localhost:3000) to view it in your browser.\n\nIf an application was built successfully we should see a page like this:\n![Page](./doc-img/page.png)\n\n## Getting Started\n\nApplication will query etherscan for transactions between `Start block` and `End block`,\nlater balances for eth and tokens will be calculated based on that data.\nSo we can calculate the balances in specific block ranges.\n\nWhen page will load the first API call will get last block number from etherscan so `0` should change to something near `15101234`.\n\nIf we want to calculate balance from the beginning we can just simply input `0` as `Start block`.\n\nButton `Update blocks by date` will convert data from `YYYY-MM-DD` format from `End block date` input to timestamp,\nlater block height will be updated based on corresponding timestamp.\n\nButton `Get balances and transactions` will get transaction data for given constraints like `Ethereum Address`, `Start block` and `End block`.\nBased on that data balances of Eth and tokens will be calculated. For balances calculation I used `BN` from `web3-utils`.\n\n## Example usage\n\nNow we can use our app to check `0x5c18d2b7026bcaf3b5017f7056d70069d7a5865f` address balance \nwhich is `0.009395840722894319` Ether (same as etherscan):\n\n![Page](./doc-img/page-26tx.png)\n\nEtherscan balance:\n\n![Page](./doc-img/page-etherscan.png)\n\nIf we will set a date to `2022-04-30` and we will click `Update blocks by date` button and later\n`Get balances and transactions` button we will have fewer transactions (6 instead of 26)\nalso the Ether balance and USDC token balance will be different:\n\n![Page](./doc-img/page-6tx.png)\n![Page](./doc-img/usdc.png)\n\n## TODO\n\nTODO for future:\n- Add paging in while loop for etherscan API call to exceed 10000 row limit.\n- Add other Token standards (Erc721 for uniswap v3 and others).\n- Improve error handling and add some messages in UI.\n- Improve token display to support token migration (0x9f4a83475ef57f70c1a7754c3b381479626900ea nice wallet to tests).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikiw%2Freactweb3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikiw%2Freactweb3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikiw%2Freactweb3/lists"}