二涌矢、搭建以太坊私鏈及客戶端基本操作

1掖举、搭建私有鏈,創(chuàng)建自己的創(chuàng)始區(qū)塊

建立私鏈根目錄

$makedir geth-private-chain
$cd get-private-chain

創(chuàng)始區(qū)塊的配置寫在json文件中娜庇,我們需要將下面文件的內(nèi)容保存為一個json文件
ps:下面所有操作的根目錄都為: get-private-chain

{
      "config": {
        "chainId": 10, 
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
      },
   "alloc"   : {},
   "coinbase"  : "0x0000000000000000000000000000000000000000",
   "difficulty" : "0x20000",
   "extraData" : "",
   "gasLimit"  : "0x2fefd8",
   "nonce"   : "0x0000000000000042",
   "mixhash"  :"0x0000000000000000000000000000000000000000000000000000000000000000",
   "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
   "timestamp" : "0x00"
}
KEY
mixhash 與nonce配合用于挖礦塔次,由上一個區(qū)塊的一部分生成的hash。注意他和nonce的設(shè)置需要滿足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章節(jié)所描述的條件思灌。
nonce nonce就是一個64位隨機數(shù)俺叭,用于挖礦恭取,注意他和mixhash的設(shè)置需要滿足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章節(jié)所描述的條件泰偿。
difficulty 設(shè)置當前區(qū)塊的難度,如果難度過大蜈垮,cpu挖礦就很難耗跛,這里設(shè)置較小難度
alloc 用來預置賬號以及賬號的以太幣數(shù)量,因為私有鏈挖礦比較容易攒发,所以我們不需要預置有幣的賬號调塌,需要的時候自己創(chuàng)建即可以。
coinbase 礦工的賬號惠猿,隨便填
timestamp 設(shè)置創(chuàng)世塊的時間戳
parentHash 上一個區(qū)塊的hash值羔砾,因為是創(chuàng)世塊,所以這個值是0
extraData 附加信息偶妖,隨便填姜凄,可以填你的個性信息
gasLimit 該值設(shè)置對GAS的消耗總量限制,用來限制區(qū)塊能包含的交易信息總和趾访,因為我們是私有鏈态秧,所以填最大。

此文件可以從官網(wǎng)直接復制扼鞋,原始的chainId為0申鱼,但有可能在部署合約時出現(xiàn)問題愤诱,建議修改為10或其他數(shù)字

建立存放區(qū)塊數(shù)據(jù)的目錄

$makedir data0

目錄結(jié)構(gòu)為

geth-private-chain
|-----data0
|-----genesis.json
$ ls
data0       genesis.json

初始化以太坊私鏈數(shù)據(jù)

$ geth init genesis.json --datadir data0

geth是命令,init是命令選項捐友,genesis.json 是init的參數(shù)淫半,表示按照配置文件進行初始化。--datadir data0楚殿,指定區(qū)塊鏈的數(shù)據(jù)存放目錄為data0撮慨。

運行命令,執(zhí)行的結(jié)果如下脆粥,表示初始化成功:

INFO [03-12|14:36:52] Maximum peer count                 ETH=25 LES=0 total=25
INFO [03-12|14:36:52] Allocated cache and file handles   database=/Users/HaoZai/geth-private-chian/data0/geth/chaindata cache=16 handles=16
INFO [03-12|14:36:52] Writing custom genesis block 
INFO [03-12|14:36:52] Persisted trie from memory database nodes=0 size=0.00B time=136.941μs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-12|14:36:52] Successfully wrote genesis state database=chaindata                hash=5e1fc7…d790e0
INFO [03-12|14:36:52] Allocated cache and file handles database=/Users/HaoZai/geth-private-chian/data0/geth/lightchaindata cache=16 handles=16
INFO [03-12|14:36:52] Writing custom genesis block 
INFO [03-12|14:36:52] Persisted trie from memory       database   nodes=0 size=0.00B time=1.775μs  gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [03-12|14:36:52] Successfully wrote genesis state database=lightchaindata              hash=5e1fc7…d790e0

初始化成功后砌溺,會生成如下的目錄結(jié)構(gòu)

