美文网首页
windows下单步调试以太坊代码

windows下单步调试以太坊代码

作者: 文博园 | 来源:发表于2018-11-14 10:27 被阅读0次

    1.  編寫創世塊文件:

      "config": {

        "chainId": 10605,

        "homesteadBlock": 0,

        "eip155Block": 0,

        "eip158Block": 0

      },

      "alloc"      : { },

      "coinbase"  : "0x0000000000000000000000000000000000000000",

      "difficulty" : "0x2000000",

      "extraData"  :  "",

      "gasLimit"  : "0x2000000",

      "nonce"      : "0x0000000000000042",

      "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",

      "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

      "timestamp"  : "0x00"

    }

    该文件中的alloc 项,在开始创建文件时是空的,其中的内容表示区块链建立时特定的{账户:余额}

    2. 初始化private 網絡:

     1)自定義私有鏈的路徑和網絡ID以及初始化創世塊:

    cd chain

    geth –datadir  C:\区块链DB存放路径 --networkid 54321 init C:\创世块配置文件路径\genesis.json

     2) 進入console:

    geth --datadir  C:\区块链DB存放路径 –-nodiscover console

    3. 創建賬戶:

    personal.newAccount() 提示輸入密碼:例如“eth” or “eth1”,生成賬戶地址。使用eth.accounts 返回地址。

    生成兩個賬戶:

    ["0x8c9e414ed75674b150c31a8ece644a39e636196a", "0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869"]

    4. 修改這兩個賬戶的餘額:

      1)退出私有鏈:exit

      2)刪除C:\chain\geth下的文件

      3)修改創世塊中的alloc為:

     "alloc"      : {

    "0x8c9e414ed75674b150c31a8ece644a39e636196a" :{"balance":"9000000000000000000000000000000000000000000000000000"},

    "0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869" :{"balance":"5000000000000000000000000000000000000000000000000"}

     },保存文件。

      4)從新初始化:

         cd chain

         geth --datadir "%cd%" --networkid 54321 init C:\创世块配置文件路径\genesis.json 

    5. 設置goland調試環境:

     1)配置goland

    進入配置調試選項窗口

    設置輸入參數: --datadir C:\区块链DB存放路径 console

    其中:

    --datadir 後面的路徑是之前建立好的路徑,keystore和database在該路徑下。

    後面跟著的console 是打開交互界面的意思

    2) 開始單步調試:

    Console可以輸入命令,且有兩個之前申請的賬戶,并且餘額是配置值:

    後面就可以通過命令行發送交易、挖礦啦!!!

    3)交易:

    var tx = {from: "0x8c9e414ed75674b150c31a8ece644a39e636196a", to: "0x2cdce66e86a3ca79b4e3ba19c1f3eecccb28a869", value: web3.toWei(0.2, "ether")}

    personal.sendTransaction(tx,’eth’)

    記住hash:"0xf0e88f0715c57e7b33b612432410b4c5fc54ea9fe22caaa01a7ae46ce1e08d46"

    此時,查看txpool下的狀態:

    4) 挖礦:

    開始挖礦:miner.start()

    PC上挖礦很慢,等了很久才:

    代表生成了第一個塊

    使用transaction hash查詢:

    查看這個transaction所在塊:

    不要挖太久,否則你的電腦會受不了的!!!

    趕緊停止挖礦:miner.stop()

    修改挖礦收益地址:miner.setEtherbase():

    8 . 多节点调试:

    1)添加peer:建立私链后,第一个P2P网络需要至少2个节点,这两个节点需要进入console输入,其中peer信息通过对端在console下输入admin,查找“enode://”字样获取,并将”[::]”替换为自己的IP地址即可:

    admin.addPeer("enode://e53ed891cb0fcaa5ea25fd19318c80a9b055415f03bd2844ab4159df17dd8a92118fc030d9477d1e7dee6be556135cf4a83fb08d93842c4b32847d0e4ee7d130@[192.168.0.194]:30303")

    来建立连接,建立连接需要双方交互4对消息,等待20s左后的时间就可以建立成功,通过在console下敲:admin.peers就能验证是否成功

    2)挖矿前需要先解锁账户,设置矿工账户,才能挖矿成功:

    personal.unlockAccount("0xe876ddc8662ef8d70438d9097b7df9a53b494091","123")

    miner.setCoinbase(eth.accounts[1] )

    miner.start()

    相关文章

      网友评论

          本文标题:windows下单步调试以太坊代码

          本文链接:https://www.haomeiwen.com/subject/yildfqtx.html