- Notifications
You must be signed in to change notification settings - Fork0
🔩 Polished Java library for EtherScan.io API
License
daddyfatstacksBIG/java-etherscan-api
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Etherscan Java API implementation.
Library supports all available EtherScanAPI calls for all availableEthereum Networks.
Maven
<dependency> <groupId>com.github.goodforgod</groupId> <artifactId>java-etherscan-api</artifactId> <version>1.0.2</version></dependency>Gradle
dependencies { compile 'com.github.goodforgod:java-etherscan-api:1.0.2'}API support Ethereum:MAINNET,ROPSTEN,KOVAN,RINKEBY,GORLI,TOBALABA networks.
EtherScanApi api = new EtherScanApi(EthNetwork.MAINNET); // DefaultEtherScanApi apiRinkeby = new EtherScanApi(EthNetwork.RINKEBY);EtherScanApi apiRopsten = new EtherScanApi(EthNetwork.ROPSTEN);EtherScanApi apiKovan = new EtherScanApi("YourApiKey", EthNetwork.KOVAN);In case you need to set custom timeout, custom headers or better implementation for HttpClient,just implementIHttpExecutor by your self or initialize it with your values.
int connectionTimeout = 10000;int readTimeout = 7000; Supplier<IHttpExecutor> supplier = () -> new HttpExecutor(connectionTimeout);Supplier<IHttpExecutor> supplierFull = () -> new HttpExecutor(connectionTimeout, readTimeout); EtherScanApi api = new EtherScanApi(EthNetwork.RINKEBY, supplier);EtherScanApi apiWithKey = new EtherScanApi("YourApiKey", EthNetwork.MAINNET, supplierFull);You can read about all API methods onEtherscan
Library support all available EtherScan API.
You can use librarywith or without API key(Check API request\sec restrictions when used without API key).
Library will automatically limit requests up to5 req/sec when usedwithout key.
EtherScanApi api = new EtherScanApi();EtherScanApi api = new EtherScanApi("YourApiKey");Below are examples for each API category.
Get Ether Balance for a single Address
EtherScanApi api = new EtherScanApi();Balance balance = api.account().balance("0x8d4426f94e42f721C7116E81d6688cd935cB3b4F");Get uncles block for block height
EtherScanApi api = new EtherScanApi();Optional<UncleBlock> uncles = api.block().uncles(200000);Request contract ABI fromverified codes
EtherScanApi api = new EtherScanApi();Abi abi = api.contract().contractAbi("0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413");Get event logs for single topic
EtherScanApi api = new EtherScanApi();LogQuery query = LogQueryBuilder.with("0x33990122638b9132ca29c723bdf037f1a891a70c") .topic("0xf63780e752c6a54a94fc52715dbc5518a3b4c3c2833d301a204226548a2a8545") .build();List<Log> logs = api.logs().logs(query);Get event logs for 3 topics with respectful operations
EtherScanApi api = new EtherScanApi();LogQuery query = LogQueryBuilder.with("0x33990122638b9132ca29c723bdf037f1a891a70c", 379224, 400000) .topic("0xf63780e752c6a54a94fc52715dbc5518a3b4c3c2833d301a204226548a2a8545", "0x72657075746174696f6e00000000000000000000000000000000000000000000", "0x72657075746174696f6e00000000000000000000000000000000000000000000") .setOpTopic0_1(LogOp.AND) .setOpTopic0_2(LogOp.OR) .setOpTopic1_2(LogOp.AND) .build(); List<Log> logs = api.logs().logs(query);Get tx detailds with proxy endpoint
EtherScanApi api = new EtherScanApi(EthNetwork.MAINNET);Optional<TxProxy> tx = api.proxy().tx("0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1");Get block info with proxy endpoint
EtherScanApi api = new EtherScanApi(EthNetwork.MAINNET);Optional<BlockProxy> block = api.proxy().block(15215);Statistic about last price
EtherScanApi api = new EtherScanApi();Price price = api.stats().lastPrice();Request receipt status for tx
EtherScanApi api = new EtherScanApi();Optional<Boolean> status = api.txs().receiptStatus("0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76");You can read about token APIhere
Token API methods migrated toAccount &Stats respectfully.
1.0.2 - Minor http client improvements.
1.0.1 - Gorli & TOBALABA networks support.
1.0.0 - Initial project with all API functionality, for all available networks, with tests coverage for all cases.
This project is licensed under the MIT - see theLICENSE file for details.
About
🔩 Polished Java library for EtherScan.io API
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- Java100.0%