geth-private-chian/ 
|----data0/
|      |----geth/
|      |      |---chaindata/          //存放數(shù)據(jù)區(qū)塊的目錄
|      |      |    |---000001.log
|      |      |    |---LOG
|      |      |    |---CURRENT
|      |      |    |---LOCK
|      |      |    |---MANIFEST-000000
|      |      |----lightchaindata/
|      |----keystore/                   //存放用戶信息的目錄,此時為空变隔,剛初始化规伐,還未創(chuàng)建任何用戶
|----genesise.json
Haozai-Macbook:geth-private-chian HaoZai$ geth --datadir data0 --networkid 1108 console
INFO [03-12|14:41:23] Maximum peer count            ETH=25 LES=0 total=25
INFO [03-12|14:41:23] Starting peer-to-peer node        instance=Geth/v1.8.2-stable/darwin-amd64/go1.10
INFO [03-12|14:41:23] Allocated cache and file handles     database=/Users/HaoZai/geth-private-chian/data0/geth/chaindata cache=768 handles=128
WARN [03-12|14:41:23] Upgrading database to use lookup entries 
INFO [03-12|14:41:23] Database deduplication successful    deduped=0
INFO [03-12|14:41:23] Initialised chain configuration     config="{ChainID: 10 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: <nil> EIP155: 0 EIP158: 0 Byzantium: <nil> Constantinople: <nil> Engine: unknown}"
INFO [03-12|14:41:23] Disk storage enabled for ethash caches  dir=/Users/HaoZai/geth-private-chian/data0/geth/ethash count=3
INFO [03-12|14:41:23] Disk storage enabled for ethash DAGs   dir=/Users/HaoZai/.ethash               count=2
INFO [03-12|14:41:23] Initialising Ethereum protocol      versions="[63 62]" network=1108
INFO [03-12|14:41:23] Loaded most recent local header     number=0 hash=5e1fc7…d790e0 td=131072
INFO [03-12|14:41:23] Loaded most recent local full block   number=0 hash=5e1fc7…d790e0 td=131072
INFO [03-12|14:41:23] Loaded most recent local fast block   number=0 hash=5e1fc7…d790e0 td=131072
INFO [03-12|14:41:23] Regenerated local transaction journal  transactions=0 accounts=0
INFO [03-12|14:41:23] Starting P2P networking 
INFO [03-12|14:41:25] UDP listener up             self=enode://43e1647742e194501c44f2b765e06366d3ede47355e3c158c642e22a1a1c13288b492e6c02d27554ee26d9dcb91a032a09e6aeebac01fe98bbcc212296fa1ca8@[::]:30303
INFO [03-12|14:41:25] RLPx listener up            self=enode://43e1647742e194501c44f2b765e06366d3ede47355e3c158c642e22a1a1c13288b492e6c02d27554ee26d9dcb91a032a09e6aeebac01fe98bbcc212296fa1ca8@[::]:30303
INFO [03-12|14:41:25] IPC endpoint opened         url=/Users/HaoZai/geth-private-chian/data0/geth.ipc

Welcome to the Geth JavaScript console!

instance: Geth/v1.8.2-stable/darwin-amd64/go1.10
modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
>
  • 查看私鏈下的賬戶
> eth.accounts
[]

PS:初始化不會創(chuàng)建賬戶,keystore目錄為空匣缘,還不存在任何賬戶

  • 新建賬戶猖闪,兩種方式
> personal.newAccount()   //通過密碼形式創(chuàng)建張華
Passphrase: 
Repeat passphrase: 
"0xe2d463c53f5b4b8c48420304965af10db7290b65"
> 
> personal.newAccount('1111')  //把密碼作為參數(shù)創(chuàng)建賬戶
"0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05"
> eth.accounts
["0xe2d463c53f5b4b8c48420304965af10db7290b65", "0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05"]

再次運行查看賬戶命令,以數(shù)組形式返回剛才創(chuàng)建的兩個賬戶

  • 查看每個賬戶下的以太幣數(shù)量
> u0=eth.accounts[0]
"0xe2d463c53f5b4b8c48420304965af10db7290b65"
> u1=eth.accounts[1]
"0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05"

> eth.getBalance(u0)
0
> eth.getBalance(u1)
0

PS:只是創(chuàng)建了賬戶肌厨,還未經(jīng)過任何交易或挖礦獎勵培慌,因此這里每個賬戶的比特幣數(shù)量都是0,

  • 啟動挖礦命令
>miner.start(2)  //這里的參數(shù)2柑爸,指啟動兩個現(xiàn)成進行挖礦

返回如下結(jié)果(忽略其中很多無用的輸出吵护,檢出重點)

