blockchainrndhub / etherscan
This lib is created for connecting to etherscan.io's api using php.
1.0.3
2017-09-11 14:19 UTC
Requires
- php: ^7.0
- react/event-loop: ^0.4.3
- react/http-client: ^0.5.4
- react/promise: ^2.5
Requires (Dev)
- phpunit/phpunit: ^6.3
This package is not auto-updated.
Last update: 2024-10-27 05:04:29 UTC
README
This lib is created for connecting to etherscan.io's api using php.
There are 2 possible ways of using the lib:
- sync
$esApiConnector = new ApiConnector('your_api_key'); $etherScan = new EtherScan($esApiConnector); $account = $etherScan->getAccount(EtherScan::PREFIX_API); $startT = microtime(1); echo $account->getTransactions('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, 'desc') . PHP_EOL; echo $account->getTransactions('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, 'desc') . PHP_EOL; echo $account->getTransactions('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, 'desc') . PHP_EOL; echo $account->getTransactions('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, 'desc') . PHP_EOL; $endT = microtime(1); echo "DONE IN: " . ($endT - $startT);
- async
$esApiConnector = new ApiConnector('your_api_key'); $etherScan = new EtherScan($esApiConnector); $onResponse = function ($responseOnResolve, $context) { echo 'Called on resolve: ' . $responseOnResolve . PHP_EOL; echo 'Called on context: ' . print_r($context, true) . PHP_EOL; }; $onError = function ($responseOnResolve, $context) { echo 'Called on error: ' . $responseOnResolve . PHP_EOL; }; $account = $etherScan->getAccount(EtherScan::PREFIX_API); $startT = microtime(1); $etherScan->callGroupAsync([ [ $account->getTransactionsLink('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, Account::SORT_DESC), $onResponse, $onError, ['Any data type you want to be passed as second argument to the callbacks. This is optional.'] ], [ $account->getTransactionsLink('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, Account::SORT_DESC), $onResponse, $onError ], [ $account->getBalanceLink('0xbb9bc244d798123fde783fcc1c72d3bb8c189413'), $onResponse, $onError ], [ $account->getTransactionsLink('0xbb9bc244d798123fde783fcc1c72d3bb8c189413', 1, 25, Account::SORT_DESC), $onResponse, $onError ], ]); $endT = microtime(1); echo "DONE IN: " . ($endT - $startT);
It uses the guzzlehttp/promises to allow aync calls