accounts2.php 877 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. require('./exampleBase.php');
  3. use React\Async;
  4. use React\Promise;
  5. use Web3\Web3;
  6. $web3 = new Web3('ws://127.0.0.1:8545');
  7. $eth = $web3->eth;
  8. echo 'Eth Get Account and Balance' . PHP_EOL;
  9. $promises = [];
  10. $promises[] = $eth->accounts(function ($err, $accounts) use ($eth) {
  11. if ($err !== null) {
  12. echo 'Error: ' . $err->getMessage();
  13. return;
  14. }
  15. foreach ($accounts as $account) {
  16. echo 'Account: ' . $account . PHP_EOL;
  17. $promises[] = $eth->getBalance($account, function ($err, $balance) {
  18. if ($err !== null) {
  19. echo 'Error: ' . $err->getMessage();
  20. return;
  21. }
  22. echo 'Balance: ' . $balance . PHP_EOL;
  23. });
  24. }
  25. // wait all promises
  26. Async\await(Promise\all($promises));
  27. echo 'close connection...' . PHP_EOL;
  28. $eth->provider->close();
  29. });