kilvn / geth-token-jsonrpc-php-client
用于与 geth (go-ethereum) 节点通信的 token API 客户端库。
Requires
- php: >= 7.4
- ext-bcmath: *
- ext-curl: *
Requires (Dev)
- doctrine/coding-standard: ^7.0
- mockery/mockery: @dev
- nette/tester: @dev
- phpstan/phpstan: ^0.12
This package is auto-updated.
Last update: 2024-09-29 05:42:53 UTC
README
从 wax-api 分支出来
该类允许任何人通过 PHP 容易地发送或接收 WAX。它可以在命令行或 Web 服务器上使用。它将支持 PHP 5.6 或更高版本。
要开始,您需要以下 PHP 模块
- bcmath
- curl
您还需要安装 Geth 并启用其 JSON-RPC API。
由于精度问题,所有金额均表示为字符串。例如,1.2345 WAX 将返回为 "1.2345"
。
安装
composer require kilvn/geth-token-jsonrpc-php-client
演示
在 demo/ 目录下有一些演示可用
用法
use Kilvn\GethTokenJsonRpcPhpClient; $wax = new Wax($rpcHost, $rpcPort [, $trimTrailingZeroes, $timeout]); $wax->setContract($contract_address, $contract_decimals);
$rpcHost
- 这应该是 Geth JSON-RPC 可用的主机,例如"127.0.0.1"
,或者您可以使用其他人的节点,例如:https://mainnet.infura.io/v3/xxxx
,在这种情况下,您需要将$rpcPort
作为空字符串传递,因为此方法不需要告诉接口端口号$rpcPort
- 这应该是 Geth JSON-RPC 可用的端口号。这是可选的,默认为8545
或空字符串$contract_address
合约地址,您必须告诉合约位置以使 API 正确工作$contract_decimals
合约发布时的小数位数,类型必须是 int$trimTrailingZeroes
- 如果为 true,则 WAX 余额和金额将删除尾随零$timeout
curl 发送请求超时的时间,默认为 60 秒
实例化一个新的 Wax
实例。
getChecksumAddress($address)
$address
- 您希望进行校验和的 WAX 地址
返回您输入的地址,采用标准 EIP-55 格式的首字母大写。
verifyAddressValid($address)
$address
- 您希望验证的 WAX 地址
通过确保校验和检查无误来验证您输入的地址是否有效。如果没有大小写校验和,则简单地返回 true。返回 true
或 false
。
getPeerCount()
获取并返回连接到您的 Geth
的对等节点数量。
getSyncStatus()
获取并返回包含您的 Geth
同步状态的数组,如果没有同步,则返回 null
。
getBlockNumber()
获取并返回您的 Geth
所有的最高区块号。
getAddresses()
获取并返回存储在您的 Geth
中的所有具有私钥的地址数组。
getWaxBalance($address)
$address
- 您感兴趣的 WAX 余额的地址
获取并返回特定地址的 WAX 余额,这不需要是您自己的。返回值是一个字符串。
sendWax($fromAddress, $toAddress, $amount)
$fromAddress
- 您想从该地址发送 WAX 的地址$toAddress
- 您想发送 WAX 的地址$amount
- 您想发送的 WAX 金额,作为字符串(例如 "1.23456")
从您控制的地址立即向另一个地址发送一些 WAX。返回结果交易哈希。
地址必须解锁。您可以使用Geth命令行自动解锁地址。
createNewPendingTransactionFilter()
在Geth中创建一个新的待处理交易过滤器。使用getNewWaxTransactions
获取新交易。返回一个包含过滤器ID的字符串。
getNewWaxTransactions($filterId)
$filterId
- 您希望接收数据的过滤器ID
返回一个数组,包含自上次调用getNewWaxTransactions
以来已广播的每个新WAX交易的交易数据。数组中的每个元素都包含与getTransactionByHash
相同的元素。
getTransactionByHash($hash)
$hash
- 您想获取详细信息的交易的哈希
返回一个包含以下元素的数组
fromAddress
- 发送WAX的地址toAddress
- 接收WAX的地址amount
- 交易的WAX数量hash
- 交易的哈希blockHash
- 包含该交易的块的哈希blockNumber
- 包含该交易的块的编号gas
- 发送此交易使用的气体数量gasPrice
- 此交易的gas的价格(以wei计)confirmations
- 此交易有多少确认