onzcoin/onz-php-api

ONZ API的PHP封装。

v1.0 2018-10-11 15:06 UTC

This package is not auto-updated.

Last update: 2024-09-21 18:52:08 UTC


README

这是一个用面向对象风格编写的ONZ API的PHP封装。

它应该是一个API的完整实现。

其中包含一个CLI解析器,使得可以从命令行调用所有操作。例如:

php api.php getBlocks --height=111500

API兼容性

目前支持ONZ API版本0.94。以下是从onz api可用的部分:

  • [x] 账户
  • [x] Loader
  • [x] 交易
  • [x] 对等方
  • [x] 区块
  • [x] 签名
  • [x] 委托人
  • [x] 应用程序
  • [x] 多签名

安装

这是一个基于composer的包。安装就像这样简单:

composer require onzcoin/onz-php-api

使用

一般

要开始与onz服务器通信,需要实例化onz客户端并指定服务器的IP和端口。

这将连接到官方的onz测试网。

$client = new \Onz\Client('https://tnode11.onzcoin.com');

账户

获取账户余额

请求账户余额。

$client->getBalance($address);

获取公钥

获取账户的公钥。如果账户不存在,API调用将返回错误。

$client->getPublicKey($secret);

打开账户

请求账户信息。如果带有秘密的账户不存在,将创建账户。

$client->openAccount($secret);

生成公钥

返回提供的秘密密钥的公钥。

$client->generatePublicKey($secret);

从地址获取账户信息

返回地址的账户信息。

$client->getAccountInfo($address);

获取委托人

按地址返回委托人账户。

$client->getDelegates($address);

投票委托人

为选定的委托人投票。一次最多33个委托人。(注意:目前与onz api不兼容。异常:“a.asset.votes.join 不是函数”)

$client->voteDelegates($delegates, $secret, $secondSecret = null, $publicKey = null);

Loader

获取加载状态

$client->getLoadingStatus();

获取同步状态

获取客户端的同步状态。

$client->getSynchronizationStatus();

获取区块收据状态

获取最后收到的区块的状态。如果区块在过去的120秒内被接收,则返回true。

$client->getBlockStatus();

交易

获取交易列表

列出与提供的参数匹配的交易。

$client->listTransactions($blockId, $senderId, $recipientId, $limit, $offset, $orderBy);

发送交易

将交易发送到广播网络。

$client->sendTransaction($secret, $amount, $recipientId, $publicKey, $secondSecret);

获取交易

获取与提供的id匹配的交易。

$client->getTransaction($id);

获取未确认交易

获取与提供的id匹配的未确认交易。

$client->getUnconfirmedTransaction($id);

获取未确认交易列表

获取未确认交易列表。

$client->listUnconfirmedTransactions();

获取队列交易列表

获取队列交易列表。

$client->listQueuedTransactions();

获取特定队列交易

获取与提供的id匹配的队列交易。

$client->getQueuedTransaction($id);

对等方

获取对等方列表

根据提供的过滤器参数获取对等方列表。

$client->getPeerList($state, $os, $version, $limit, $offset, $orderBy);

获取对等方版本/构建时间

获取对等方版本和构建时间列表

$client->getPeerVersion();

获取对等方

通过IP地址和端口获取对等方。

$client->getPeer($ip, $port);

区块

获取区块

通过提供的过滤器获取所有区块。

$client->getBlocks($totalFee, $totalAmount, $previousBlock, $height, $generatorPublicKey, $limit, $offset, $orderBy);

获取区块

通过提供的id获取区块。

$client->getBlock($id);

获取区块链费用

获取发送“正常”交易的交易费用。

$client->getBlockchainFee();

获取区块链费用计划

获取所有类型交易的交易费用。

$client->getBlockchainFees();

获取区块链奖励计划

获取区块的锻造奖励。

$client->getBlockchainReward();

获取Onz代币(ONZ)的总供应量

获取流通中的Onz总量

$client->getTotalSupply();

获取区块链高度

获取客户端的区块链高度。

$client->getBlockchainHeight();

获取高度、费用、里程碑、区块奖励和供应的状态

获取高度、费用、里程碑、区块奖励和供应的状态

$client->getStatusInfos();

获取区块链Nethash

在客户端获取区块链的nethash。

$client->getBlockchainNethash();

获取区块链里程碑

在客户端获取区块链的里程碑。

$client->getBlockchainMilestone();

签名

获取签名费用

获取账户的第二签名状态。

$client->getSignatureFee();

添加第二签名

向账户添加第二签名。

$client->addSecondSignature($secret, $secondSecret, $publicKey);

委托人

在账户上启用委托人

提交创建委托人的请求。

$client->createDelegate($secret, $username, $secondSecret);

获取委托人列表

通过提供的过滤器获取委托人列表。

$client->getDelegateList($limit, $offset, $orderBy);

获取委托人

通过公钥或用户名获取委托人。

$client->getDelegate($publicKey, $username);

搜索委托人

通过“模糊”用户名搜索委托人。

$client->searchDelegate($username, $orderBy);

获取委托人数量

获取注册委托人的总数。

$client->getDelegateCount();

获取账户的投票

通过账户钱包地址获取投票。

$client->getDelegateVotes($address);

获取投票者

获取委托人的投票者。

$client->getDelegateVoters($publicKey);

在委托人上启用锻造

在客户端节点上启用委托人的锻造。

$client->enableForging($secret);

在委托人上禁用锻造

在客户端节点上禁用委托人的锻造。

$client->disableForging($secret);

通过账户获取锻造

获取账户锻造的Onz数量。

$client->getForgedByAccount($generatorPublicKey, $start, $end);

获取下一个锻造者

获取下一个排队锻造的委托人。

$client->getNextForger($limit);

应用

注册应用

注册区块链应用。

$client->registerApp($secret, $category, $name, $type, $link, $secondSecret, $publicKey, $description, $tags, $icon);

获取应用

获取网络上注册的区块链应用列表。

$client->getApps($category, $name, $appType, $link, $limit, $offset, $orderBy);

获取应用

通过注册ID获取特定的区块链应用。

$client->getApp($id);

搜索应用

通过节点上的过滤器搜索区块链应用。

$client->searchApps($q, $category, $installed);

安装应用

通过ID在节点上安装应用。

$client->installApp($id);

已安装的应用

返回请求节点上已安装应用列表。

$client->getInstalledApps();

已安装应用ID

返回请求节点上已安装应用ID列表。

$client->getAllInstalledApps();

卸载应用

通过ID从请求节点卸载应用。

$client->uninstallApp($id);

启动应用

通过ID在请求节点启动应用。

$client->launchApp($id, $params);

安装中

返回请求节点上当前正在安装的应用ID列表。

$client->installingApp();

卸载中

返回客户端节点上当前正在卸载的应用ID列表。

$client->uninstallingApp();

已启动

返回客户端节点上当前已启动的应用ID列表。

$client->launchedApps();

分类

返回完整的应用分类列表。

$client->getCategories();

停止应用

通过ID在请求节点停止应用。

$client->stopApp($id);

多重签名

创建多重签名账户

创建多重签名账户。

$client->createMultiSignatureAccount($secret, $lifetime, $min, $keysgroup, $secondSecret);

获取多重签名账户

获取属于多重签名账户的账户列表。

$client->getMultiSignatureAccounts($publicKey);

签名多重签名交易

对等待签名的交易进行签名。

$client->getPendingTransactions($publicKey);

获取待签名的多重签名交易

返回通过公钥等待签名的多重签名交易列表。

$client->signPendingTransaction($secret, $transactionId, $publicKey);

待办事项

  • [x] [1] 完成API
  • [ ] [2] 完成文档
  • [ ] [3] 在packagist上发布包
  • [ ] [...] 更多

支持

如果您想支持我,请考虑为我投票的ONZ委托人

  • pelops (ONZkXgbtn3UXx9VwVVGAtMmKNxuo5Su7cdYc) 在主网上
  • pelops_testnet (ONZfnjELpTooW64V6CSXg5puP3v6pHTWA265) 在测试网上

开发

如果您想支持开发,只需创建一个pull request或fork此项目。我会尽快将所有内容合并到项目中。

项目支持者

这些人已为此项目做出贡献

非常感谢您!

许可证

根据GNU通用公共许可证v3.0许可

版权(c)2018 OnzCoin <hi@onzcoin.com>

OnzPhp 是免费软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)该许可证的任何后续版本。

OnzPhp 的分发是希望它有用,但没有任何保证;甚至没有关于其商业性或适用于特定目的的暗示性保证。有关更多详情,请参阅GNU通用公共许可证。

您应该已经随 OnzPhp 收到了GNU通用公共许可证的一份副本。如果没有,请参阅 https://gnu.ac.cn/licenses/