INFO [03-12|14:55:37] Updated mining threads          threads=2 //線程數(shù)為 2
INFO [03-12|14:55:37] Transaction pool price threshold updated price=18000000000
INFO [03-12|14:55:37] Etherbase automatically configured    address=0xE2D463c53f5b4b8c48420304965af10Db7290B65 //自動設(shè)置第一個賬戶為礦機賬號
INFO [03-12|14:55:37] Starting mining operation 
null  //此處為start命令返回的結(jié)果,按道理應(yīng)該是 true表鳍,為什么是 null馅而?
//第 1 個區(qū)塊
INFO [03-12|14:55:37] Commit new mining work          number=1 txs=0 uncles=0 elapsed=423.284μs
INFO [03-12|14:58:27] Successfully sealed new block      number=1 hash=516d22…7b94ac
INFO [03-12|14:58:27] mined potential block         number=1 hash=516d22…7b94ac
//第 2 個區(qū)塊
INFO [03-12|14:58:27] Commit new mining work          number=2 txs=0 uncles=0 elapsed=131.175μs
INFO [03-12|14:58:29] Successfully sealed new block      number=2 hash=700256…f3f9c4
INFO [03-12|14:58:29] ?? mined potential block         number=2 hash=700256…f3f9c4
//第 3 個區(qū)塊
INFO [03-12|14:58:29] Commit new mining work          number=3 txs=0 uncles=0 elapsed=123.273μs
INFO [03-12|14:58:29] Successfully sealed new block      number=3 hash=93f7de…005bdc
INFO [03-12|14:58:29] ?? mined potential block         number=3 hash=93f7de…005bdc

INFO [03-12|14:58:29] Commit new mining work          number=4 txs=0 uncles=0 elapsed=161.181μs
INFO [03-12|14:58:32] Successfully sealed new block      number=4 hash=c056e9…5e0b12
INFO [03-12|14:58:32] ?? mined potential block         number=4 hash=c056e9…5e0b12

INFO [03-12|14:58:32] Commit new mining work          number=5 txs=0 uncles=0 elapsed=136.386μs
INFO [03-12|14:58:34] Successfully sealed new block      number=5 hash=dd22e3…b04d54
INFO [03-12|14:58:34] ?? mined potential block         number=5 hash=dd22e3…b04d54

INFO [03-12|14:58:34] Commit new mining work          number=6 txs=0 uncles=0 elapsed=170.81μs
INFO [03-12|14:58:43] Successfully sealed new block      number=6 hash=4b2f3f…910609
INFO [03-12|14:58:43] ?? mined potential block         number=6 hash=4b2f3f…910609

INFO [03-12|14:58:43] Commit new mining work          number=7 txs=0 uncles=0 elapsed=119.437μs
INFO [03-12|14:58:43] Successfully sealed new block      number=7 hash=e40528…354748
INFO [03-12|14:58:43] ?? block reached canonical chain     number=2 hash=700256…f3f9c4
INFO [03-12|14:58:43] ?? mined potential block         number=7 hash=e40528…354748
//第 8 個區(qū)塊
INFO [03-12|14:58:43] Commit new mining work          number=8 txs=0 uncles=0 elapsed=248.772μs
INFO [03-12|14:58:46] Successfully sealed new block      number=8 hash=4fad7c…5e318e
INFO [03-12|14:58:46] ?? block reached canonical chain     number=3 hash=93f7de…005bdc
INFO [03-12|14:58:46] ?? mined potential block         number=8 hash=4fad7c…5e318e
//提交第 9 個區(qū)塊的挖礦操作
INFO [03-12|14:58:46] Commit new mining work          number=9 txs=0 uncles=0 elapsed=139.52μs

//第9區(qū)塊還未返回結(jié)果,停止挖礦任務(wù)
> miner.stop()
true

查看當前每個賬戶的以太幣數(shù)量

> eth.getBalance(u0)
40000000000000000000
> eth.getBalance(u1)
0

PS:因為是以第一個賬戶為礦工譬圣,所以只有 u0 獲得了獎勵瓮恭,每挖出一個區(qū)塊獎勵5個以太幣,這里顯示的單位是wei厘熟,1eth=10的18次冪
查看當前挖礦的狀態(tài)屯蹦,返回 false

> eth.mining
false
  • 打印基礎(chǔ)賬戶,等于第一個賬戶的地址
