簡単に説明するとmnemonic(ニーモニック)からウォレットを作成し、そのウォレットのアカウントを使ってプログラム上から簡単にトランザクションを発行できる仕組みです。ソースコードもわずか69行とものすごく短いので1個ずつ説明していきたいと思います。mnemonicとは1~24個のランダムな単語のことを指します。MetaMaskのウォレットではmnemonicから秘密鍵を作る仕組みがあり、MetaMaskを削除してしまってもmnemonicさえあれば全てを復元できます。この仕組みはMetaMaskだけでなく様々なウォレットで使われているので仕組みを把握しておくといいと思います。HDWalletProvider;使われているモジュール主に下記モジュールがtruffle-hdwallet-providerで使われています。bip39とethereumjs-walletは重要な役割を担っているので理解しとくといいと思います。39をJavascriptで実装したものです。これは決定性キーを生成するプログラムです。Wallets)を作成するプログラムです。Walletsインスタンスを作成しています。このインスタンスから秘密鍵やアドレスを生成できます。ProviderEngineは独自のweb3プロバイダを作成するためのツールです。RPC経由でデータの読み書きができるライブラリです。Walletsを作成しています。Walletsを作るという手順になっています。engineはweb3-provider-engineから生成されています。engine.addProvider()の引数にweb3を使って任意の接続先のネットワークを指定できるようになっています。HDWalletProviderにはsend、sendAsync、getAddress、getAddressesが追加されていますがこれがどのタイミングで実行されているかちゃんと追えてないです。Truffleのmigrate時にこれらの関数が呼ばれていると思います。まとめ使っているモジュールは把握できましたが、まだまだソースコードの中身や語句の理解が足りず理解が浅いです。理解できてる範囲は広がってきているので今後追記していきたいと思います。まで網羅的に解説されている書籍なのでおすすめです。Bitcoinを作っているネクストカレンシー所属の方が書いているので信頼できます。2016年07月14日AmazonKindle楽天ブックスビットコインとブロックチェーンの詳細をしっかりと学びたい方にはこちらの書籍が非常におすすめです。ウォレットの仕組み、楕円曲線暗号、P2Pプロトコル、公開鍵暗号などビットコインを支える技術について詳細に解説されています。サンプルコードを通して実際に手を動かして学べるので非常に濃い内容となっています。スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。Incにブロックチェーンエンジニアとして入社。コメントをキャンセルメールアドレスが公開されることはありません。BootでHikariCPを使ってコネクションプールを設定する方法RECOMMENDこちらの記事も人気です。