以太坊助記詞PHP開發包用來爲PHP以太坊應用增長助記詞和層級肯定密鑰支持能力。下載地址:以太坊助記詞php開發包 。php
以太坊助記詞PHP開發包主要包括如下特性:code
以太坊助記詞PHP開發包運行在**Php 7.1+**環境下,當前版本1.0.0,主要代碼文件清單參見:http://sc.hubwiz.com/codebag/eth-mnemonic-lib/對象
Mnemonic類是以太坊助記詞PHP開發包的入口類,用於生成符合BIP39標準的助記詞,或者將已有的助記詞轉化爲對應的隨機熵值,以便用於私鑰的生成。token
Mnemonic類提供如下靜態方法來進行實例化:開發
Mnemonic實例提供如下方法獲取其表徵的隨機熵和助記詞:字符串
HDKey類用來建立支持BIP32/BIP44標準的層級肯定密鑰,提供如下靜態方法實例化:get
HDKey實例對象提供如下方法派生後代HDKey:ast
下面的代碼使用Mnemonic類的靜態方法new()
生成新的助記詞,而後輸出顯示所生成的助記詞及其對應的隨機熵:以太坊
use EthTool\Mnemonic; $mnemonic = Mnemonic::new(); /*建立新的助記詞*/ echo 'mnemonic => ' . $mnemonic->getWords() . PHP_EOL; /*顯示助記詞*/ echo 'entropy => ' . $mnemonic->getEntropy() . PHP_EOL; /*顯示對應的隨機熵*/
使用助記詞生成層級主密鑰並按照BIP44約定生成層級肯定錢包的第一個以太坊密鑰及地址:meta
$master = HDKey::fromMnemonic($mnemonic->getWords()); /*利用助記詞生成BIP32層級主密鑰*/ $key0 = $master->derive("m/44'/60'/0'/0/0"); /*生成BIP44約定的第一個以太坊密鑰路徑對應的層級密鑰*/ echo 'private key => ' . $key0->privateKey . PHP_EOL; /*顯示層級密鑰對應的私鑰,16進制字符串*/ echo 'address => ' . $key0->address . PHP_EOL; /*顯示層級密鑰對應的以太坊地址*/
下面的代碼使用Menmonic類的靜態方法fromWords()
導入已有的助記詞,而後利用助記詞生成對應的層級密鑰及BIP44以太坊錢包地址:
use EthTool\HDKey; //助記詞 $words = 'moral predict wash pledge hybrid box virtual length clap volcano shadow notice'; $master = HDKey::fromMnemonic($words); /*利用助記詞生成BIP32層級主密鑰*/ $key0 = $master->derive("m/44'/60'/0'/0/0"); /*生成BIP44約定的第一個以太坊密鑰路徑對應的層級密鑰*/ echo 'private key => ' . $key0->privateKey . PHP_EOL; /*顯示層級密鑰對應的私鑰,16進制字符串*/ echo 'address => ' . $key0->address . PHP_EOL; /*顯示層級密鑰對應的以太坊地址*/