Omni/USDT PHP开发包简介

本文介绍了OmniTool PHP开发包,它支持对Omni Layer/USDT数字资产的集成,适用于PHP应用。内容涵盖RpcClient类、Wallet类的使用,以及UTXO收集器、筛选器、广播器的接口。通过示例代码展示了如何进行Omni代币转账、比特币转账和数据查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OmniTool开发包适用于为PHP应用快速增加对Omni Layer/USDT数字资产的支持能力,即支持使用自有Omni Layer节点的应用场景,也支持基于第三方API服务和离线裸交易的轻量级部署场景。下载地址:omni/usdt php开发包

1、OmniTool开发包简介

OmniTool开发包主要包含以下特性:

  • 完善的Omni Layer节点RPC封装
  • 支持利用自有节点或第三方服务获取指定地址的utxo集合
  • 支持离线生成omni代币转账裸交易
  • 支持利用自有节点或第三方服务广播裸交易

OmniTool支持本地部署的Omnicored节点,也支持blockchain.info、btc.com等提供的开放API,要增加对其他第三方服务的支持也非常简单,只需要参考代码实现如下接口:

  • UtxoCollectorInterface:utxo收集器
  • UtxoSelectorInterface:utxo筛选器
  • BroadcasterInterface:裸交易广播器
  • ExplorerInterface:数据查询接口

OmniTool软件包运行在**Php 7.1+**环境下,当前版本1.0.0,主要类/接口及关系如下图所示:

omnitool arch

OmniTool的主要代码文件清单如下:

代码文件 说明
omni.php/src/RpcClient.php Omni Layer的RPC协议封装类
omni.php/src/RpcModule.php Omni Layer的RPC协议分模块访问语法糖
omni.php/src/protocol-spec.json Omni Layer协议描述元信息
omni.php/src/SerializeBuffer.php Omni Layer协议序列化缓冲区
omni.php/src/PayloadFactory.php Omni Layer协议载荷工厂类
omni.php/src/Utxo.php 未消费交易输出类
omni.php/src/UtxoBag.php Utxo集合类
omni.php/src/UtxoCollectorInterface.php Utxo收集器接口
omni.php/src/LocalUtxoCollector.php 基于OmniCore节点的Utxo收集器实现
omni.php/src/CloudUtxoCollector.php 基于第三方服务的Utxo收集器实现
omni.php/src/UtxoSelectorInterface.php Utxo筛选器接口
omni.php/src/DefaultUtxoSelector.php 默认的Utxo筛选器实现
omni.php/src/BroadcasterInterface.php 裸交易广播器接口
omni.php/src/LocalBroadcaster.php 基于OmniCore节点的裸交易广播器实现
omni.php/src/CloudBroadcaster.php 基于第三方服务的裸交易广播器实现
omni.php/src/ExplorerInterface.php 数据查询接口
omni.php/src/CloudExplorer.php 基于第三方服务的数据查询接口实现
omni.php/src/LocalExplorer.php 基于OmniCore节点的数据查询接口实现
omni.php/src/Utils.php 常用辅助函数
omni.php/src/Wallet.php 离线钱包类
demo/rpc-demo.php RpcClient使用示例,完整实现OMNI代币的发行与转账
demo/omni-tx-cloud.php 创建并广播Omni代币转账裸交易,使用第三方云服务API
demo/omni-tx-local.php 创建并广播Omni代币转账裸交易,使用自有节点
demo/btc-tx-cloud.php 创建并广播比特币转账裸交易,使用第三方云服务API
demo/btc-tx-local.php 创建并广播比特币转账裸交易,使用自有节点
demo/explorer-cloud.php 查询指定的地址比特币余额/Omni代币余额,使用第三方云服务API
demo/explorer-local.php 查询指定地址的比特币余额/Omni代币余额,使用自有节点
demo/wallet-init.php 本地钱包初始化
demo/wallet-demo.php 钱包载入、裸交易构造和广播
vendor 第三方依赖包目录
composer.json composer配置文件

2、RpcClient类使用说明

RpcClient类封装了Omni Layer的RPC接口协议。创建RpcClient对象时,需要传入
包含有效身份信息的节点RPC URL。例如,假设安装在本机的omnicored节点软件配置如下:

  • rpcuser:user
  • rpcpassword:123456
  • rpcport:8332

那么可以使用如下的代码来实例化RpcClient:

use \OmniTool\RpcClient;

$client = new RpcClient(
            'http://user:123456@localhost:8332'   /*节点RPC接口的URL*/
          );

Omni Core节点在Bitcoin原有的RPC接口之外,扩充了额外的接口用来操作Omni层的数据,这些扩展的RPC接口采用omni_前缀以区隔于Bitcoin的原有RPC接口。为了便于区隔这两层的RPC调用,RpcClient引入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值