solidity0x1
Solidity 0x1
Solidity是什麼 ?
根據維基百科描述,
Solidity的標誌 網站 github.com/ethereum/solidity 啟發語言JavaScript, C++, Python, PowerShell Solidity是一種合約導向式語言,可被應用於各種不同的區塊鏈平台上[1],其主要開發者為Gavin Wood,Christian Reitwiessner,Alex Beregszaszi,Liana Husikyan,Yoichi Hirai和其他幾位早期以太坊核心貢獻者。[2][3]Solidity 可使程式開發人員能在區塊鏈上(例如以太坊)編寫智能合約
- Strongly Typed - 屬於一門強型別語言
- Similar to Javascript - 與Javascript非常類似(指的是syntax部分)。
###Solidity 在 與智能合約。
我們使用 Solidity
編寫完的合約,透過 Solidity Compiler
會編譯出兩個文件,分別是 Byte code
與 ABI
,Byte code
的文件將會被部署上 Ethereum Net
,所以真正在區塊鏈上的文件是 Byte code
。ABI
對於編寫可以與智能合約交互的應用程式來說,是非常重要的。
舉例來說 :
我們在部署完智能合約之後,我們會需要透過Web前端,裡面會有一些Javascript的代碼,作為交互使用,Javascript並沒有能力能夠直接與 Bytecode
進行交互。我們就需要透過 ABI
與區塊鏈上的智能合約(ByteCode) 與其溝通而拿到目前智能合約內儲存的狀態或資料。
###Solidity IDE - Remix
Remix 是一個 Solidity Online的 Editor,可以用來編寫與測試 Solidity,也可以在上面直接發佈智能合約。
第一個智能合約 - 使用 Solidity
1 | //每一個智能合約都必須定義,這邊指的是使用0.4.17或更高的編譯器版本 |
這樣就完成了一個簡單可以在區塊鏈上儲存字串訊息的智能合約。