以太坊開發:創建私有鏈(一)

(一)前言

         於大四下接到了老師關於區塊鏈開發的項目。由於這是一門之前從未接觸過的課程,故開始了上網查閱資料自學的過程。雖然網絡上有不少前輩的指導資料和教程,但學習的過程還是頗爲坎坷的(有一些教程上的指導方法僅適用於較舊的版本,如若對應最新的版本的則會報錯;個別的教程代碼是有語法錯誤的;筆者因諸如此類的種種原因導致開發學習十分低效)。遂萌發了分享記錄自己開發的過程博客的內容(作爲一個程序員還是比較討厭重複造輪子的事情,故而別的教程已經說得很明白的事情,我就不再贅述了大笑),希望對大家能有一點幫助。

          本篇主要參考的教程爲:http://blog.csdn.net/sportshark/article/details/51855007


(二)私有鏈創建

       這裏以使用的GETH爲例配置爲windows7,首先需要我們安裝geth構建自己的私有鏈,通過命令行打開,其基本配置如下圖

 

         參考博客的配置創建部分,其中關於創世塊部分,我們需要另外在配置文件中加入:

    "config":{  

      "chainId":15,  

      "homesteadBlock":0,  

      "eip155Block":0,  

      "eip158Block":0  

}


    以上這一段的配置信息,不然初始化會失敗。

    若初始化後,系統提示”synchronize failed”,則是說明我們的系統並未同步互聯網時間,需要我們與互聯網時間同步之後,才能正常使用區塊鏈的相關功能。

 

    私有鏈創建並且初始化之後,我們可以使用newaccount()函數創建賬戶,等我們至少創建一個主賬號之後,就能夠使用miner.start(n)、miner.stop()函數控制挖礦了,其中n是指使用多少核的性能來進行挖礦。使用start之後,系統並未返回教程中的信息,而是返回了null,經過測試,發現仍能正常挖礦,故不需要理會。

            

    此時,我們可以安裝Ethererum Wallet來進行賬戶和合約編寫部署的操作了。該程序會自動與當前系統創建的私有鏈進行連接。

    調試編寫合約時,我們可以使用https://ethereum.github.io/browser-solidity/ 網站進行編譯測試,最後再通過Ethereum Wallet部署。值得注意的是,由於版本的迭代,有部分雖仍能在網站上編譯通過,但是在Ethereum Wallet上卻無法編譯成功。

    如throw函數:Solidity自0.4.13版本之後,throw方法棄用,要實現同樣的功能需要根據具體情況使用revert(),assert()來替代。或者將Mist/Ethereum Wallet回退到0.4.13版本之前,也可以使用throw。

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