以太坊智慧合約代幣應用開發(1)-環境搭建

一、概述

       相比比特幣作為區塊鏈技術的第一代應用,以太坊的應用更專注於只能合約技術的研發。個人理解電子貨幣或者叫做虛擬貨幣無非是一種特殊的電子貨幣。

        以太坊的代幣(tocken)是開發者在區塊鏈生態系統當中開發的另外一種智慧合約。在區塊鏈的生態系統中代幣可以表現的形態有很多比如:商品,忠誠度,遊戲虛擬物品,積分。這種代幣與以太坊的錢包比沒有太直接的關係。但是就像之前提到的以太坊的錢包其實也就是一種被區塊鏈上的使用者廣泛共識的一種智慧合約。

        所以代幣系統的開發本質上就是電子合約的開發與是不是ICO以及能否能與以太幣或者比特幣進行互換並沒有太大的關係。

二、相關概念

         以太坊只能合約開發的技術很多,搭建方式也多種多樣。下面先將相關技術做一下說明:

    1、以太坊客戶端 geth

        以太坊本質是一個大型的分散式系統,以太坊客戶端是訪問以太坊的主要工具,其實和使用qq、微信並沒有太大的差別。而這種客戶端的種類也很多,他們的區別在於使用什麼語言開發該客戶端,我們可以在
        https://github.com/ethereum
        上看到不同種類的客戶端 C ,python,go等。其中geth是官方提供的以太坊工具,該開發工具是使用go語言開發的。
        

    2、以太坊錢包

        

     常見的以太坊錢包有一下幾種,錢包主要應用以太幣檢視與轉賬。

         

        Mist,Parity,MyEtherWallet,MetaMask

      3、智慧合約

        區塊鏈的智慧合約,以理解為,雙方在區塊鏈資產上產生動作時,觸發執行的一段程式碼(合同),我們稱它為智慧合約。智慧合約本質上就是一段程式,智慧合約使用solidity語言開發。

       4、truffle與testrpc

            truffle是本地的用來編譯、部署智慧合約的工具,而testrpc不同於geth,geth是真正的以太坊環境,testrpc是在本地使用記憶體模擬的一個以太坊環境,對於開發除錯來說,更為方便快捷,當你的合約在testrpc中測試通過後,再可以部署到geth中去。所以可以說truffle和testrpc就是兩大殺器。

        5、remix

           remix是一款智慧合約的網頁版ide,使用該工具可以不用在本地搭建智慧合約的編譯系統。在進行簡單合約開發時可以考慮使用,在進行復雜應用系統開發使建議使用truffle與testrpc對只能合約進行嚴格測試。

三、環境搭建

     1、作業系統選擇

        可以選在在linux,mac或者windows上搭建開發環境。本文采用ubuntu16.0.04(linux)作為開發環境。

          注意:在ubuntu安裝完成之後需要使用 apt update 與 apt upgrade進行軟體更新,在更新時可以將更新資料來源設定為宮內的資料來源如 阿里雲,但在進行軟體安裝時,建議使用預設(官方的資料來源進行軟體安裝)

     2、安裝truflle與testrpc

    1)安裝git,nodejs

        solidity底層使用js,需要nodejs的支援
sudo apt-get install git

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

        注意:在nodejs安裝完之後需要檢測一下nodepath環境變數是否正確設定

      如果沒有正確設定的話需使用設定變數並export為環境變數

   2)安裝solidity

       使用nodejs的npm(包管理安裝),在npm包中solidity由兩部分構成一個是solc是solidity的核心元件,solc-cli是solidity的js互動工具。

sudo npm install -g solc
sudo npm install -g solc solc-cli --save-dev

    輸入solcjs –version 檢查是否安裝成功,如下圖所示:

      安裝solc二進位制包,以方便在geth客戶端部署

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

    3)安裝testrpc

 

sudo npm install -g ethereumjs-testrpc

   4)安裝truffle

sudo npm install -g truffle

    輸入truffle version 檢查是否安裝成功,如下圖所示:

         

3、安裝geth

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

下一篇文章將在討論geth-cli互動模式的基本應用