今天正式開始翻譯Solidity的英文文檔历葛,為的是給后來人提供一個方便的學(xué)習(xí)資料状勤。
Solidity
Solidity是一個高級語言吴侦,其語法類似于JavaScript,編譯后能夠在以太坊虛擬機(jī)上運(yùn)行杂靶。它功能強(qiáng)大梆惯,可以創(chuàng)建投票、眾籌吗垮、拍賣垛吗、多重簽名錢包等應(yīng)用。
注:嘗試Solidity最好的辦法是使用Browser-Based Compiler烁登。
相關(guān)鏈接
1. ?Ethereum
2. ?Changelog
3. ?Story Backlog
4. Source Code
6. Gitter Chat
相關(guān)的集成環(huán)境
基于瀏覽器的IDE怯屉,帶有集成編譯器和無需服務(wù)器端的Solidity運(yùn)行時環(huán)境蔚舀。
專門的Web IDE,同時還能通過shell訪問以太坊運(yùn)行環(huán)境锨络。
Microsoft Visual Studio的Solidity插件赌躺,包含Solidity編譯器。
4.?Package for SublimeText — Solidity language syntax
SublimeText 編輯器的語法高亮顯示包羡儿。
Atom編輯器的插件礼患,具有語法高亮、編譯和運(yùn)行時環(huán)境(需要后端以太坊節(jié)點(diǎn))掠归。
Atom編輯器的插件缅叠,提供了可靠性檢驗(yàn)。
7.?Solium
Solidity的命令行l(wèi)inter虏冻。
8.?Visual Studio Code extension
Microsoft Visual Studio Code的Solidity插件肤粱,包括語法高亮和Solidity編譯器。
用于Emacs編輯器的插件厨相,提供語法高亮顯示和編譯錯誤報告领曼。
10.?Vim Solidity
Vim編輯器插件,提供語法高亮蛮穿。
11.?Vim Syntastic
Vim編輯器插件悯森,提供編譯檢查。
12.?Mix IDE
基于Qt的IDE绪撵,用于開發(fā)、調(diào)試和測試智能合約祝蝠,不過已經(jīng)停止更新音诈。
Solidity 工具
1.?Dapple
Solidity的軟件包和部署管理器。
Solidity 的命令行控制臺绎狭。
3.?solgraph
Solidity 的可視化控制流程工具细溅,能檢測并突出顯示潛在的安全漏洞。
4.?evmdis
EVM(以太坊虛擬機(jī))反匯編器儡嘶,對字節(jié)碼執(zhí)行靜態(tài)分析喇聊,提供比EVM操作更高級別的抽象能力。
語言文檔
在接下來的介紹中蹦狂,我們將先了解一個簡單的以Solidity編寫的智能合約誓篱,然后了解一下關(guān)于區(qū)塊鏈和以太坊虛擬機(jī)的基礎(chǔ)知識,接下來將通過一些示例來解釋Solidity的幾個特性凯楔。記住窜骄,您可以隨時在瀏覽器中實(shí)踐!
如果你有問題摆屯,你可以嘗試在Ethereum Stackexchange站點(diǎn)上搜索或詢問邻遏,或者來到我們的gitter頻道。 歡迎提出你的想法和意見!
目錄
0. 關(guān)鍵字索引准验,搜索頁(本部分不翻譯赎线,直接提供英文鏈接)
? ? 1.1 ?一個簡單的智能合約
? ? 1.2 ?區(qū)塊鏈基礎(chǔ)
? ? 1.3 ?以太坊虛擬機(jī)
2. 安裝Solidity
? ? 2.1 ?版本控制
? ? 2.2? Browser-Solidity
? ? 2.3 ?npm / Node.js
? ? 2.4 ?通過二進(jìn)制包安裝
? ? 2.5 ?通過源代碼編譯安裝
? ? 2.6 ?版本控制的重要信息
3. Solidity示例
? ? 3.1 ?投票
? ? 3.2 ?拍賣
? ? 3.3 ?安全遠(yuǎn)程支付
? ? 3.4 ?小額支付
4. Solidity進(jìn)階
? ? 4.1 ?源文件結(jié)構(gòu)
? ? 4.2 ?智能合約結(jié)構(gòu)
? ? 4.3 ?類型
? ? 4.4 ?單位和全局變量
? ? 4.5 ?表達(dá)式和控制結(jié)構(gòu)
? ? 4.6 ?智能合約
? ? 4.7 ?其他
5. 安全注意事項(xiàng)
? ? 5.1 ?陷阱
? ? 5.2 ?建議
? ? 5.3 ?驗(yàn)證
6. 樣式指南
? ? 6.1 ?介紹
? ? 6.2 ?代碼布局
? ? 6.3 ?命名約定
7. 常見模式
? ? 7.1 ?提取合同
? ? 7.2 ?限制訪問
? ? 7.3 ?狀態(tài)機(jī)制
8. 貢獻(xiàn)
? ? 8.1 ?如何報告問題
? ? 8.2 ?整合更新的工作流程
9. 常見問題
? ? 9.1 ?基本問題
? ? 9.2 ?高級問題