02.28 JAVA實戰以太坊智能合約30天學習簡冊(八)

1.25 什麼是Truffle

Truffle是一套針對Solidity語言的開發框架,它提供了開發環境、測試框架和資產管道。適合初期的開發者學習。Truffle框架搭建的教程網上也有好多,但是隨著truffle版本的更新、truffle.js改名truffle-config.js、truffle命令升級、truffle與testrpc端口不一致、瀏覽器錢包插件等問題,大家在網上搜索教程時,實際上很難找到一版最新可用的,所以,作者在踩過一個又一個的坑後,有了這一版基於Windows的安裝配置說明,讓廣大初學者可以一氣呵成搭建完環境。

1) 安裝Node.js。

在https://nodejs.org/en/下載安裝包,選擇LTS版本下載。

JAVA實戰以太坊智能合約30天學習簡冊(八)

下載文件是:node-v10.16.0-x64.msi。目前最新穩定版本是10.16.0,安裝後在windows命令cmd窗口,輸入node -v,能顯示node的版本就代表安裝成功。不要裝在C:\\Program Files 下,建議安裝到其他盤符根目錄下。

2)安裝Truffle

在windows命令行窗口輸入npm -g install truffle。

JAVA實戰以太坊智能合約30天學習簡冊(八)

沒有報錯信息truffle -v查看版本號,就表示安裝Truffle成功。

1.26 什麼是Ganache

提到Gahache,可能很多人不知道,但是提起其前身Ethereum TestRPC,大家就都知道了。以太坊節點也叫以太坊客戶端。智能合約必須部署到以太坊節點上來運行。以太坊節點有Gahache虛擬節點、Geth節點、以太坊測試節點(Ropsten、kovan、Rinkeby)、以太坊主網(Main Ethereum Network)。

開發過程中需要不斷的修改代碼和測試,需要得到及時的反饋,所以官方推薦使用Gahache客戶端。

Ganache是一個完整的在內存中的區塊鏈,在執行交易時是實時返回,不用等到出塊時間,可以快速驗證代碼。它目前有命令行版本和界面版。

我們使用界面安裝版本,便於查看數據。

JAVA實戰以太坊智能合約30天學習簡冊(八)

下載完後,直接按提示即可以安裝成功。打開後的界面如圖所示:

JAVA實戰以太坊智能合約30天學習簡冊(八)

可以看到 ACCOUNTS 面板裡已經生成了10個賬戶可用。每個賬戶裡都有100枚ETH。

1.27 什麼是node.js

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型。

Node 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。

Node是一個基於Chrome JavaScript運行時建立的平臺, 用於方便地搭建響應速度快、易於擴展的網絡應用。Node 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分佈式設備上運行數據密集型的實時應用。

1.28 什麼是Gradle

在代碼世界中有三大構建工具,ant、Maven和Gradle。現在的狀況是maven和gradle並存,gradle使用的越來越廣泛。Maven使用基於XML的配置,Gradle採用了領域特定語言Groovy的配置。

Gradle就是工程的管理,幫我們做了依賴、打包、部署、發佈、各種渠道的差異管理等工作。

Gradle的主要優勢有兩點,其一是簡潔,基於Groovy的腳本更加緊湊。其二是靈活,各種在Maven中難以下手的事情,在Gradle就是小菜一碟,比如修改現有的構建生命週期,幾行配置就完成了,同樣的事情,在Maven中你必須編寫一個插件,那對於一個剛入門的用戶來說,沒個一兩天幾乎是不可能完成的任務。

所以,gradle相比於maven有很打的靈活性,目前gradle的使用者越來越多。而由於maven之前處於主流,並且在某些方面maven較gradle還有一些優點,所以maven和gradle並存。在github上大多數優秀的開源項目會同時提供maven和gradle兩種添加依賴的方式。


JAVA實戰以太坊智能合約30天學習簡冊(八)


分享到:


相關文章: