以太坊助記詞PHP開發包簡介

以太坊助記詞PHP開發包用來爲PHP以太坊應用增長助記詞和層級肯定密鑰支持能力。下載地址:以太坊助記詞php開發包php

一、開發包概述

以太坊助記詞PHP開發包主要包括如下特性:code

  • 生成符合BIP39標準的助記詞
  • 將BIP39助記詞轉換爲符合BIP32標準的層級肯定密鑰
  • 支持BIP44多幣種層級肯定性錢包規範
  • 兼容imtoken、metamask等常見錢包的助記詞與密鑰/地址轉換

以太坊助記詞PHP開發包運行在**Php 7.1+**環境下,當前版本1.0.0,主要代碼文件清單參見:http://sc.hubwiz.com/codebag/eth-mnemonic-lib/對象

二、核心類使用說明

Mnemonic類是以太坊助記詞PHP開發包的入口類,用於生成符合BIP39標準的助記詞,或者將已有的助記詞轉化爲對應的隨機熵值,以便用於私鑰的生成。token

Mnemonic類提供如下靜態方法來進行實例化:開發

  • new():建立新的Mnemonic對象
  • fromWords():使用已有的助記詞實例化Mnemonic對象
  • fromEntropy():使用已有的隨機熵實例化Mnemonic對象

Mnemonic實例提供如下方法獲取其表徵的隨機熵和助記詞:字符串

  • getEntropy():獲取隨機熵
  • getWords():獲取助記詞

HDKey類用來建立支持BIP32/BIP44標準的層級肯定密鑰,提供如下靜態方法實例化:get

  • fromMnemonic():使用助記詞建立層級肯定主密鑰
  • fromSeed():使用種子數據建立層級肯定主密鑰

HDKey實例對象提供如下方法派生後代HDKey:ast

  • deriveChild():派生指定序號的子密鑰
  • derivePath():派生指定層級路徑的後代密鑰

三、示例代碼:生成新的助記詞

下面的代碼使用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;          /*顯示層級密鑰對應的以太坊地址*/
相關文章
相關標籤/搜索