網頁上次更新: December 4, 2020
開發者工具
開始使用
正在開發 Ethereum 嗎?你真是來對了!
想要立即開始編寫程式嗎? 從這裡開始吧。
需要基礎的入門指南嗎? 查閱我們的學習資源。
參考資源
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Updated often - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Updated Often - Joshua Cassidy
智慧合約語言
任何在以太坊虛擬機 (EVM) 上運行的程式通常被稱作「智慧合約」。 在 Ethereum 上最常用來編寫智慧合約的語言有 Solidity 和 Vyper,另外也有其他正在開發中的語言。
Solidity 以太坊上最受歡迎的智慧合約語言,靈感來自 C++、Python 和 Javascript。
Vyper - 基於 Python 的以太坊程式語言,致力於提升安全性
尋找其他語言?
特定開發語言資源
我們正在構建一套特定語言的首頁,以供開發人員用其喜歡的程式語言來了解以太坊。
- 面向 Java 開發者的以太坊資源
- 面向 Python 開發者的以太坊資源
- 面向 JavaScript 開發者的以太坊資源
- 面向 Go 開發者的以太坊資源
- 面向 Rust 開發者的以太坊資源
- 面向 .NET 開發者的以太坊資源
- 敬請期待更多更新! 沒看到你使用的語言資源? 點擊這裡提交問題!
開發者工具
以太坊社群提供了數量眾多且持續增長的開發工具,幫助開發者搭建、測試和部署應用程式。 以下是最受以太坊開發者歡迎的工具,可以從這裡開始。 如果想要進一步探索,請查詢開發工具列表。
工具框架
Truffle - 開發環境、測試框架、部署通道及其他工具。
Embark - 開發環境、測試框架,以及整合了以太坊、IPFS 和 Whisper 的其他工具。
Waffle - 高階智慧合約開發和測試的框架 (基於 ethers.js)。
Etherlime - 基於 Ethers.js 的框架,用於去中心化應用程式開發(Solidity 和 Vyper)、部署、調試、測試等。
其他工具
Hardhat - 以太坊智慧合約開發者的任務運行工具。
OpenZeppelin SDK - 終極智慧合約工具包:一套幫助您開發、編譯、升級、部署智慧合約並與之互動的工具。
The Graph - 用於為以太坊和 IPFS 數據建立索引並使用 GraphQL 對其進行查詢的協議。
Tenderly - 用錯誤追蹤、警報、性能指標和詳細的合約分析來輕鬆監測您的智慧合約的平台。
Python Tooling - 通過 Python 進行以太坊互動的各種工具。
Brownie - 基於 Python 的開發環境與測試框架
web3j - 以太坊的 Java/Android/Kotlin/Scala 函式庫。
One Click Dapp - 直接從 ABI 生成一個前端介面進行快速開發和測試。
尋找其他語言?
整合開發環境 (IDE)
Ethereum Studio - 基於網頁的 IDE,是希望嘗試智慧合約的新開發者的理想選擇。 Ethereum Studio 有多個模板,MetaMask 集 成,交易日誌記錄器,和一個內置 的瀏覽器以太坊虛擬機 (EVM),幫助您盡快開始在以太坊上搭建。
Visual Studio Code - 以太坊官方支持的專業跨平台 IDE。
Remix - 基於網頁的 IDE,內置靜態分析和區塊鏈測試虛擬機。
EthFiddle - 基於網頁的 IDE,使您能編寫、編譯和調試智慧合約。
尋找其他語言?
前端 JavaScript API
Web3.js - 以太坊 JavaScript API
Ethers.js - JavaScript 和 TypeScript 中完整的以太坊錢包實現和實用工具。
Web3.js - 針對輕客戶端優化的高級響應式 JS 庫。
Web3-wrapper - 可替代 Web3.js 的 Typescript。
尋找其他語言?
後端 API
Infura - 以太坊 API 即服务。
Cloudflare 以太坊網關
Nodesmith - JSON-RPC API 造訪以太坊主網和測試網。
Chainstack - 共享及專用的以太坊節點即服務。
存儲
IPFS - 星際文件系統(InterPlanetary File System)是以太坊的去中心化存儲和文件引用系統。
Swarm - 以太坊 web3 堆棧的分佈式存儲平台和內容分發服務。
OrbitDB - 基於 IPFS 的去中心化點對點數據庫。
安全工具
智能合約安全
Slither - 用 Python 3 編寫的 Solidity 靜態分析框架。
MythX - 以太坊智能合約的安全分析 API。
Mythril - EVM 字節碼安全分析工具。
SmartContract.codes - 用於搜索經過驗證的 Solidity 源代碼的搜索引擎。
Manticore - 在智能合約和二進製文件上使用符號執行工具的命令行界面。
Securify - 以太坊智能合約安全分析工具。
ERC20 Verifier - 用於檢查合約是否符合 ERC20 標準的驗證工具。
形式化驗證
有關形式化驗證的信息
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
尋找其他語言?
測試工具
Solidity-Coverage - 替代性 Solidity 代碼覆蓋工具。
hevm - 以太坊虛擬機實現,專門用於單元測試以及調試智能合約。
Whiteblock Genesis - 端到端開髮沙盒和區塊鏈測試平台。
尋找其他語言?
區塊鏈瀏覽器
區塊瀏覽器為以太坊用戶提供瀏覽以太坊區塊鏈(及其測試網)的服務,可以查詢特定交易、區塊、合約以及其他鏈上活動的信息。
測試網和水龍頭
以太坊社區維護了多個測試網。 這些工具使得開發者能夠在應用程序部署到以太坊主網之前對其進行不同條件下的測試。
Ropsten - 工作量證明(PoW)區塊鏈,可以挖掘測試以太幣。
Rinkeby - 權威證明 (PoA) 區塊鏈,由 Geth 開發團隊維護。
Goerli - 跨客戶端權威證明區塊鏈,由 Goerli 社區構建和維護。
客戶端以及運行您自己的節點
以太坊網絡由許多節點組成,它們各自運行兼容的客戶端。 它們中的大部分都運行Geth 或Parity ,每個節點都可以根據自己的實際需求調整不同的配置。
客戶端
Geth - 用 Go 語言編寫的以太坊客戶端。
Geth - 用 Rust 語言編寫的以太坊客戶端。
Geth - 用 Java 語言編寫的以太坊客戶端。
Nethermind - 用 C# .NET 核心編寫的以太坊客戶端。
運行您自己的節點
Ethnode - 運行一個以太坊節點(Geth 或 Parity)用於本地開發。
以太坊節點資源
- 節點配置速查表 2019 年 1 月 5 日-Afri Schoeden尋找其他語言?
最佳實踐、模式和反模式
智慧型合約
DappSys - 安全、簡單、靈活的智能合約構建區塊。
- dapp.tools/dappsys
- GitHubOpenZeppelin Contracts - 安全的智能合約開發庫。
- openzeppelin.com/contracts/
- GitHub
- 社區論壇aragonOS - 可升級性模式與權限控制。
- hack.aragon.org
- 文件智能合約漏洞登記
- SWC 登記
- GitHub
安全性
智能合約安全最佳實踐指南
- consensys.github.io/smart-contract-best-practices/
- GitHub
- 安全性建議和最佳實踐合集智能合約安全驗證標準 (SCSVS)
- securing.github.io/SCSVS/尋找其他語言?
- 以太坊開發者工具詳表 #模式—最佳實踐
開發者支持與培訓
一般學習
以太坊 Stack Exchange
- ethereum.stackexchange.comConsenSys Academy - 可自定義進度並且全年開放的以太坊端到端開發者課程。
- consensys.academySolidity Gitter Chatroom
- gitter.im/ethereum/solidity以太坊 Gitter 聊天室大廳
- gitter.im/ethereum/homeChainshot - 基於網頁的去中心化應用程序編碼教程。
- chainshot.comBlockgeeks - 區塊鏈技術在線課程。
- courses.blockgeeks.comDappUniversity - 學習如何在以太坊區塊鏈上搭建去中心化應用程序。
- DappUniversity.comB9lab Academy - 最早的專業以太坊去中心化應用程序開發者課程與審計和質保進修課程主頁。 包含 指導及代碼審查。
- academy.b9lab.com
基於遊戲的學習
Cryptozombies - 學習如何在以太坊上開發遊戲。
- Cryptozombies.ioEthernaut - 基於 Solidity 的野戰遊戲,破解合約即可升級。
- ethernaut.openzeppelin.comCapture the Ether - 以太坊智能合約安全遊戲。
- capturetheether.com
UI / UX 設計
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker MillsRimble UI - 去中心化應用程序的自適應組件和設計標準。
- rimble.consensys.design
- GitHub
標準
以太坊社區採納了許多對開發者有幫助的標準。 通常,這些標準稱為以太坊改進提案 (EIP),由社區成員通過[標準的討論過程](http://eips. ethereum.org/EIPS/eip-1)確定。
- EIP 列表
- EIP github 代碼庫
- EIP 討論板
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Playlist of all Ethereum Core Dev Meetings (YouTube Playlist) 某些 EIP 與應用層規範相關(例如智能合約標準格式),這類規範被稱為以太坊意見徵求(ERC)。 許多 ERC 是以太坊生態系統中被廣泛使用的關鍵標準。
- ERC 列表
- ERC20 - 標准通證接口
- ERC721 - 非同質化通證 (NFT) 標準接口