make-software / casper-php-sdk
PHP 7.4+ 库,用于与 Casper 区块链节点 RPC API 交互。
1.4.0
2023-11-29 11:43 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-gmp: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-sodium: *
- ionux/phactor: 1.0.8
- mdanter/ecc: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-19 11:56:07 UTC
README
PHP SDK 允许开发人员使用 PHP 与 Casper 网络交互。此页面涵盖了使用 SDK 的不同示例。
安装
composer require make-software/casper-php-sdk
重要
要使用 Secp256K1
密钥,您需要安装并启用 secp256k1-php 扩展
git clone git@github.com:bitcoin-core/secp256k1 && \ cd secp256k1 && \ ./autogen.sh && \ ./configure --enable-experimental --enable-module-{ecdh,recovery} && \ make && sudo make install && \ cd ../
git clone git@github.com:Bit-Wasp/secp256k1-php && \ cd secp256k1-php/secp256k1 && \ phpize && \ ./configure --with-secp256k1 && \ make && sudo make install && \ cd ../../
通过将以下行添加到您的 php.ini
文件中启用扩展
extension=secp256k1.so
用法
创建 RpcClient
通过将节点 URL 和头信息(可选)传递给构造函数来创建 RpcClient
$nodeUrl = 'http://127.0.0.1:7777'; $headers = array('Authorization' => 'Bearer 6ae6c8b31f09df244019ffef60c274e4'); // Optional $client = new Casper\Rpc\RpcClient($nodeUrl, $headers);
RPC 调用示例
您可以在 RpcClientAPI 页面 上找到所有 RpcClient 方法。在此处,您可以查看一些使用 RpcClient 的示例。以下所有示例均应在测试网上运行
通过部署哈希获取部署
$deploy = $client->getDeploy('fa815fc43c38da30f6ab4e5a6c8a1b31f09df2bf4b344019ffef60c1270d4e49'); $deployHeader = $deploy->getHeader(); $creationTime = $deployHeader->getTimestamp();
获取拍卖状态信息
$auctionState = $client->getAuctionState(); $stateRootHash = $auctionState->getStateRootHash(); $blockHeight = $auctionState->getBlockHeight();
从网络中获取对等节点
$peers = $client->getPeers(); foreach ($peers as $peer) { ... }
获取最新区块信息
$latestBlock = $client->getLatestBlock(); $latestBlockHash = $latestBlock->getHash();
更多示例
API
RpcClient
- RpcClient
- putDeploy
- getDeploy
- getBlockByHash
- getBlockByHeight
- getLatestBlock
- getPeers
- getStatus
- getAuctionState
- getStateRootHash
- getAccount
- getAccountBalance
- getAccountBalanceUrefByAccountHash
- getAccountBalanceUrefByPublicKey
- getBlockState
- getBlockTransfers
- getEraSummaryBySwitchBlockHash
- getEraSummaryBySwitchBlockHeight
- getDictionaryItemByURef
- getGlobalStateByBlock
- getGlobalStateByStateRootHash
- queryBalance
- getChainspecInfo
- speculativeExecution
DeployService
ContractService
实体
测试
从项目目录运行以下命令。
在运行之前,将 http://127.0.0.1:7777
替换为任何测试网节点 URL
export CASPER_PHP_SDK_TEST_NODE_URL="http://127.0.0.1:7777" && php vendor/bin/phpunit tests