網頁上次更新: October 2, 2020

開發者工具

開始使用

正在開發 Ethereum 嗎?你真是來對了!

想要立即開始編寫程式嗎? 從這裡開始吧

需要基礎的入門指南嗎? 查閱我們的學習資源

參考資源

智慧合約語言

任何在以太坊虛擬機 (EVM) 上運行的程式通常被稱作「智慧合約」。 在 Ethereum 上最常用來編寫智慧合約的語言有 SolidityVyper另外也有其他正在開發中的語言

Solidity 以太坊上最受歡迎的智慧合約語言,靈感來自 C++、Python 和 Javascript

Vyper - 基於 Python 的以太坊程式語言,致力於提升安全性

尋找其他語言?

特定開發語言資源

我們正在構建一套特定語言的首頁,以供開發人員用其喜歡的程式語言來了解以太坊。

開發者工具

以太坊社群提供了數量眾多且持續增長的開發工具,幫助開發者搭建、測試和部署應用程式。 以下是最受以太坊開發者歡迎的工具,可以從這裡開始。 如果想要進一步探索,請查詢開發工具列表

工具框架

Truffle - 開發環境、測試框架、部署通道及其他工具。

Embark - 開發環境、測試框架,以及整合了以太坊、IPFS 和 Whisper 的其他工具。

Waffle - 高階智慧合約開發和測試的框架 (基於 ethers.js)。

Etherlime - 基於 Ethers.js 的框架,用於去中心化應用程式開發(Solidity 和 Vyper)、部署、調試、測試等。

其他工具

Ethereum Grid- 用於下載、配置和運行以太坊客戶端及以太坊工具的桌面應用程式。

Buidler - 以太坊智慧合約開發者的任務運行工具。

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 字節碼安全分析工具。

  • mythril
  • 文件 用於搜索經過驗證的 Solidity 源代碼的搜索引擎。

SmartContract.codes - 用於搜索經過驗證的 Solidity 源代碼的搜索引擎。

Manticore - 在智能合約和二進製文件上使用符號執行工具的命令行界面。

Securify - 以太坊智能合約安全分析工具。

ERC20 Verifier - 用於檢查合約是否符合 ERC20 標準的驗證工具。

形式化驗證

有關形式化驗證的信息

尋找其他語言?

測試工具

Solidity-Coverage - 替代性 Solidity 代碼覆蓋工具。

hevm - 以太坊虛擬機實現,專門用於單元測試以及調試智能合約。

Whiteblock Genesis - 端到端開髮沙盒和區塊鏈測試平台。

尋找其他語言?

區塊鏈瀏覽器

區塊瀏覽器為以太坊用戶提供瀏覽以太坊區塊鏈(及其測試網)的服務,可以查詢特定交易、區塊、合約以及其他鏈上活動的信息。

測試網和水龍頭

以太坊社區維護了多個測試網。 這些工具使得開發者能夠在應用程序部署到以太坊主網之前對其進行不同條件下的測試。

Ropsten - 工作量證明(PoW)區塊鏈,可以挖掘測試以太幣。

Rinkeby - 權威證明 (PoA) 區塊鏈,由 Geth 開發團隊維護。

Goerli - 跨客戶端權威證明區塊鏈,由 Goerli 社區構建和維護。

客戶端以及運行您自己的節點

以太坊網絡由許多節點組成,它們各自運行兼容的客戶端。 它們中的大部分都運行GethParity ,每個節點都可以根據自己的實際需求調整不同的配置。

客戶端

Geth - 用 Go 語言編寫的以太坊客戶端。

Geth - 用 Rust 語言編寫的以太坊客戶端。

Geth - 用 Java 語言編寫的以太坊客戶端。

Nethermind - 用 C# .NET 核心編寫的以太坊客戶端。

運行您自己的節點

Ethnode - 運行一個以太坊節點(Geth 或 Parity)用於本地開發。

以太坊節點資源

最佳實踐、模式和反模式

智慧型合約

DappSys - 安全、簡單、靈活的智能合約構建區塊。

安全性

智能合約安全最佳實踐指南

開發者支持與培訓

一般學習

以太坊 Stack Exchange

基於遊戲的學習

Cryptozombies - 學習如何在以太坊上開發遊戲。

UI / UX 設計

標準

以太坊社區採納了許多對開發者有幫助的標準。 通常,這些標準稱為以太坊改進提案 (EIP),由社區成員通過[標準的討論過程](http://eips. ethereum.org/EIPS/eip-1)確定。