今天正式開始翻譯Solidity的英文文檔,為的是給后來人提供一個方便的學習資料。
Solidity
Solidity是一個高級語言,其語法類似于JavaScript,編譯后能夠在以太坊虛擬機上運行。它功能強大,可以創建投票、眾籌、拍賣、多重簽名錢包等應用。
注:嘗試Solidity最好的辦法是使用Browser-Based Compiler。
相關鏈接
1. ?Ethereum
2. ?Changelog
3. ?Story Backlog
4. Source Code
6. Gitter Chat
相關的集成環境
基于瀏覽器的IDE,帶有集成編譯器和無需服務器端的Solidity運行時環境。
專門的Web IDE,同時還能通過shell訪問以太坊運行環境。
Microsoft Visual Studio的Solidity插件,包含Solidity編譯器。
4.?Package for SublimeText — Solidity language syntax
SublimeText 編輯器的語法高亮顯示包。
Atom編輯器的插件,具有語法高亮、編譯和運行時環境(需要后端以太坊節點)。
Atom編輯器的插件,提供了可靠性檢驗。
7.?Solium
Solidity的命令行linter。
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,用于開發、調試和測試智能合約,不過已經停止更新。
Solidity 工具
1.?Dapple
Solidity的軟件包和部署管理器。
Solidity 的命令行控制臺。
3.?solgraph
Solidity 的可視化控制流程工具,能檢測并突出顯示潛在的安全漏洞。
4.?evmdis
EVM(以太坊虛擬機)反匯編器,對字節碼執行靜態分析,提供比EVM操作更高級別的抽象能力。
語言文檔
在接下來的介紹中,我們將先了解一個簡單的以Solidity編寫的智能合約,然后了解一下關于區塊鏈和以太坊虛擬機的基礎知識,接下來將通過一些示例來解釋Solidity的幾個特性。記住,您可以隨時在瀏覽器中實踐!
如果你有問題,你可以嘗試在Ethereum Stackexchange站點上搜索或詢問,或者來到我們的gitter頻道。 歡迎提出你的想法和意見!
目錄
0. 關鍵字索引,搜索頁(本部分不翻譯,直接提供英文鏈接)
? ? 1.1 ?一個簡單的智能合約
? ? 1.2 ?區塊鏈基礎
? ? 1.3 ?以太坊虛擬機
2. 安裝Solidity
? ? 2.1 ?版本控制
? ? 2.2? Browser-Solidity
? ? 2.3 ?npm / Node.js
? ? 2.4 ?通過二進制包安裝
? ? 2.5 ?通過源代碼編譯安裝
? ? 2.6 ?版本控制的重要信息
3. Solidity示例
? ? 3.1 ?投票
? ? 3.2 ?拍賣
? ? 3.3 ?安全遠程支付
? ? 3.4 ?小額支付
4. Solidity進階
? ? 4.1 ?源文件結構
? ? 4.2 ?智能合約結構
? ? 4.3 ?類型
? ? 4.4 ?單位和全局變量
? ? 4.5 ?表達式和控制結構
? ? 4.6 ?智能合約
? ? 4.7 ?其他
5. 安全注意事項
? ? 5.1 ?陷阱
? ? 5.2 ?建議
? ? 5.3 ?驗證
6. 樣式指南
? ? 6.1 ?介紹
? ? 6.2 ?代碼布局
? ? 6.3 ?命名約定
7. 常見模式
? ? 7.1 ?提取合同
? ? 7.2 ?限制訪問
? ? 7.3 ?狀態機制
8. 貢獻
? ? 8.1 ?如何報告問題
? ? 8.2 ?整合更新的工作流程
9. 常見問題
? ? 9.1 ?基本問題
? ? 9.2 ?高級問題