返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php实现助记词转TRX,ETH 私钥和钱包地址
  • 172
分享到

php实现助记词转TRX,ETH 私钥和钱包地址

php区块链开发语言 2023-09-02 14:09:19 172人浏览 泡泡鱼
摘要

TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟PHP是世界上最好的语言。【狗头】 一、知识准备 要实现助记词转TRX私钥和地址,先需

TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟PHP是世界上最好的语言。【狗头】

一、知识准备

要实现助记词转TRX私钥和地址,先需要知道助记词和私钥钱包地址之间的关系。

大概意思是,在数字货币里,所有的交易都是由私钥签名来确认身份的,但是私钥没有规律,不利于记忆,于是就引入了一些便于记忆的词组(助记词),助记词由私钥根据一些规范转换而来,这些规范实现了助记词和私钥之间相互转换。

php实现助记词转TRX,ETH 私钥和钱包地址
创建钱包说明

二、TRX助记词转私钥和地址思路(其他链也是一个思路)

首先有网友写了php 创建BTC、LTC、ETH助记词、私钥和地址 使用示例(转)的方法,我们可以根据这个思路,将助记词转成TRX私钥。

php实现助记词转TRX,ETH 私钥和钱包地址
创建助记词并生成BTC私钥
php实现助记词转TRX,ETH 私钥和钱包地址
创建助记词并生成ETH私钥、地址
php实现助记词转TRX,ETH 私钥和钱包地址
创建助记词并生成LTC私钥、地址

通过上面三个案例,我们发现助记词在转不同的链时私钥时,只是需要调用不同的BIP44选项即可。所以理论上,我们所有符合BIP44规范的链,都可以按本方法将助记词转成私钥。

BIP44规范不同链对应编码:Registered coin types for BIP-0044

转钱包地址则是利用不同链自己的生成规则,将私钥转成公钥,公钥再生成地址。所以要实现转地址,只需要去找到不同链的开发包即可。

私钥和公钥及地址的关系 私钥和公钥及地址的关系

三、实现方法

trx我这边用的这个包

composer require fenguoz/tron-php
php实现助记词转TRX,ETH 私钥和钱包地址
    //const URI = 'https://api.shasta.trongrid.io'; // shasta testnet    const URI = 'https://api.trongrid.io'; // mainnet    const TRON_PRO_API_KEY = 'xxxxxxxxxx'; // mainnet    const CONTRACT = [        'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t', // USDT TRC20        'decimals' => 6,    ];    private $trx;    private $trx20;        private function getTRX(): TRX    {        if ($this->trx==null){            $api = new Api(new Client(['base_uri' => self::URI,'headers'=>['TRON-PRO-API-KEY'=>self::TRON_PRO_API_KEY]]));            $this->trx = new Trx($api);        }        return $this->trx;    }        public function privateKeyToAddress($privateKey): TronAddress    {        return $this->getTRX()->privateKeyToAddress($privateKey);    }        public function trxMnemonicToAddress($mnemonic): TronAddress    {        $seedGenerator = new Bip39SeedGenerator();        // 通过助记词生成种子,传入可选加密串'hello'        $seed = $seedGenerator->getSeed($mnemonic);        $hdFactory = new HierarchicalKeyFactory();        $master = $hdFactory->fromEntropy($seed);        $hardened = $master->derivePath("44'/195'/0'/0/0");        $pri = $hardened->getPrivateKey()->getHex();        return $this->privateKeyToAddress($pri);    }

开发调试时,可以用这个网站测试对比生成结果:Mnemonic Code Converter

4、温馨提示

助记词和私钥都是非常重要的敏感数据,一旦泄露可能造成非常严重测财产损失,请谨慎操作使用。

5、参考资料

  1. Bit-Wasp/bitcoin-php 的简单使用:创建钱包 + 进行交易
  2. php 创建BTC、LTC、ETH助记词、私钥和地址 使用示例
  3. Mnemonic Code Converter
  4. 理解开发HD 钱包涉及的 BIP32、BIP44、BIP39

排名不分先后,仅以浏览器关闭顺序为依据。【笑哭】

来源地址:https://blog.csdn.net/wwj256/article/details/129718835

--结束END--

本文标题: php实现助记词转TRX,ETH 私钥和钱包地址

本文链接: https://lsjlt.com/news/390907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作