1. 程式人生 > >智慧合約基礎語言(一)——Solidity概述和開發工具的使用

智慧合約基礎語言(一)——Solidity概述和開發工具的使用

一、目錄

☛Solidity的概述

☛Solidity開發工具remix的使用

☛Solidity本地開發工具remix安裝

二、Solidity的概述

Solidity 是一門為實現智慧合約而建立的高階程式語言。這門語言受到了 C++,Python 和 Javascript 語言的影響,設計的目的是能在以太坊虛擬機器(EVM)上執行。

Solidity 是靜態型別語言,支援繼承、庫和複雜的使用者定義型別。 (靜態語言——每個變數包括區域性和狀態變數都需要在編譯時指定變數型別或至少可以推匯出型別)

以太坊底層是基於帳戶,而非UTXO的,所以有一個特殊的Address的型別。用於定位使用者,定位合約,定位合約的程式碼(合約本身也是一個帳戶)。

由於語言內嵌框架是支援支付的,所以提供了一些關鍵字,如payable,可以在語言層面直接支援支付,而且超級簡單。

儲存是使用網路上的區塊鏈,資料的每一個狀態都可以永久儲存,所以需要確定變數使用記憶體,還是區塊鏈。

執行環境是在去中心化的網路上,會比較強調合約或函式執行的呼叫的方式。因為原來一個簡單的函式呼叫變為了- 一個網路上的節點中的程式碼執行,分散式的感覺。

最後一個非常大的不同則是它的異常機制,一旦出現異常,所有的執行都將會被回撤,這主要是為了保證合約執行的原子性,以避免中間狀態出現的資料不一致。

三、第一個例項

四、如何編寫Solidity

目前嘗試 Solidity 程式設計的最好的方式是使用 Remix (需要時間載入,請耐心等待)。Remix 是一個基於 Web 的 IDE,它可以讓你編寫 Solidity 智慧合約,然後部署並執行該智慧合約。

五、Solidity開發工具remix的使用

Solidity智慧合約開發的IDE有很多,官方推薦的Remix是基於瀏覽器的。

1.官方工具:

[http://remix.ethereum.org/#optimize=false&version=soljson-v0.4.24+commit.e67f0147.js]

2.操作:手動編譯、自動編譯、選擇合約、檢視編譯詳情、選擇執行環境、部署合約、函式呼叫、除錯

3.Remix分兩個版本, 線上版和本地安裝版. 線上使用最方便直接用瀏覽器開啟上邊的地址。 安裝版的介面和可以安裝到本地, 安裝的方式如下:

六、Solidity本地開發工具remix安裝

6.1 安裝步驟

6.1.1 安裝nodejs

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境。可以在這個環境中執行JavaScript編寫的程式。 NPM 是Node.js 的包管理器,是全球最大的開源庫生態系統,可以安裝各種JavaScript編寫的程式。而本地版的remix就是用JavaScript編寫的工具,因此依賴nodejs執行環境。另外remix還用到了python語言編寫的模組,所以還需要安裝python。

因此彼此的依賴關係是:

安裝Python的步驟: 

https://www.runoob.com/python/python-install.html

安裝nodejs的步驟:

https://www.runoob.com/nodejs/nodejs-install-setup.html

安裝成功後開啟終端檢視版本號:

6.1.2 安裝remix-ide

6.1.3 修改資料夾許可權(Windows省略此步驟)

6.1.4 下載安裝包

從https://github.com/ethereum/remix-ide下載安裝包解壓。

6.1.5 啟動remix

啟動remix,然後開啟http://127.0.0.1:8080編輯solidity。

本文完,獲取更多資訊,敬請關注區塊鏈工程師。