ETH
本页为以太坊开发者提供入门指南、学习资源以及开发工具。
↳ 入门指南
以太坊开发小白?别担心,踏破铁鞋无觅处,我们将从这里开始。 由以太坊社区编写的这些入门指南将为开发者介绍以太坊堆栈的基础知识,这里涉及到的核心概念也许与传统开发者所熟悉的应用程序开发有所不同,但在以下文档中会加以阐释。
如果想对以太坊有更加宏观的认识, 请浏览 ethereum.org/zh/learn。
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) 上运行的程序通常被称作“智能合约”。 以太坊上最受欢迎的智能合约编程语言是 Solidity 和 Vyper,其他编程语言正处于不断开发阶段。
↳ Solidity _ 以太坊上最受欢迎的智能合约语言,灵感来自 C++、Python 和 JavaScript_
↳ Vyper 基于 Python 的以太坊编程语言,致力于提升安全性
↳ 在寻找其他选择?
以太坊社区提供了数量众多且持续增长的开发工具,帮助开发者构建、测试和部署应用程序。 以下是最受以太坊开发者欢迎的工具,可以助你有一个好的开始。 如果想要进一步探索,请查询开发工具详表。
↳ Truffle 开发环境、测试框架、构建管道及其他工具
↳ Superblocks 在线编写、编译与部署智能合约
↳ 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
↳ Alchemy以太坊 API 服务
↳Infura 以太坊 API 服务
↳ Slither 使用 Python 3 编写的 Solidity 静态分析框架
↳ MythX 应用于以太坊智能合约的安全性分析 API
↳ Manticore 针对智能合约和二进制文件使用符号执行工具的命令行界面
↳ Secutiry 应用于以太坊智能合约的安全扫描器
↳ 有关形式化验证的更多信息
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 端到端的开发沙箱和区块链测试平台。
↳ 在寻找其他选择?
↳ 区块浏览器
区块浏览器为以太坊用户提供浏览以太坊区块链(及其测试网)的服务,可以查询特定交易、区块、合约以及其他链上活动的信息。
↳ 测试网和水龙头 (faucets)
以太坊社区维护了多个测试网。 这些工具使得开发者能够在应用程序部署到以太坊主网之前对其进行不同条件下的测试。
↳ Ropsten _ 工作量证明区块链,可以对测试以太币进行挖矿_
↳ Rinkeby _ 权威证明 (PoA) 区块链,由 Geth 开发团队维护_
↳ Goerli 跨客户端权威证明区块链,由 Goerli 社区构建和维护
↳ 客户端以及运行你自己的节点
以太坊网络由许多节点组成,它们各自运行兼容的客户端。 它们中的大部分都使用 Geth 或 Parity,每个节点都可以根据自己的实际需求调整不同的配置。
↳ Geth 使用 Go 语言编写的以太坊客户端
↳ Parity 使用 Rust 语言编写的以太坊客户端
↳ Ethnnode 运行一个以太坊节点(Geth 或 Parity)用于本地开发
↳ 以太坊节点资源
Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
↳ 在寻找其他选择?
↳ 最佳实践、模式和反模式
↳ DappSys 安全、简单、灵活的智能合约构建块
↳ OpenZeppelin 安全智能合约的开发库
↳ aragonOS 用于可升级性和权限控制的模式
↳ 智能合约漏洞登记
↳ 智能合约安全性最佳实践指南
↳ 在寻找其他选择?
↳ 开发者支持和培训
↳ 以太坊 Stack Exchange
↳ Solidity Gitter 聊天室
↳ 以太坊 Gitter 聊天室大厅
↳ Cryptozombies 在游戏中学习以太坊编程
↳ Chainshot 基于 Web 的 Dapp 编码教程
↳ Blockgeeks 区块链技术网络课程
↳ DappUniversity 学习如何在以太坊区块链上构建去中心化应用程序
↳ Ethernaut 基于 Solidity 的代码游戏,破解合约即可升级
↳ 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 Mills
↳ 规范
以太坊社区采纳了许多对开发者有帮助的规范。 通常,这些规范称为以太坊改进提议 (EIP),由社区成员通过标准过程讨论确定。
Ethereum Governance Overview March 31, 2019 - Boris Mann
以太坊核心开发者会议播放列表 (YouTube 播放列表)
某些 EIP 与应用层规范相关(例如智能合约标准格式),这类规范被称为以太坊意见征求 (ERC)。 许多 ERC 是以太坊生态系统中被广泛使用的关键规范。
Last updated