aelf / aelf-sdk
AElf PHP SDK
v1.2.3
2023-03-09 13:42 UTC
Requires
- php: >=5.6
- ext-curl: *
- ext-gmp: *
- bitcoin-php/bitcoin-ecdsa: ^1.3
- google/protobuf: ^3.11
- hhxsv5/php-multi-curl: ~1.0
- kornrunner/secp256k1: ^0.1.2
- stephenhill/base58: ^1.1
- tuupola/base58: ^2.0
Requires (Dev)
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2024-09-26 08:43:17 UTC
README
#介绍
这是一个PHP客户端库,用于与AElf API通信。
安装
AElf PHP SDK
要通过composer安装此库,请在控制台中运行以下命令
$ composer require aelf/aelf-sdk
composer require curl/curl
如果您直接克隆了SDK,则必须在根目录中安装composer并执行它
"aelf/aelf-sdk": "dev-dev"
环境配置和需要开启的扩展
1. PHP => 7.0
2. gmp
3. curl
基本用法
require_once 'vendor/autoload.php'; use AElf\AElf; $url = '127.0.0.1:8000'; $aelfClient = new AElf($url); $height = $aelfClient->GetBlockHeight();
示例
您也可以在./example
中查看完整的示例;
接口
接口方法可以通过基本用法中显示的"aelfClient"实例轻松获得。以下是每个方法的输入参数和输出列表。请参阅Web api参考以获取详细的接口描述。
IBlockAppService
public function getBlockHeight(); public function getBlockByHash($blockHash,$includeTransactions = false); public function getBlockByHeight($blockHeight,$includeTransactions = false);
IChainAppService
public function getChainStatus(); public function getContractFileDescriptorSet($address); public function getCurrentRoundInformationAsync(); public function getTaskQueueStatusAsync(); public function getChainIdAsync();
INetAppService
public function addPeer($address); public function removePeer($address); public function getPeers($withMetrics); public function getNetworkInfo();
ITransactionAppService
public function getTransactionPoolStatus(); public function executeTransaction($input); public function executeRawTransaction($input); public function createRawTransaction($input); public function sendRawTransaction($input); public function sendTransaction($input); public function sendTransactions($input); public function getTransactionResult($transactionId); public function getTransactionResults($blockHash, $offset = 0, $limit = 10); public function getMerklePathByTransactionId($transactionId);
IClientService
public function isConnected(); public function getFormattedAddress($privateKey, $address); public function getAddressFromPubKey($pubKey) ; public function getGenesisContractAddress(); public function getContractAddressByName($privateKey, $contractNameHash);
测试
此模块包含对AElf提供的所有服务的测试。您可以在其中了解如何正确使用AElf提供的服务。
您需要首先设置必要的参数以确保测试可以成功运行。
-
设置baseUrl为您目标URL。
$url = "Http://127.0.0.1:8001";
-
提供一个有效节点的私钥。
$this->privateKey = 'be3abe5c1439899ac2efd0001e15715fd989a3ae11f09e1cb95d320cd4993e2a';
注意
您需要运行本地或远程AElf节点才能成功运行单元测试。如果您不熟悉如何运行节点或多个节点,请参阅运行节点 / 运行多个节点以获取更多信息。