> eth.coinbase
"0xe2d463c53f5b4b8c48420304965af10db7290b65"
> u0
"0xe2d463c53f5b4b8c48420304965af10db7290b65"
> u1
"0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05"
  • 換算成以太幣
> web3.fromWei(eth.getBalance(u0),'ether')
40
  • 查看當前區(qū)塊的數(shù)量
> eth.blockNumber
8
  • Wei 與 Eth 互轉(zhuǎn)操作
> acmount=web3.fromWei(1,'ether')
"0.000000000000000001"
> acmount=web3.toWei(1,'ether')
"1000000000000000000"
  • 查看 eth 對象
> eth
{
accounts:["0xe2d463c53f5b4b8c48420304965af10db7290b65","0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05"], //當前賬戶
blockNumber: 8, //區(qū)塊數(shù)量
coinbase: "0xe2d463c53f5b4b8c48420304965af10db7290b65", //基礎(chǔ)賬戶
compile: {
  lll: function(),
  serpent: function(),
  solidity: function()
 },
 defaultAccount: undefined,
 defaultBlock: "latest",
 gasPrice: 18000000000,
 hashrate: 0,
 mining: false,  // 因為已經(jīng)停止挖礦绳姨,所以這里為 false
 pendingTransactions: [],
 protocolVersion: "0x3f",
 syncing: false,
 call: function(),
 contract: function(abi),
 estimateGas: function(),
 filter: function(options, callback, filterCreationErrorCallback),
 getAccounts: function(callback),
 getBalance: function(),
 getBlock: function(),
 getBlockNumber: function(callback),
 getBlockTransactionCount: function(),
 getBlockUncleCount: function(),
 getCode: function(),
 getCoinbase: function(callback),
 getCompilers: function(),
 getGasPrice: function(callback),
 getHashrate: function(callback),
 getMining: function(callback),
 getPendingTransactions: function(callback),
 getProtocolVersion: function(callback),
 getRawTransaction: function(),
 getRawTransactionFromBlock: function(),
 getStorageAt: function(),
 getSyncing: function(callback),
 getTransaction: function(),
 getTransactionCount: function(),
 getTransactionFromBlock: function(),
 getTransactionReceipt: function(),
 getUncle: function(),
 getWork: function(),
 iban: function(iban),
 icapNamereg: function(),
 isSyncing: function(callback),
 namereg: function(),
 resend: function(),
 sendIBANTransaction: function(),
 sendRawTransaction: function(),
 sendTransaction: function(),
 sign: function(),
 signTransaction: function(),
 submitTransaction: function(),
 submitWork: function()
}
  • 以太幣交易操作
> amount=web3.toWei(1,'ether')
"1000000000000000000"
> eth.sendTransaction({from:u0,to:u1,value:amount})
Error: authentication needed: password or unlock
  at web3.js:3143:20
  at web3.js:6347:15
  at web3.js:5081:36
  at <anonymous>:1:1

PS:這里提示需要密碼認證登澜,賬戶每隔一段時間就會自動上鎖,因此需要創(chuàng)建用戶時的密碼解鎖

> personal.unlockAccount(u0)
Unlock account 0xe2d463c53f5b4b8c48420304965af10db7290b65
Passphrase: 
true

輸入密碼就缆,解鎖用戶帖渠,再重新發(fā)起交易

> eth.sendTransaction({from:u0,to:u1,value:amount})
INFO [03-12|23:23:03] Submitted transaction          fullhash=0x039235641128e2192883802594f6de746459fc9154cad7ce17ba4342c9c2b027 recipient=0xf7cd6Aee057409E8eCfa88A8e5b18033d456ff05
"0x039235641128e2192883802594f6de746459fc9154cad7ce17ba4342c9c2b027"

ps:交易已經(jīng)提交,是否成功了呢竭宰?No,交易的確認空郊,這里僅僅是提交了交易任務(wù)

> txpool.status
{
 pending: 1,
 queued: 0
}

ps: pending=1份招,表示有一條交易,但還未被處理
我們再次提交一條交易狞甚,轉(zhuǎn)賬 2 比特幣

> amount=web3.toWei(2,'ether')
"2000000000000000000"
> eth.sendTransaction({from:u0,to:u1,value:amount})
INFO [03-12|23:23:56] Submitted transaction          fullhash=0x991ea03c44915d2383863ce31d7e61015e066e58d81bff352f10dbf68ca1ec17 recipient=0xf7cd6Aee057409E8eCfa88A8e5b18033d456ff05
"0x991ea03c44915d2383863ce31d7e61015e066e58d81bff352f10dbf68ca1ec17"

