Skip to content

Latest commit

 

History

History
960 lines (711 loc) · 76.9 KB

README_cn.md

File metadata and controls

960 lines (711 loc) · 76.9 KB

DeFi 开发者路线图

此库收集了最好的 DeFi 和区块链的研究技术和一些工具, 你也可以在此进行讨论—— 欢迎贡献你的想法

在此, 你可以随意提交 pull request,小到修复, 大到翻译、文档或添加任何你想要的工具,应有尽有。

Support Project Supported by GitCoin Supported by LEGO Research Base Mail

其他语言
- [法语](https://github.com/OffcierCia/DeFi-Developer-Road-Map/blob/main/translations/README_fr.md) - [古吉拉特语](https://github.com/OffcierCia/DeFi-Developer-Road-Map/blob/main/translations/README_guj.md)

路线图

Roadmap

导航

主题 链接
基础 点击查看
dApps 点击查看
框架 点击查看
zk-snarks 点击查看
更多阅读 点击查看
安全与保障 点击查看
DeFi 点击查看
以太坊域名服务 点击查看
NFT 点击查看
稳定币 点击查看
其它资料 点击查看
支链 点击查看
矿工可提取价值 点击查看
工具合集 点击查看
以太坊 2.0 点击查看
前端 点击查看
项目管理 点击查看

| 作者注:

基础:

以太坊 (Ethereum)

  • 以太坊基础
  • 以太坊虚拟机 (EVM): 图灵完备
  • 学习以太坊钱包, 账户 (EOA), 私钥/公钥
  • 学习交易, Gas, 小狐狸 (Metamask)
  • 以太坊节点和客户端, Geth
  • Infura 基础设施

智能合约 (Smart Contract)

智能合约标准

  • ERCs - 以太坊改进提议(EIPs)

代币(Tokens)

Others

通用开发技能

尝试以下工具:

  • eth-cli - 命令行工具。
  • REPL - Solidity REPL.
  • Remix - 在线实时编译器和运行时。
  • gencall-cli - ABI 文件中的交互式智能合约编码器和发送器
  • 优化 Solidity 函数名称 - 优化函数名称以降低成本
  • solc-typed-ast compiler - TypeScript 包提供规范化的类型化 Solidity AST 以及生成 AST(来自 Solc)和遍历/操作它所需的实用程序。

dApps

  • 熟悉以下工具:

包管理器 (Package Managers)

IDE's

Practice

ZK-SNARKs

基本信息

  • zkp.science - 关于 ZK-SNARKs 你应该知道的一切
  • ZoKrates - 一个以太坊上关于 zkSNARKS 的工具合集
  • The AZTEC Protocol - 以太坊网络上的加密交易和在以太网主网上实时实施
  • Nightfall - 将任何 ERC-20 / ERC-721 代币设为私有 - 开源工具和微服务
  • 代理重加密 (PRE)
  • NuCypher Network - 代理重加密帮助在去中心化网络中增强数据隐私
  • pyUmbral - 阈值代理重加密密码库
  • 全同态加密 (FHE)
  • NuFHE - 全同态加密 GPU 加速库

ZK-STARKs

框架

Truffle Suit

ZeppelinOS

Labs.Superblock

Note: Superblocks is depreciated

Infura(通往以太坊的网关)

其它框架

  • 其它框架列表
  • Hardhat - 灵活、可扩展和快速的以太坊开发环境。
  • Brownie - Brownie 是一个用于部署、测试和与以太坊智能合约交互的 Python 框架。
  • Embark - DApp 开发框架
  • Waffle - 高级智能合约开发和测试框架,小巧、灵活、快速(基于ethers.js)
  • Dapp - DApp 开发框架,DApple 的后继者
  • Etherlime - 基于 ethers.js 的 Dapp 部署框架
  • Parasol - [过时] 具有测试、INFURA 部署、自动合约文档等功能的敏捷智能合约开发环境。它具有灵活且不拘一格的设计以及无限的可定制性。
  • 0xcert - 用于构建去中心化应用程序的 JavaScript 框架
  • OpenZeppelin SDK - 一套可帮助您开发、编译、升级、部署智能合约并与之交互的工具。
  • sbt-ethereum - 用于智能合约交互和开发的选项卡式基于文本的控制台,包括钱包和 ABI 管理、ENS 支持和高级 Scala 集成。
  • Cobra - 一个快速、灵活、简单的以太坊智能合约开发环境框架,在以太坊虚拟机(EVM)上测试和部署。
  • Epirus - 用于构建智能合约的 Java 框架。
  • Ether Jar 以太坊区块链的 Java 集成库
  • Starport - 用于构建支持 IBC 的主权区块链的 CLI 工具。
  • Sign in with Ethereum | SIWE- 使用消息签名对以太坊帐户进行身份验证的工作流程,以建立一个基于 cookie 的网络会话来管理用户元数据。
  • Foundry - 一个智能合约开发工具链,用于项目编译、依赖管理、测试、部署、链上交互等。
  • Solmate - 这些合同已通过审核,但在开发时并未考虑到用户。他们主要寻求优化 gas 和优化智能合约开发。

与智能合约交互

Python 以太坊生态系统

分布式存储系统

测试区块链网络

  • Paradigm Faucet - 在这里领取测试网 ETH
  • Ethnode - 运行以太坊节点(Geth 或 Parity)进行开发,就像 npm i -g ethnode && ethnode.
  • Ganache - 具有可视化用户界面和日志的测试以太坊区块链的应用程序
  • Kaleido - 使用 Kaleido 启动联盟区块链网络。非常适合 PoC 和测试
  • Besu 私有网络 - 在 Docker 容器中运行 Besu 节点的私有网络
  • Orion - 通过 PegaSys 执行私人交易的组件
  • Artemis - PegaSys 对以太坊 2.0 信标链的 Java 实现
  • Cliquebait - 简化智能合约应用程序的集成并能接受测试的 docker 实例,使用起来非常类似于真实的区块链网络
  • Local Raiden - 在 docker 容器中运行本地 Raiden 网络用于演示和测试目的
  • Private networks deployment scripts - 针对私有 PoA 网络的开箱即用的部署脚本
  • Local Ethereum Network - 针对私有 PoW 网络的开箱即用的部署脚本
  • Ethereum on Azure - 联盟以太坊 PoA 网络的部署和治理
  • Ethereum on Google Cloud - 基于工作量证明构建以太坊网络
  • Infura - 以太坊 API 访问以太坊网络(Mainnet、Ropsten、Rinkeby、Goerli、Kovan)
  • CloudFlare Distributed Web Gateway - 通过 Cloudflare 提供对以太坊网络的访问,而不是运行您自己的节点
  • Chainstack - 共享和专用的以太坊节点即服务(Mainnet、Ropsten、Rinkeby)
  • Alchemy - 区块链开发平台、以太坊API、节点服务(Mainnet、Ropsten、Rinkeby、Goerli、Kovan)
  • ZMOK - JSON-RPC 以太网 API (Mainnet, Rinkeby, Front-running Mainnet)
  • Watchdata - 提供对以太坊区块链的简单可靠的 API 访问

以太测试水龙头(faucet)

前端

UI 组件

项目管理

  • Dework | Web3 Trello 具有代币支付、凭证、赏金......
  • Wonderverse | Jira 的替代品具有直观的任务管理系统,允许 DAO 支付贡献者和在他们的项目中进行协作。

更多阅读

受启发于:

安全与保障:

| 阅读 3 个很棒的短文:

Web2 网络安全
Web3 网络安全
  • OpenZeppelin 的 Ethernaut - 在以太坊虚拟机 (EVM) 的上下文中受 OverTheWire 启发的 Web3 战争游戏集合。 每个级别都是一个需要被黑客攻击的智能合约。

  • Damn Vulnerable Defi - 在 DeFi 和智能合约的背景下学习红队网络安全的进攻性安全游乐场。 示例包括用户需要停止系统工作的任务,从合同中取出资金......

  • Damn Vulnerable DeFi | Foundry - 与 Damn Vulnerable DeFi 相同,但在 foundry 开发框架上有些差别.

Web3 CTF(夺旗)
  • Capture the Ether - 由一系列分类挑战组成的传统游戏,用户在每次成功挑战后获得积分。 目标是使 isComplete() 函数返回 true。

  • Paradigm CTF

DeFI

以太坊域名服务

  • 以太坊域名服务:好的、坏的和丑的 - 然而,没有现有的工作研究这个新兴系统、ENS 中的安全问题和不当行为。作者通过分析数百万与 ENS 相关的事件日志,展示了 ENS 的第一项研究。

非同质化代币 (NFT):

稳定币:

其它资料:

作者的特别汇总:

支链

EIP - 1559

以太坊2.0

最大可提取价值/矿工可提取价值

探讨

黑客事件报告

  • Rekt News - 举报人和 DeFi 侦探向社区展示信息的匿名平台。
  • 区块链威胁情报 - 涵盖加密货币领域最新安全新闻、工具、事件、漏洞和威胁的时事通讯。支持此库
  • Blockchain Graveyard - 涉及区块链的所有大规模安全漏洞或盗窃的列表。

工具合集

以太网工具

  • dapp-bin - 以太坊存储库为 Solidity、Serpent 和 LLL 中的许多常见数据结构和实用程序提供实现。
  • Solidity Collections - 代码片段和实用程序库的集合。
  • OpenZeppelin - 构建安全智能合约的框架。

流行的智能合约库

  • Zeppelin - 包含经过测试的可重用智能合约,如 SafeMath 和 OpenZeppelin SDK 用于智能合约 可升级性
  • cryptofin-solidity - Solidity 库的集合,用于在以太坊上构建安全且高效的智能合约。
  • 模块化库 - 一组为使用以太坊虚拟机在区块链上使用而构建的包
  • 日期时间库 - 一个处理 Solidity 日期和时间的库
  • Aragon - DAO 协议,包含 aragonOS 智能合约框架,重点关注可升级性和治理
  • ARC - DAO 的操作系统和 DAO 堆栈的基础层。
  • 0x - DEX 协议
  • 带证明的代币库 - 包含代币合约的正确性证明,给定规格和高级属性。
  • Provable API - 提供使用 Provable 服务的合约,允许链下操作、数据获取和计算。
  • ABDK Libraries for Solidity - 定点(64.64 位)和符合 IEEE-754 标准的四精度(128 位)浮点数学库,用于 Solidity

智能合约模式

可升级性

开发者工具

  • CryptoFin Solidity 审计清单 - 常见发现的清单,以及在审计主网启动合同时要注意的问题。
  • MythX - 以太坊开发者的安全验证平台和工具生态
  • Mythril - 开源 EVM 字节码安全分析工具
  • Oyente - 替代静态智能合约安全分析
  • Securify - 以太坊智能合约的安全扫描器
  • SmartCheck - 静态智能合约安全分析器
  • Ethersplay - EVM 反汇编器
  • Evmdis - EVM 反汇编器的替代品
  • Hydra - 加密经济合约安全框架、去中心化安全赏金
  • Solgraph - 可视化智能合约安全分析的 Solidity 控制流
  • Manticore - 智能合约和二进制文件的符号执行工具
  • Slither - Solidity 静态分析框架
  • Adelaide - Solidity 编译器的 SECBIT 静态分析扩展
  • solc-verify - Solidity 智能合约的模块化验证器
  • Solidity 安全博客 - 已知攻击向量和常见反模式的综合列表
  • Awesome Buggy ERC20 Tokens - 影响代币的 ERC20 智能合约漏洞合集
  • 免费智能合约安全审计 - 来自 Callisto Network 的免费智能合约安全审计
  • Piet - 一个可视化的 Solidity 架构分析器

前端以太坊 API

  • Web3.js - Javascript Web3
  • Eth.js - Javascript Web3 的替代品
  • Ethers.js - Javascript Web3 的替代品, 有实用的实用程序和钱包功能
  • light.js 为轻客户端优化的高级响应式 JS 库。
  • Web3Wrapper - Typescript Web3 替代品
  • Ethereumjs - 以太坊实用函数集合,如 ethereumjs-utilethereumjs-tx
  • Alchemy-web3.js - 具有自动重试功能的 Javascript Web3 包装器,可访问 Alchemy 的增强 API,以及强大的 websocket 连接。
  • flex-contractflex-ether - 用于与智能合约交互和进行交易的现代、零配置、高级库。
  • ez-ens - 简单、零配置的以太坊名称服务地址解析器。
  • web3x - web3.js 的 TypeScript 端口。好处包括微型构建和完整的类型安全,包括与合同交互时。
  • Nethereum - 跨平台以太坊开发框架
  • dfuse - 使用 dfuse Ethereum API 的 TypeScript 库
  • Drizzle - 将前端连接到区块链的 Redux 库
  • Tasit SDK - 用于使用 React Native 制作原生移动以太坊 dapp 的 JavaScript SDK
  • useMetamask - 自定义 React Hook,用于管理 Ethereum ĐApp 项目中的 Metamask
  • WalletConnect - 用于将钱包连接到 Dapps 的开放协议
  • Subproviders - 与 Web3-provider-engine 结合使用的几个有用的子提供者(包括一个 LedgerSubprovider,用于为你的 dApp 添加 Ledger 硬件钱包支持)
  • ethvtx - 以太坊就绪且与框架无关的 redux 存储配置。 文档地址
  • Strictly Typed - Javascript 替代品
  • elm-ethereum
  • purescript-web3
  • ChainAbstractionLayer - 使用单一界面与不同的区块链(包括以太坊)进行通信。
  • Delphereum - 以太坊区块链的 Delphi 接口,允许为 Windows、macOS、iOS 和 Android 开发原生 dApp。
  • Torus - 开源 SDK,用于构建具有无缝入职用户体验的 dapp
  • Fortmatic - 一个简单易用的 SDK,无需扩展或下载即可构建 web3 dApp。
  • Portis - 带有 SDK 的非托管钱包,无需安装任何东西即可轻松与 DApp 交互。
  • create-eth-app - 使用一个命令创建 Ethereum 支持的前端应用程序。
  • Scaffold-ETH - 初学者友好的 forkable github,用于开始构建智能合约。
  • Jolly Roger - 使用 ethereum、buidler、svelte 和 thegraph 的 dApp 框架
  • Notify.js - 向你的用户发送实时通知。凭借对加速和取消的内置支持,Blocknative Notify.js 可帮助用户自信地进行交易。Notify.js 易于集成和快速定制。

后端以太坊 API

  • Web3.py - Python Web3
  • Web3.php - PHP Web3
  • Ethereum-php - PHP Web3
  • Web3j - Java Web3
  • Nethereum - .Net Web3
  • Ethereum.rb - Ruby Web3
  • rust-web3 - Rust Web3
  • ethers-rs - Ethers-rs
  • Web3.hs - Haskell Web3
  • KEthereum - Kotlin Web3
  • Eventeum - 以太坊智能合约事件和后端微服务之间的桥梁,由 Kauri 用 Java 编写
  • Ethereumex - 用于以太坊区块链的 Elixir JSON-RPC 客户端
  • Ethereum-jsonrpc-gateway - 允许你运行多个以太坊节点以实现冗余和负载平衡目的的网关。可以作为 Infura 的替代品(或在其之上)运行。用 Go 语言编写。
  • EthContract - 在 Elixir 中帮助查询 ETH 智能合约的一组辅助方法
  • Ethereum Contract Service - 一种 MESG 服务,可根据其地址和 ABI 与任何以太坊合约进行交互。
  • Ethereum Service - 一个 MESG 服务,用于与来自以太坊的事件进行交互并与之交互。
  • Marmo - 用于简化与以太坊交互的 Python、JS 和 Java SDK。 使用中继器将交易成本卸载给中继器。
  • Ethereum 日志框架 - 为以太坊应用程序和网络提供高级日志记录功能,包括查询语言、查询处理器和日志记录代码生成

以太网客户端

  • Besu - 在 Apache 2.0 许可下开发并用 Java 编写的开源以太坊客户端。 该项目由 Hyperledger 托管。
  • Geth - Go 客户端
  • Erigon - 建立在效率边界上的以太坊客户端的主要 Go 实现
  • OpenEthereum - Rust 客户端,以前称为 Parity。
  • Aleth - C++ 客户端
  • Nethermind - .NET Core 客户端
  • Infura - 提供符合以太坊客户端标准的 API 的托管服务
  • Trinity - 使用 py-evm 的 Python 客户端
  • Ethereumjs - 使用 ethereumjs-vm 的JS 客户端
  • Seth - Seth 是一个以太坊客户端工具——就像“命令行的 MetaMask”
  • Mustekala - Metamask 的以太坊轻客户端项目
  • Exthereum - Elixir 客户端
  • EWF Parity - Tobalaba 测试网络的 Energy Web Foundation 客户端
  • Quorum - JP Morgan 支持数据隐私的以太坊许可实施
  • Awesome Quorum - 在 ConsenSys Quorum 上构建的优秀软件、库、工具等的精选列表。
  • Mana - 用 Elixir 编写的以太坊全节点实现。
  • Chainstack - 提供共享和专用 Geth 节点的托管服务
  • QuikNode - 具有 API 访问和节点即服务的区块链开发人员云。
  • Watchdata - 提供对以太坊区块链的简单可靠的 API 访问

存储

  • DB3 Network - 开源去中心化的firebase firestore,帮助开发者用最小的工程化代价快速建立dApp。
  • IPFS - 去中心化存储和文件引用
  • Mahuta - 具有附加搜索功能的 IPFS 存储服务,以前是 IPFS-Store
  • OrbitDB - IPFS 之上的去中心化数据库
  • JS IPFS API - IPFS HTTP API 的客户端库,用 JavaScript 实现
  • TEMPORAL - 容易上手的 API, 用于 IPFS 和其他分布式/去中心化存储协议
  • PINATA - 使用 IPFS 的最简单方法
  • Swarm - 分布式存储平台和内容分发服务,以太坊 web3 堆栈的原生基础层服务
  • Infura - 托管 IPFS API 网关和固定服务
  • 3Box Storage - 用于用户控制的分布式存储的 api。 建立在 IPFS 和 Orbitdb 之上。
  • Aleph.im - 与 ETH 和 IPFS 兼容的链下激励点对点云项目(数据库、文件存储、计算和 DID)
  • Fleek - 类似于 netlify,但使用 ipfs 来托管网站。

Bootstrap/开箱即用的工具

  • Truffle boxes - 以太坊生态系统的封装组件
  • Create Eth App - 使用一个命令创建以太坊支持的前端应用程序
  • Besu 私有网络 - 在 Docker 容器中运行 Besu 节点的私有网络
  • Testchains - 用于快速响应 (PoA) 的预配置 .NET 开发链
  • Blazor/Blockchain Explorer - Wasm 区块链浏览器(功能示例)
  • Local Raiden - 在 docker 容器中运行本地雷电网络用于演示和测试目的
  • 私有网络部署脚本 - 私有 PoA 网络的开箱即用部署脚本
  • Parity Demo-PoA 教程 - 分步教程构建具有 2 个节点的 PoA 测试链,具有 Parity 权威轮共识
  • 本地以太网网络 - 私有 PoW 网络的开箱即用部署脚本
  • Kaleido - 使用 Kaleido 启动联盟区块链网络。 非常适合 PoC 和测试
  • Cheshire - CryptoKitties API 和智能合约的本地沙箱实现,可作为 Truffle Box 使用
  • aragonCLI - aragonCLI 用于创建和开发 Aragon 应用程序和组织。
  • ColonyJS - 提供用于与 Colony Network 智能合约交互的 API 的 JavaScript 客户端。
  • ArcJS - 促进 Javascript 应用程序访问 DAOstack Arc 以太网 智能合约的库。
  • Arkane Connect - 提供用于与 Arkane Network 交互的 API 的 JavaScript 客户端,Arkane Network 是用于构建用户友好的 dapp 的钱包提供商。
  • Onboard.js - Blocknative Onboard 是为您的项目添加多钱包支持的快捷方式。 Onboard 为 20 多个独特的硬件和软件钱包提供内置模块,为您节省时间和麻烦。
  • web3-react - 用于构建单页以太坊 dApp 的 React 框架

以太坊 ABI(应用程序二进制接口)工具

  • ABI decoder - 用于解码来自以太坊交易的数据参数和事件的库
  • ABI-gen - 从合同 ABI 生成 Typescript 合同包装器。
  • Ethereum ABI UI - 从以太坊合约 ABI 自动生成 UI 表单字段定义和关联的验证器
  • headlong - Java 中类型安全的合约 ABI 和递归长度前缀库
  • EasyDapper - 从 Truffle 工件生成 dapps,在公共/私人网络上部署合约,提供实时可定制的公共页面以与合约交互。
  • One Click dApp - 使用 ABI 在唯一的 URL 上即时创建 dApp。
  • Truffle Pig - 一个开发工具,提供一个简单的 HTTP API 来查找和读取 Truffle 生成的合约文件,以供在本地开发期间使用。 通过 http 提供新的合同 ABI。
  • Ethereum Contract Service - 一种 MESG 服务,可根据其地址和 ABI 与任何以太坊合约进行交互。
  • Nethereum-CodeGenerator - 基于网络的生成器,它基于 Solidity 智能合约创建基于 Nethereum 的 C# 接口和服务。

测试工具

  • Truffle Teams - Truffle 项目的零配置持续集成
  • Solidity code coverage - Solidity 代码覆盖工具
  • Solidity coverage - Solidity 智能合约代码覆盖工具的替代品
  • Solidity function profiler - Solidity 合约函数分析器
  • Sol-profiler - 更新的 Solidity 智能合约分析器的替代品
  • Espresso - 快速、并行、热重载的 solidity 测试框架
  • Eth tester - 用于测试以太坊应用程序的工具套件
  • Cliquebait - 使用非常类似于真实区块链网络的 docker 实例简化智能合约应用程序的集成和接受测试
  • Hevm - hevm 项目是以太坊虚拟机 (EVM) 的实现,专门用于单元测试和调试智能合约
  • Ethereum graph debugger - Solidity 图形化调试器
  • Tenderly CLI - 使用人类可读的堆栈跟踪加快您的开发
  • Solhint - Solidity linter,为智能合约验证提供安全性、风格指南和最佳实践规则
  • Ethlint - Linter 用于识别和修复 Solidity(前身为 Solium)中的样式和安全问题
  • Decode - 解析 tx 提交到本地 testrpc 节点的 npm 包,使它们更具可读性和更容易理解
  • truffle-assertions - 一个带有额外断言和实用程序的 npm 包,用于使用 truffle 测试 Solidity 智能合约。 最重要的是,它增加了断言特定事件是否已经(未)发出的能力。
  • Psol - Solidity 词法预处理器,具有 mustache.js 风格的语法、宏、条件编译和自动远程依赖包含。
  • solpp - Solidity 预处理器和扁平化器,具有全面的指令和表达式语言、高精度数学和许多有用的辅助函数。
  • Decode and Publish – 解码并发布原始以太坊 tx。 类似 https://live.blockcypher.com/btc-testnet/decodetx/
  • Doppelgänger - 用于在单元测试期间模拟智能合约依赖项的库。
  • rocketh - 一个简单的库来测试以太坊智能合约,允许使用您选择的任何 web3 库和测试运行器。
  • pytest-cobra - PyTest 插件,用于测试以太坊区块链的智能合约。

交易可视化、评分和跟踪:

| 查看作者的方法,仔细阅读推文的所有部分

支持此项目:

支持对我来说非常重要,有了它我可以花更少的时间在工作上做我喜欢做的事——教育 DeFi 和加密货币用户: 💖

如果你想支持我的工作,你可以给我捐款,地址是:

0xB25C5E8fA1E53eEb9bE3421C59F6A66B786ED77A — ERC20 & ETH (officercia.eth)

17Ydx9m7vrhnx4XjZPuGPMqrhw3sDviNTU - BTC

(👍 ͡❛ ͜ʖ ͡❛)👍