Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🔩 Polished Java library for EtherScan.io API

License

NotificationsYou must be signed in to change notification settings

daddyfatstacksBIG/java-etherscan-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

travisMaintainabilitycodecovJitpack

Etherscan Java API implementation.

Library supports all available EtherScanAPI calls for all availableEthereum Networks.

Dependency 🚀

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'}

Content

Mainnet and Testnets

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);

Custom HttpClient

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);

API Examples

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.

Account Api

Get Ether Balance for a single Address

EtherScanApi api = new EtherScanApi();Balance balance = api.account().balance("0x8d4426f94e42f721C7116E81d6688cd935cB3b4F");

Block Api

Get uncles block for block height

EtherScanApi api = new EtherScanApi();Optional<UncleBlock> uncles = api.block().uncles(200000);

Contract Api

Request contract ABI fromverified codes

EtherScanApi api = new EtherScanApi();Abi abi = api.contract().contractAbi("0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413");

Logs Api

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);

Proxy Api

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);

Stats Api

Statistic about last price

EtherScanApi api = new EtherScanApi();Price price = api.stats().lastPrice();

Transaction Api

Request receipt status for tx

EtherScanApi api = new EtherScanApi();Optional<Boolean> status = api.txs().receiptStatus("0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76");

Token Api

You can read about token APIhere

Token API methods migrated toAccount &Stats respectfully.

Version History

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.

License

This project is licensed under the MIT - see theLICENSE file for details.

About

🔩 Polished Java library for EtherScan.io API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java100.0%

[8]ページ先頭

©2009-2025 Movatter.jp