Skip to content

jclouise/java-etherscan-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-etherscan-api

Etherscan Java API implementation.

Library supports all available EtherScan API calls for all available Ethereum Networks.

Dependency 🚀

Maven

<dependency>
    <groupId>com.github.goodforgod</groupId>
    <artifactId>java-etherscan-api</artifactId>
    <version>1.0.0</version>
</dependency>

Gradle

dependencies {
    compile 'com.github.goodforgod:java-etherscan-api:1.0.0'
}

Content

Api Examples

You can read about all API methods on Etherscan

Library support all available EtherScan API.

You can use API with you key or without key as well (Check API request\sec restrictions).

EtherScanApi api = new EtherScanApi();
EtherScanApi api = new EtherScanApi("YourApiKey");

Below there are examples for each API category.

Mainnet and Testnets

API support Ethereum: MAINNET, ROPSTEN, KOVAN, RINKEBY networks.

EtherScanApi api = new EtherScanApi(EthNetwork.MAINNET);
EtherScanApi api = new EtherScanApi("YourApiKey", EthNetwork.KOVAN);

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 from verified 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 account API here

Token API methods migrated to Account & Stats respectfully.

Version History

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 the LICENSE file for details.

About

🔩 Polished Java library for EtherScan.io API

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%