再次查看交易池的狀態(tài)

> txpool.status
{
 pending: 2,    //這里的pending 變成了 2锁摔,兩個任務(wù)提交后還未被處理
 queued: 0
}

要使交易被處理,必須挖礦哼审,獲得新的區(qū)塊記錄交易數(shù)據(jù)谐腰。

  • 啟動挖礦,獲取下一個區(qū)塊涩盾,就停止挖礦操作
> miner.start(1);admin.sleepBlocks(1);miner.stop();
INFO [03-12|23:26:06] Updated mining threads          threads=1
INFO [03-12|23:26:06] Transaction pool price threshold updated price=18000000000
INFO [03-12|23:26:06] Starting mining operation 
INFO [03-12|23:26:06] Commit new mining work          number=9 txs=2 uncles=0 elapsed=1.970ms
INFO [03-12|23:26:19] Successfully sealed new block      number=9 hash=31655d…7cec9b
INFO [03-12|23:26:19] ?? mined potential block         number=9 hash=31655d…7cec9b

再次查看交易池對象的狀態(tài)

> txpool.status
{
 pending: 0,  //兩個任務(wù)都被提交并處理十气,此處的 pending 值變成了 0
 queued: 0
}
  • 查看兩個賬戶的余額,分別是42春霍, 3砸西。
> web3.fromWei(eth.getBalance(u0),'ether')
42
> web3.fromWei(eth.getBalance(u1))
3

ps:賬戶u1因為是礦工賬號,每挖一個區(qū)塊就獲得5個比特幣址儒,因此40-3+5=42

  • 查詢交易芹枷,根據(jù)交易返回的哈希值,可以查詢該交易的數(shù)據(jù)內(nèi)容
    查詢第一筆交易內(nèi)容
> eth.getTransaction('0x039235641128e2192883802594f6de746459fc9154cad7ce17ba4342c9c2b027')
{
 blockHash: "0x31655d1b7b60001e851849db4734742c24374f5ca82313cfb2b32fb0f27cec9b",
 blockNumber: 9, //該條交易被記錄在第 9 區(qū)塊
 from: "0xe2d463c53f5b4b8c48420304965af10db7290b65",//該筆交易的發(fā)起賬號地址
 gas: 90000,
 gasPrice: 18000000000,
 hash: "0x039235641128e2192883802594f6de746459fc9154cad7ce17ba4342c9c2b027",
 input: "0x",
 nonce: 0,
 r: "0xfb0a7541c5ada67a1c34dde394178fb154401f28300659d86b9c4f2bf3cf4028",
 s: "0x263f46bcef9bbff8f24de845fce5bf80f2a22511d0f69f00b052ac140689c93c",
 to: "0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05", //該筆交易的接收賬號地址
 transactionIndex: 0,   //第 0 條交易
 v: "0x38",
 value: 1000000000000000000    //交易額度
}

查詢第二筆交易內(nèi)容

> eth.getTransaction('0x991ea03c44915d2383863ce31d7e61015e066e58d81bff352f10dbf68ca1ec17')
{
   blockHash: "0x31655d1b7b60001e851849db4734742c24374f5ca82313cfb2b32fb0f27cec9b",
   blockNumber: 9,   //該條交易被記錄在第 9 區(qū)塊
   from: "0xe2d463c53f5b4b8c48420304965af10db7290b65",  //該筆交易的發(fā)起賬號地址
   gas: 90000,
   gasPrice: 18000000000,
   hash: "0x991ea03c44915d2383863ce31d7e61015e066e58d81bff352f10dbf68ca1ec17",
   input: "0x",
   nonce: 1,
   r: "0x5867dbfa40f1ea43b7b791b4306fb78948992289509af3ef07a23d4e4376bc9e",
   s: "0x78c71836cce53bcb1c81fe9b7e6efae7d4d1d9e483485a0a977292350381477f",
   to: "0xf7cd6aee057409e8ecfa88a8e5b18033d456ff05",   //該筆交易的接收賬號地址
   transactionIndex: 1,  //第 1 條交易
   v: "0x37",
   value: 2000000000000000000  //交易額度
}
  • 查看區(qū)塊內(nèi)容莲趣,這里查詢第9區(qū)塊內(nèi)容鸳慈,驗證上述兩筆交易是否存在
