LoginSignup
4
2

More than 5 years have passed since last update.

truffleからgethで作成したプライベートブロックチェーンネットワークに接続する

Posted at

概要

truffleを使ってSolidityを勉強していた時に,gethで作成したプライベートブロックチェーンネットワークに接続したくなり,その方法について調べた.自分用の備忘録として投稿する.

gethを使ってプライベートブロックチェーンを作成する.

  1. 任意のディレクトリに移動する.
  2. ブロックチェーンのgenesisブロックの設定を記入したjsonファイルを作成する
  3. 以下のコマンドを用いてブロックチェーンを作成する.
geth --networkid "15" --nodiscover --datadir "directory/path/to/genesis/json/file" --rpc --rpcaddr "127.0.0.1" --rpcport "8545" --rpccorsdomain "*" console 2>> directory/path/to/genesis/json/file/geth_err.log

それぞれのオプションについては,他に多くのサイトがあるため割愛.

truffleでSolidityのプロジェクト作成する.

  1. 任意のディレクトリに移動する.
  2. truffle initを実行して,雛形を作成する.
  3. truffle create contract ContractNameでContractNameというコントラクトの雛形を作成する.そして,そのファイルに自分の作成したいコントラクトをSolidityで実装する.
  4. truffle create migration ContractNameでContractNameのmigrationファイルを作成する.
  5. truffle.jsを下のようにする.この設定はgethに合わせる.
  6. truffle console --network devを実行する.
truffle.js
module.exports = {
    networks: {
        dev: {
            host: "127.0.0.1",
            port: 8545,
            network_id: "15"
        },
    }
};

まとめ

truffleの実行をdevelopではなく,consoleで行う点でハマった.
developはtruffle.jsを無視して,テストネットを作成するらしい.

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2