phpは以太坊助記詞を実現


以太坊助記詞PHP開発パッケージは、PHP以太坊応用のために助記詞と階層決定鍵サポート能力を増加させるために使用される.ダウンロードアドレス:以太坊助記詞php開発パッケージ.
1、開発パッケージの概要
以太坊助記詞PHP開発パッケージは主に以下の特性を含む:
  • BIP 39規格に適合する助記語
  • を生成する.
  • BIP 39ワードをBIP 32規格に適合する階層決定鍵
  • に変換する.
  • BIP 44多通貨レベル確定財布規範
  • をサポートする
  • imtoken、metamaskなどの一般的な財布に対応するアシストワードと鍵/アドレス変換
  • 太坊助記語PHP開発パッケージはPhp 7.1+環境で実行され、現在のバージョンは1.0.0で、主なコードファイルリストは以下の通りである.
    コードファイルの説明ethool/src/Mnemonic.php助記語実現類ethool/src/WordListInterface.php辞書インタフェースethool/src/EnglishWordList.php英語辞書実装クラスethool/src/HDKey.phpレベルは鍵実装クラスethool/src/Utilsを決定する.php補助ツール類demo/demo-mnemonic.phpワード生成とインポートプレゼンテーションコードdemo/demo-hkey.php助記語は階層を結合して鍵プレゼンテーションコードvendorの第三者依存パッケージディレクトリcomposerを決定する.jsoncomposerプロファイル
    パッケージのダウンロード先:http://sc.hubwiz.com/codebag/eth-mnemonic-lib/
    2、コアクラスの使用説明
    Mnemonicクラスは、BIP 39規格に適合する助記語を生成するために、または既存の助記語を対応するランダムエントロピー値に変換して、秘密鍵の生成に使用するために、太坊助記語PHP開発パッケージのエントリクラスである.
    Mnemonicクラスは、インスタンス化のための以下の静的方法を提供する.
  • new():新しいMnemonicオブジェクトを作成する
  • fromWords():既存の助記語を使用してMnemonicオブジェクトをインスタンス化する
  • fromEntropy():既存のランダムエントロピーを使用してMnemonicオブジェクトをインスタンス化する
  • Mnemonicの例は、以下の方法を提供し、その特性化のランダムエントロピーおよび補助語を取得する.
  • getEntropy():ランダムエントロピー
  • を取得
  • getWords():取得助記詞
  • HDKeyクラスは、BIP 32/BIP 44規格をサポートする階層決定鍵を作成するために使用され、以下の静的方法のインスタンス化を提供する.
  • fromMnemonic():プリアンブル作成レベルを使用してプライマリ・キーを決定する
  • fromSeed():シードデータ作成レベルを使用してプライマリ・キー
  • を決定する.
    HDKeyインスタンスオブジェクトは、次の方法で子孫HDKeyを派生させることができます.
  • deriveChild():指定したシーケンス番号を派生するサブキー
  • derivePath():指定された階層パスから派生する子孫鍵
  • 3、サンプルコード:新しい助数詞を生成する
    次のコードは、Mnemonicクラスの静的方法new()を使用して新しい補助語を生成し、生成された補助語とそれに対応するランダムエントロピーを出力する.
    use EthTool\Mnemonic;
    
    $mnemonic = Mnemonic::new();                            /*       */
    echo 'mnemonic => ' . $mnemonic->getWords() . PHP_EOL;  /*     */
    echo 'entropy => ' . $mnemonic->getEntropy() . PHP_EOL; /*        */

    補助語を使用して階層マスター鍵を生成し、BIP 44の規定に従って階層決定財布の最初のイーサー坊鍵およびアドレスを生成する.
    $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;          /*              */

    4、サンプルコード:既存の助数詞をインポートする
    次のコードは、Menmonicクラスの静的方法fromWords()を使用して既存の補助語を導入し、補助語を使用して対応する階層鍵およびBIP 44イーサ坊財布アドレスを生成する.
    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;          /*              */