2017 © Pedro Peláez
 

library erc20-php

Interact with any ERC20 standard Ethereum token

image

furqansiddiqui/erc20-php

Interact with any ERC20 standard Ethereum token

  • Tuesday, May 29, 2018
  • by furqansiddiqui
  • Repository
  • 4 Watchers
  • 6 Stars
  • 313 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 3 Versions
  • 663 % Grown

The README.md

ERC20 Tokens

Interact with any ERC20 standard Ethereum token, (*1)

This package is ultimate response to historic issue of no native API being available to PHP developers to interact with ERC20 tokens (i.e. web3js contracts API)., (*2)

This package relies on furqansiddiqui/ethereum-php package to perform all ABI encoding and decoding, as well as communication with Ethereum node using RPC/API, resulting in pure simple and easy to use API for developers to perform all ERC20 standard operations., (*3)

Ethereum Node Status
Geth / Ethereum-Go RPC :heavy_check_mark:
Infura.IO :heavy_check_mark:

Demo

  • Testing interaction with Thether USD / USDT ERC20 smart contract:
use FurqanSiddiqui\Ethereum\RPC\Infura;
use FurqanSiddiqui\Ethereum\ERC20\ERC20;

$infura = new Infura("PROJECT-ID", "PROJECT-SECRET");
$infura->ignoreSSL(); // In case Infura.IO SSL errors (or provide "caRootFile:" to constructor above)

$erc20 = new ERC20($infura);
$usdt = $erc20->deployedAt("0xdac17f958d2ee523a2206206994597c13d831ec7");
var_dump($usdt->name());
var_dump($usdt->symbol());
var_dump($usdt->decimals());
var_dump($usdt->totalSupply());
$balance = $usdt->balanceOf($eth->getAccount("ETHEREUM-ADDRESS"));
var_dump($balance);
var_dump($usdt->getScaledValue($balance));

Result:, (*4)

string(9) "TetherUSD"
string(4) "USDT"
int(6)
string(18) "32284517903064882"
string(11) "53150417979"
string(12) "53150.417979"

Custom ABI

  • Standard/base ERC20 ABI is included in package.
  • To included extended/custom ERC20 ABI (depending on your requirments), use one of the following methods:
    • Extend BaseERC20Contract class to define custom ABI functions and events.
    • Decode your custom ABI JSON file and provide it to constructor:
use \FurqanSiddiqui\Ethereum\Contracts\Contract;

$customABI  =   Contract::fromArray(json_decode(file_get_contents("YOUR-CUSTOM-ABI.json"), true), true);
$erc20 = new ERC20(abi: $customABI);

Scaled Values

Use getScaledValue and fromScaledValue to convert amounts from/to uint256., (*5)

Prerequisites

Installation

composer require furqansiddiqui/erc20-php, (*6)

Changelog

  • 0.3.0: This library alongside several others such as ethereum-php have been modernised and requires PHP ^8.1.

The Versions

29/05 2018

dev-master

9999999-dev

Interact with any ERC20 standard Ethereum token

  Sources   Download

MIT

The Requires

 

token ethereum tokens eth geth ethereum-go erc20

29/05 2018

0.1.1

0.1.1.0

Interact with any ERC20 standard Ethereum token

  Sources   Download

MIT

The Requires

 

token ethereum tokens eth geth ethereum-go erc20

09/05 2018

0.1.0

0.1.0.0

Interact with any ERC20 standard Ethereum token

  Sources   Download

MIT

The Requires

 

token ethereum tokens eth geth ethereum-go erc20