區塊鏈開發:(2)創建以太坊私有鏈

    創建私有鏈之前先介紹下公有鏈、私有鏈、聯盟鏈的區別。
公有鏈
    公有鏈是指全世界任何人都可以隨時進入到系統中讀取數據、發送可確認交易、競爭記賬的區塊鏈。公有鏈通常被認爲是“完全去中心化”的,因爲沒有任何個人或者機構可以控制或篡改其中數據的讀寫。
    公有鏈一般會通過代幣機制來鼓勵參與者競爭記賬,來確保數據的安全性。比特幣、以太坊都是典型的公有鏈。
特點
1. 訪問門檻低
2. 所有數據默認公開
3. 用戶免受開發者的影響

私有鏈
    私有鏈是指其寫入權限由某個組織和機構控制的區塊鏈,參與節點的資格會被嚴格限制。由於參與節點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊,並且能做到身份認證等金融行業必需的要求。
    相比中心化數據庫,私有鏈能夠防止機構內單節點故意隱瞞或者篡改數據,即使發生錯誤,也能夠迅速發現來源。因此許多大型金融機構在目前更加傾向於使用私有鏈技術。
特點
1. 交易速度非常之快
2. 給隱私更好的保障
3. 交易成本大幅降低

聯盟鏈
    聯盟鏈是指有若干個機構共同參與管理的區塊鏈,每個機構都運行着一個或多個節點,其中的數據只允許系統內不同的機構進行讀寫和發送交易,並且共同來記錄交易數據。
私有鏈和聯盟鏈之間的設計隱私權限會有不同,聯盟鏈中的權限設計要求往往會更爲複雜。
特點
1. 低成本運行和維護
2. 高交易速度及良好的擴展性
3. 聯盟維護、 比私有鏈更具可信度
隨着應用場景的需求更復雜,區塊鏈技術變得越來越複雜。但無論是公有鏈、許可鏈還是混合鏈都沒有絕對的優劣,往往需要根據不同的應用場景來選擇適合的區塊鏈類型。
1.初始化一個創世區塊,首先創建一個文件piccgenesis.json,內容如下:
{
    "nonce":"0x0000000000000042",
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x4000",
    "alloc": {},
    "coinbase":"0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x00000000",
    "gasLimit":"0xffffffff",
    "config": {
        "chainId":666,
        "homesteadBlock":0,
        "eip155Block":0,
        "eip158Bolock":0
    }
}
2.創建創世塊
接下來創建目錄eth-private,將piccgenesis.json文件放入該目錄中,執行
cd eth-private
geth  --datadir "./chain" init piccgenesis.json

創建區塊鏈創世塊,當前區塊鏈數據會保持到chain目錄下;


3.啓動私有鏈

執行以下命令啓動私有鏈:

geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir ".\chain" --port "30303"  --rpcapi "db,eth,net,web3" --networkid 95518 console

4.在私有鏈中創建賬號、挖礦及轉賬(常用命令)
eth.accounts   區塊鏈賬號
personal.newAccount("123456")  創建賬號,密碼12
eth.getBalance(eth.accounts[0])  取第一個賬號比特幣個數
personal.unlockAccount(eth.accounts[0])   解鎖第一個賬號,區塊鏈賬號隔一段時間默認會鎖定
miner.start(1)  開始挖礦,線程數1
miner.stop()   停止挖礦



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章