TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟PHP是世界上最好的语言。【狗头】 一、知识准备 要实现助记词转TRX私钥和地址,先需
TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟PHP是世界上最好的语言。【狗头】
要实现助记词转TRX私钥和地址,先需要知道助记词和私钥钱包地址之间的关系。
大概意思是,在数字货币里,所有的交易都是由私钥签名来确认身份的,但是私钥没有规律,不利于记忆,于是就引入了一些便于记忆的词组(助记词),助记词由私钥根据一些规范转换而来,这些规范实现了助记词和私钥之间相互转换。
首先有网友写了php 创建BTC、LTC、ETH助记词、私钥和地址 使用示例(转)的方法,我们可以根据这个思路,将助记词转成TRX私钥。
通过上面三个案例,我们发现助记词在转不同的链时私钥时,只是需要调用不同的BIP44选项即可。所以理论上,我们所有符合BIP44规范的链,都可以按本方法将助记词转成私钥。
BIP44规范不同链对应编码:Registered coin types for BIP-0044
转钱包地址则是利用不同链自己的生成规则,将私钥转成公钥,公钥再生成地址。所以要实现转地址,只需要去找到不同链的开发包即可。
trx我这边用的这个包
composer require fenguoz/tron-php
//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
助记词和私钥都是非常重要的敏感数据,一旦泄露可能造成非常严重测财产损失,请谨慎操作使用。
排名不分先后,仅以浏览器关闭顺序为依据。【笑哭】
--结束END--
本文标题: php实现助记词转TRX,ETH 私钥和钱包地址
本文链接: https://lsjlt.com/news/390907.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0