页面上次更新: 11月 12, 2019

开发者资源

入门指南

以太坊开发小白?别担心,踏破铁鞋无觅处,我们将从这里开始。 由以太坊社区编写的这些入门指南将为开发者介绍以太坊堆栈的基础知识,这里涉及到的核心概念也许与传统开发者所熟悉的应用程序开发有所不同,但在以下文档中会加以阐释。

如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn

智能合约语言

任何在以太坊虚拟机 (EVM) 上运行的程序通常被称作“智能合约”。 以太坊上最受欢迎的智能合约编程语言是 SolidityVyper,其他编程语言正处于不断开发阶段

Solidity _ 以太坊上最受欢迎的智能合约语言,灵感来自 C++、Python 和 JavaScript_

Vyper 基于 Python 的以太坊编程语言,致力于提升安全性

在寻找其他选择?

开发者工具

以太坊社区提供了数量众多且持续增长的开发工具,帮助开发者构建、测试和部署应用程序。 以下是最受以太坊开发者欢迎的工具,可以助你有一个好的开始。 如果想要进一步探索,请查询开发工具详表

Truffle 开发环境、测试框架、构建管道及其他工具

Embark 开发环境、测试框架以及与以太坊、IPFS 和 Whisper 集成的其他工具

Waffle 高级智能合约开发和测试的框架 (基于 ethers.js)

Etherlime 基于 Ethers.js 的框架,用于 Dapp 开发(Solidity 和 Vyper)、部署、调试、测试等

Buidler 以太坊智能合约开发者的任务管理工具

ZeppelinOS 一种开发框架,用于构建可升级智能合约,并安全地管理智能合约应用程序。

在寻找其他选择?

集成开发环境 (IDE)

Visual Studio Code 以太坊官方支持的专业跨平台 IDE

Remix 基于 Web 的 IDE,内置静态分析和区块链测试虚拟机

Superblocks 基于 Web 的 IDE,内置浏览器区块链虚拟机、MetaMask 集成、事务记录器等功能

EthFiddle 基于 Web 的 IDE,使你能够编写、编译和调试智能合约

在寻找其他选择?

前端 JavaScript API

Web3.js 以太坊 JavaScript API

Ethers.js JaveScript 和 TypeScriot 中完整的以太坊钱包实现和实用工具

light.js 针对轻客户端优化的高级响应式 JS 库

Web3-wrapper Web3.js 的 Typescript 替代选择

在寻找其他选择?

后端 API

Infura 以太坊 API 服务

安全工具

Slither 使用 Python 3 编写的 Solidity 静态分析框架

MythX 应用于以太坊智能合约的安全性分析 API

Manticore 针对智能合约和二进制文件使用符号执行工具的命令行界面

Secutiry 应用于以太坊智能合约的安全扫描器

有关形式化验证的更多信息

在寻找其他选择?

测试工具

Solidity-Coverage Solidity 代码覆盖工具

hevm 以太坊虚拟机实现,专门用于单元测试以及调试智能合约

Whiteblock Genesis 端到端的开发沙箱和区块链测试平台。

在寻找其他选择?

区块浏览器

区块浏览器为以太坊用户提供浏览以太坊区块链(及其测试网)的服务,可以查询特定交易、区块、合约以及其他链上活动的信息。

测试网和水龙头 (faucets)

以太坊社区维护了多个测试网。 这些工具使得开发者能够在应用程序部署到以太坊主网之前对其进行不同条件下的测试。

Ropsten _ 工作量证明区块链,可以对测试以太币进行挖矿_

Rinkeby _ 权威证明 (PoA) 区块链,由 Geth 开发团队维护_

Goerli 跨客户端权威证明区块链,由 Goerli 社区构建和维护

客户端以及运行你自己的节点

以太坊网络由许多节点组成,它们各自运行兼容的客户端。 它们中的大部分都使用 GethParity,每个节点都可以根据自己的实际需求调整不同的配置。

Geth 使用 Go 语言编写的以太坊客户端

Parity 使用 Rust 语言编写的以太坊客户端

Ethnnode 运行一个以太坊节点(Geth 或 Parity)用于本地开发

以太坊节点资源

在寻找其他选择?

最佳实践、模式和反模式

DappSys 安全、简单、灵活的智能合约构建块

OpenZeppelin 安全智能合约的开发库

aragonOS 用于可升级性和权限控制的模式

智能合约漏洞登记

智能合约安全性最佳实践指南

在寻找其他选择?

开发者支持和培训

以太坊 Stack Exchange

Solidity Gitter 聊天室

以太坊 Gitter 聊天室大厅

Cryptozombies 在游戏中学习以太坊编程

Chainshot 基于 Web 的 Dapp 编码教程

Blockgeeks 区块链技术网络课程

DappUniversity 学习如何在以太坊区块链上构建去中心化应用程序

Ethernaut 基于 Solidity 的代码游戏,破解合约即可升级

UI/UX

规范

以太坊社区采纳了许多对开发者有帮助的规范。 通常,这些规范称为以太坊改进提议 (EIP),由社区成员通过标准过程讨论确定。

某些 EIP 与应用层规范相关(例如智能合约标准格式),这类规范被称为以太坊意见征求 (ERC)。 许多 ERC 是以太坊生态系统中被广泛使用的关键规范。