イーサー坊プライベートチェーンの簡易導入プロセス


一、まずいくつかの概念を明らかにしてください:1、EVMは独立した軽量級の仮想マシン環境で、ブロックチェーンデータの一致性と許容誤り性を確保します;2、インテリジェント契約はクライアントからブロックチェーンにアップロードされ、鉱夫のEVMで実行される.3,以太坊はUTXOモデルではなく口座システム,世界状態を採用しているため,状態照会や変更に直接アクセスでき,記憶空間が小さくプログラミングが容易であるが,遡及履歴もサポートされず,再生攻撃をうまく処理する必要がある.総合的に言えば、それぞれ千秋がある.4,主にGasの制限によって不安定な契約とDDoS攻撃を下げる.5,将来的にはPoSコンセンサスメカニズム,スライスメカニズム,UTXOモデルへの参加が計画されている(後述).
二、開発常用IDE Mist機能がそろったクライアントGethイーサ坊ネットワークにアクセスする常用クライアントTruffle機能が豊富な応用開発フレームワークEmbarkはイーサ坊とIPFSを統合したDApp開発フレームワークRemixオンラインIDEをサポートし、デバッグとテスト環境を内蔵する
三、コマンドラインを使用してクライアントをインストールすることを提案する(ubuntu 16.04)
$sudo apt install software-properties-common

$sudo add-apt-repository -y ppa:ethereum/ethereum

$sudo apt update

$sudo apt install ethereum

四、テスト用プライベートチェーン1を構築し、gensis.jsonファイルを新規作成する
{
    "config": {
        "chainId": 23,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
         },
    "nonce":"0x0000000000000023",
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x400",
    "alloc": {},
    "coinbase":"0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "",
    "gasLimit":"0x2fefd8"
}

chainIdはブロックチェーンIDを指定し、異なるIDネットワークのノードが互いに接続できない
2、ブロックチェーンの起動
創世ブロックと初期状態の生成
$geth --datadir    PATH_TO_DATADIR init PATH_TO_GENSIS.JSON

$geth --identity "YOUR_NAME" --rpc --rpcport "DEFAULT_IS_8545" --datadir PATH_TO_DATADIR --port "DEFAULT_IS_30303" --nodiscover console

-nodiscoverは、同じ初期構成の見知らぬノードの追加を防止するために、ノード発見制限をオフにします.
3,js consoleインタフェースに入る
アカウントの作成
personal.newAccount()

残高照会
eth.getBalance(myaddress)

きどうくっさく
miner.start()

採掘を中止する
miner.stop()