title: Solidity語言簡介
date: 2018-2-26 18:50
Solidity語言簡介
@(區(qū)塊鏈)
本文筆記自維基。
https://en.wikipedia.org/wiki/Solidity
Solidity是面向智能合約的編程語言。也即Solidity發(fā)明出來的目的就是為了實(shí)現(xiàn)智能合約。但是請注意,智能合約的實(shí)現(xiàn)手段不止是Solidity,其他的語言比如Go, JS等同樣可以用來實(shí)現(xiàn)智能合約。只不過Solidity專門用來做這件事情,是不是就比其他的語言更好用,需要慢慢發(fā)現(xiàn)。
Solidity的開發(fā)人員是幾個(gè)前以太坊平臺核心開發(fā)者,目的是為了方便大家在以太坊平臺上構(gòu)建智能合約。
本篇筆記大綱:
- 歷史
- 描述
- 開發(fā)平臺的可用性
- 區(qū)塊鏈平臺
歷史
Solidity最初提出來是在2014年8月份,由Gavin Wood提出。后來這個(gè)語言被以太坊團(tuán)隊(duì)接手,是四大針對以太坊虛擬機(jī)EVM制作的語言之一。四大語言分別是Serpent, LLL, Viper(實(shí)驗(yàn)性),Mutan(廢棄)。
當(dāng)前,Solidity是以太坊平臺的是首選語言。此外,Solidity還是其他的與以太坊競爭的私有區(qū)塊鏈平臺上的首選開發(fā)語言,比如Monax以及Hyperledger.
描述
Solidity是靜態(tài)類型語言,運(yùn)行在EVM上。Solidity會被編譯成字節(jié)碼,然后在EVM上執(zhí)行。這個(gè)可以類比Java語言的執(zhí)行,用的是JVM。Solidity將智能合約的編寫變得更加容易。
Solidity的語法是圍繞著ECMAScript設(shè)計(jì)的,因此對于Web開發(fā)者而言,將會非常舒服。
開發(fā)平臺
- Remix,官方的IDE
- Visual Studio
- ConsenSys Enterprise
- Tendermint on Microsoft Azure by PWC
- ErisDB by AWS
區(qū)塊鏈平臺
Solidity支持如下幾個(gè)平臺:
- Ethereum
- Tendermint & ErisDB
- Zeppelin by Digital Currency Group
- Counterparty(運(yùn)行在Bitcoin網(wǎng)絡(luò)上)