> eth.getBlock(9)
{
    difficulty: 131072,
    extraData: "0xd783010802846765746886676f312e31308664617277696e",
    gasLimit: 3169294,
    gasUsed: 42000,
    hash: "0x31655d1b7b60001e851849db4734742c24374f5ca82313cfb2b32fb0f27cec9b",
    logsBloom:"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    miner: "0xe2d463c53f5b4b8c48420304965af10db7290b65",  //礦工賬號地址,獎勵會發(fā)放到次礦工
    mixHash: "0xaed7970963913fbef04fd92d341bd01c802e3a17a897d0666918d6c1e6f836cf",
    nonce: "0x4f52ee328ec62233",
    number: 9,  //區(qū)塊號
    parentHash: "0x4fad7ce8e03b0b1f58b691e019e2e45b8db08db9176d0603832f99b2015e318e",
    receiptsRoot: "0x87c123b7108d5f4cff435404a984c52842c71f0d9fffb8a41744d2f80d18585d",
    sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    size: 760,
    stateRoot: "0x2cfe64cf081483fea64ead3639bb2e352a13b11b21779107eaef8683f085e10a",
    timestamp: 1520868366,
    totalDifficulty: 1312064,
    transactions: ["0x039235641128e2192883802594f6de746459fc9154cad7ce17ba4342c9c2b027", "0x991ea03c44915d2383863ce31d7e61015e066e58d81bff352f10dbf68ca1ec17"], //上面兩筆交易的哈希值
    transactionsRoot: "0x54f42a4444125c2e369b075442bb2d3b46756fe215a5332dd869bae56621cb4f",
    uncles: []
}
  • 退出以太控制臺
> exit
INFO [03-13|10:01:26] IPC endpoint closed           endpoint=/Users/HaoZai/geth-private-chian/data0/geth.ipc
INFO [03-13|10:01:26] Writing cached state to disk       block=27 hash=2f5509…334855 root=9b2193…ff92ca
INFO [03-13|10:01:26] Persisted trie from memory database   nodes=3 size=514.00B time=841.642μs gcnodes=0 gcsize=0.00B gctime=0s livenodes=45 livesize=5.92kB
INFO [03-13|10:01:26] Writing cached state to disk       block=26 hash=6cb0e7…2abfa6 root=7bb30d…895aa7
INFO [03-13|10:01:26] Persisted trie from memory database   nodes=2 size=263.00B time=39.712μs gcnodes=0 gcsize=0.00B gctime=0s livenodes=43 livesize=5.66kB
INFO [03-13|10:01:26] Blockchain manager stopped 
INFO [03-13|10:01:26] Stopping Ethereum protocol 
INFO [03-13|10:01:26] Ethereum protocol stopped 
INFO [03-13|10:01:26] Transaction pool stopped 
INFO [03-13|10:01:26] Database closed             database=/Users/HaoZai/geth-private-chian/data0/geth/chaindata
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喧伞,一起剝皮案震驚了整個濱河市走芋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌絮识,老刑警劉巖绿聘,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗽上,死亡現(xiàn)場離奇詭異次舌,居然都是意外死亡,警方通過查閱死者的電腦和手機兽愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門彼念,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浅萧,你說我怎么就攤上這事逐沙。” “怎么了洼畅?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵吩案,是天一觀的道長。 經(jīng)常有香客問我帝簇,道長徘郭,這世上最難降的妖魔是什么靠益? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮残揉,結(jié)果婚禮上胧后,老公的妹妹穿的比我還像新娘。我一直安慰自己抱环,他們只是感情好壳快,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著镇草,像睡著了一般眶痰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梯啤,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天凛驮,我揣著相機與錄音,去河邊找鬼条辟。 笑死黔夭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的羽嫡。 我是一名探鬼主播本姥,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杭棵!你這毒婦竟也來了婚惫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤魂爪,失蹤者是張志新(化名)和其女友劉穎先舷,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滓侍,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡蒋川,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了撩笆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捺球。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夕冲,靈堂內(nèi)的尸體忽然破棺而出氮兵,到底是詐尸還是另有隱情,我是刑警寧澤歹鱼,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布泣栈,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏南片。R本人自食惡果不足惜篙悯,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铃绒。 院中可真熱鬧鸽照,春花似錦、人聲如沸颠悬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赔癌。三九已至诞外,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灾票,已是汗流浹背峡谊。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留刊苍,地道東北人既们。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像正什,于是被迫代替她去往敵國和親啥纸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容