make-software/casper-php-sdk

PHP 7.4+ 库,用于与 Casper 区块链节点 RPC API 交互。

1.4.0 2023-11-29 11:43 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

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