php中BtcTool有哪些特性

技术php中BtcTool有哪些特性这篇文章给大家分享的是有关php中BtcTool有哪些特性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。BtcTool是一个基于第三方服务和离线裸交易实现的

本文是关于php中BtcTool的特性。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

BtcTool是一个基于第三方服务和线下裸交易的PHP比特币应用开发包。适合不想部署本地节点的PHP开发者。开发包主要包括以下功能:

使用第三方服务获取指定地址的utxo集

消费者裸交易的线下生成

使用第三方服务广播裸交易

BtcTool目前支持的第三方服务包括,并且可以轻松扩展:

blockchain.info

btc.com

下载地址:http://sc.hubwiz.com/codebag/btc-php-lib/

1. 代码清单

BTC tol在**Php 7.1 **环境下运行,当前版本为1.0.0,主要代码文件列表如下:

代码文件描述BTC tol/src/wallet . PHP脱机钱包类,开发包入口BTC tol/src/Uttxo . PHP未消耗事务输出类BTC tol/src/Uttxobag . phputxo收集类BTC tol/src/Uttxocollector . phputxo收集器接口BTC tol/src/Uttxoselector基于CloudUtxoCollector.php第三方服务的Uttxo收集器实现BTC tol/src/Uttxoselector . phputxo过滤器接口btch tool/src/defaultutxoselector

创建钱包实例

将私钥添加到钱包实例中。

使用Wallet实例的**sendTx()**方法获取编码的裸事务。

使用Wallet实例的**broadcast()**方法来广播裸事务。

示例代码如下,说明可在注释中找到:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

要求('./vendor/autoload . PHP ');

使用BtcT

ool\Wallet;            //引入开发包
$wallet = new Wallet('testnet');  //创建钱包,主网传入 mainnet
$prvKey = '...';                 //向钱包中添加私钥,可添加多个
$wallet->addKey($prvKey);
$toAddr = 'mgYPLmNuZymK...e2XUNF6VFnT'   //地址应当与testnet/mainnet保持一致
$amount = 10000;                //单位:satoshi
$rawtx = $wallet->sendTx($toAddr,$amount);  //构造裸交易,返回16进制字符串
$ret = $wallet->broadcast($rawtx);   //广播裸交易

注意:

  1. Wallet实例利用钱包中的私钥生成地址列表,并利用这些地址从第三方服务获取utxo信息。 因此需要钱包中的私钥对应地址在链上有utxo存在,Wallet对象才能够成功构造裸交易。

  2. 在调用Wallet对象的sendTx()方法构造裸交易时,可以指定找零地址和手续费,例如:

  $rawtx = $wallet->sendTx($toAddr,$amount,$changeAddr,$fee);

如果未指定后面两个参数,找零地址默认为钱包中第一个私钥对应的地址,手续费默认为10000satoshi(高费率)。 3. 转账目标地址应当与创建Wallet对象时指定的链ID一致,例如mainnet的p2pkh地址,前缀应当为1

3. 主要模型

3.1 UtxoCollector接口

利用钱包地址列表,获取候选UTXO。

接口方法:

  • collect():提取候选UTXO,返回TUXO集合

当前实现类:

  • CloudUtxoCollector

3.2 UtxoSelector接口

根据目标金额从候选UTXO中选择可消费UTXO

接口方法:

  • select():选择可消费UTXO,返回UtxoBag对象

当前实现类:

  • DefaultUtxoSelector

3.3 Broadcaster接口

裸交易广播器

接口方法:

  • broadcast():广播裸交易

当前实现类:

  • CloudBroadcaster

3.4 Wallet类

管理私钥、地址和脚本,同时提供构造和广播裸交易的方法

主要方法:

  • ::load(): 静态方法,利用硬盘的钱包文件构造Wallet对象

  • addKey():添加私钥

  • save():将Wallet对象保存到钱包文件

  • sendTx():构造裸交易,返回裸交易码流,该方法可自动搜索可用UTXO集合

  • broadcast():广播裸交易,调用Broadcaster完成

感谢各位的阅读!关于“php中BtcTool有哪些特性”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117468.html

(0)

相关推荐

  • 苹果电脑如何切换输入法,Mac下如何切换输入法

    技术苹果电脑如何切换输入法,Mac下如何切换输入法1、如果你只有二个输入法苹果电脑如何切换输入法,一个英文输入法和一个中文输入法,(五笔或拼音),那我们可以用键盘快捷键来切换就行了,按下command键,再按一下空格键,

    生活 2021年10月28日
  • Shell中括号用法总结

    技术Shell中括号用法总结 Shell中括号用法总结Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:算术比较, 比如一个变量是否为0,[ $var -eq 0 ]。
    文件属性测

    礼包 2021年12月7日
  • SQL32 将employees表的所有员工的lastname和firstname拼接起来作为Name

    技术SQL32 将employees表的所有员工的lastname和firstname拼接起来作为Name SQL32 将employees表的所有员工的last_name和first_name拼接起来

    礼包 2021年10月28日
  • ADO.NET存储过程调用举例分析

    技术ADO.NET存储过程调用举例分析这篇文章主要讲解了“ADO.NET存储过程调用举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET存储过程调用举例分

    攻略 2021年12月3日
  • 视觉皮层的架构

    技术视觉皮层的架构 视觉皮层的架构视觉皮层的架构
    卷积神经网络(CNN)起源于对大脑的视觉皮层的研究,从20世纪80年代起被用于图像识别。在过去几年中,由于计算机计算能力的提高、可训练数据数量的增加,以

    礼包 2021年11月14日
  • 广字头的字,广字头的字大多与什么有关

    技术广字头的字,广字头的字大多与什么有关“广”字头的字大多与房屋或者建筑物有关。常见的“广”字头的字有庵广字头的字、府、店、庙、库。一、庵 ān
    释义
    1、小草屋:茅~。
    2、佛寺(多指尼姑住的):~堂。尼姑~。
    3、姓

    生活 2021年10月26日