<form id="jrzvx"></form>

                <noframes id="jrzvx">

                <sub id="jrzvx"><address id="jrzvx"></address></sub>

                基于以太坊的開發實踐系列-(基礎篇)

                發布時間:2018-05-16 10:37:14

                相信很多人剛接觸區塊鏈的人,對很多名詞概念在實際應用場景上還不太容易理解。此文將基于以太坊平臺,對開發環境進行系統化梳理以便快速建立思維模型。

                先說以太坊。官方解釋在白皮書或百度百科中介紹得很詳細了,這里可以簡單得理解為類似于Android開發平臺,它對底層區塊鏈技術進行了封裝,讓我們只關注應用本身的開發。

                再來看智能合約。以太坊上的程序稱之為智能合約(程序猿的主要工作),具有區塊鏈分布式、不可變的特點。智能合約可以理解為在區塊鏈上可以自動執行的(由消息驅動的)、以代碼形式編寫的合同(特殊的交易)。暫且把他理解成存儲過程+觸發器的一種體現。

                最后是編程語言了。Solidity是官方推薦的編程語言,擴展名以.sol結尾。它和JavaScript很相似,用它來開發合約并編譯成以太坊虛擬機字節代碼。當然,除了官方推薦的Solidity,當然還有Viper,Serpent,LLL及Bamboo(其中Serpent和Viper,兩者都是類Python)。

                和大多數開發環境一樣,代碼寫完后,編譯、布署這些環節必不可少。

                先了解EVM。EVM(Ethereum Virtual Machine),是以太坊中智能合約的運行環境,類似JVM,這個很容易理解。EVM是由以太坊客戶端提供的。Geth是典型的開發以太坊時使用的客戶端(go-Ethereum),基于Go語言開發。 Geth提供了一個交互式命令控制臺,通過命令控制臺中包含了以太坊的各種功能(API)。

                開發框架可以選擇Truffle。它可以幫我們處理掉大量無關緊要的小事情,具備Eclipse 或Visual Studio之類IDE的功能。讓我們可以迅速開始寫代碼-編譯-部署-測試-打包DApp整個流程。

                最后一步就是運行了,運行需要一個以太坊網絡,在測試時推薦搭建模擬環境testrpc。testrpc是在本地使用內存模擬的一個以太坊環境,對于開發調試來說,更方便快捷。而且testrpc可以在啟動時幫我們創建10個存有資金的測試賬戶。進行合約開發時,可以在testrpc中測試通過后,再部署到Geth節點中去。

                以上內容只是針對基于以太坊開發環境中涉及到的相關知識點進行了簡要梳理,實際操作中會出現不少問題,將在后續篇中予以介紹。

                三人交FREE性欧美-99蜜桃在线观看免费视频网站-亚洲中文字幕日本无线码-成人国内精品视频在线观看