当前位置: 首页 > 软件库 > Web3 > 区块链 >

DeFi-Developer-Road-Map

授权协议 View license
开发语言
所属分类 Web3、 区块链
软件类型 开源软件
地区 不详
投 递 者 程景胜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

DeFi Developer Road Map

Here we collect and discuss the best DeFi & Blockchain researches and tools - contributions are welcome.

Feel free to submit a pull request, with anything from small fixes to translations, docs or tools you'd like to add.

Translations

Roadmap

Navigation

Topic Instant Link
Basics Explore
dApps Explore
Frameworks Explore
zk-snarks Explore
Further Readings Explore
Security Explore
DeFi Explore
ENS Explore
NFT Explore
Stable Coins Explore
General Info Explore
Side Chains Explore
MEV Explore
Tools Collection Explore
ETH 2.0 Explore
Front End Explore

Basics:

Ethereum

  • Learn the basics of Ethereum
  • Ethereum Virtual Machine (EVM): turing complete
  • Learn about Wallets, Accounts (EOA), Private/Public Keys
  • Learn about transactions, Gas, Metamask
  • Ethereum clients/Nodes, Geth
  • Infura infrastructure

Smart Contract

Smart Contract Standards

  • ERCs - Ethereum Improvement Proposals

Tokens

Others

  • ERC-165 - Creates a standard method to publish and detect what interfaces a smart contract implements.
  • ERC-725 - A standard interface for a simple proxy account.
  • ERC-173 - A standard interface for ownership of contracts.

General Development Skills

Try this tools:

  • eth-cli - CLI tools.
  • REPL - Solidity REPL.
  • Remix - Online realtime compiler and runtime.
  • gencall-cli - An interractive smart contract encoder and sender from your ABI file
  • Optimize Solidity Function Name - Optimize function names to reduce costs
  • solc-typed-ast compiler - TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.

dApps

  • Get familiar with tools that you will be using:

Package Managers

IDE's

Practice

ZK-SNARKs

General info

  • ZoKrates - A toolbox for zkSNARKS on Ethereum
  • The AZTEC Protocol - Confidential transactions on the Ethereum network, implementation is live on the Ethereum main-net
  • Nightfall - Make any ERC-20 / ERC-721 token private - open source tools & microservices
  • Proxy Re-encryption (PRE)
  • NuCypher Network - A proxy re-encryption network to empower data privacy in decentralized systems
  • pyUmbral - Threshold proxy re-encryption cryptographic library
  • Fully Homomorphic Encryption (FHE)
  • NuFHE - GPU accelerated FHE library

ZK-STARKs

Frameworks

Truffle Suit

ZeppelinOS

Labs.Superblock

Note: Superblocks is depreciated

Infura (A Gateway to Ethereum)

Other Frameworks

  • Frameworks List - Ethereum Frameworks Listing.
  • Hardhat - Flexible, extensible and fast Ethereum development environment.
  • Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
  • Embark - Framework for DApp development
  • Waffle - Framework for advanced smart contract development and testing, small, flexible, fast (based on ethers.js)
  • Dapp - Framework for DApp development, successor to DApple
  • Etherlime - ethers.js based framework for Dapp deployment
  • Parasol - [Depreciated] Agile smart contract development environment with testing, INFURA deployment, automatic contract documentation and more. It features a flexible and unopinionated design with unlimited customizability
  • 0xcert - JavaScript framework for building decentralized applications
  • OpenZeppelin SDK - OpenZeppelin SDK: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.
  • sbt-ethereum - A tab-completey, text-based console for smart-contract interaction and development, including wallet and ABI management, ENS support, and advanced Scala integration.
  • Cobra - A fast, flexible and simple development environment framework for Ethereum smart contract, testing and deployment on Ethereum virtual machine(EVM).
  • Epirus - Java framework for building smart contracts.
  • Ether Jar Java integration library for Ethereum blockchain
  • Starport - A CLI tool for building sovereign IBC-enabled blockchains.

Interacting with Smart Contract

Python Ethereum Eco System

Distributed Storage Systems

Test Blockchain Networks

  • Ethnode - Run an Ethereum node (Geth or Parity) for development, as easy as npm i -g ethnode && ethnode.
  • Ganache - App for test Ethereum blockchain with visual UI and logs
  • Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
  • Besu Private Network - Run a private network of Besu nodes in a Docker container
  • Orion - Component for performing private transactions by PegaSys
  • Artemis - Java implementation of the Ethereum 2.0 Beacon Chain by PegaSys
  • Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
  • Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
  • Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
  • Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
  • Ethereum on Azure - Deployment and governance of consortium Ethereum PoA networks
  • Ethereum on Google Cloud - Build Ethereum network based on Proof of Work
  • Infura - Ethereum API access to Ethereum networks (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
  • CloudFlare Distributed Web Gateway - Provides access to the Ethereum network through the Cloudflare instead of running your own node
  • Chainstack - Shared and dedicated Ethereum nodes as a service (Mainnet, Ropsten, Rinkeby)
  • Alchemy - Blockchain Developer Platform, Ethereum API, and Node Service (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
  • ZMOK - JSON-RPC Ethereum API (Mainnet, Rinkeby, Front-running Mainnet)

Test Ether Faucets

Front End

UI Components

Further Readings

Inspired by:

Security & Safety:

DeFI

Ethereum Name Service

Non-Fungible Token (NFT):

Stable-Coins:

General information:

Side-Chains

EIP - 1559

Ethereum 2.0

MEV - Maximal Extractable Value / Miner Extractable Value:

Discucssion

Hack Incident Reporting

  • Rekt News - Anonymous platform for whistleblowers and DeFi detectives to present their information to the community.
  • Blockchain Threat Intelligence - Newsletter covering the latest security news, tools, events, vulnerabilities, and threats in the cryptocurrency landscape. Also supports this repo.
  • Blockchain Graveyard - A list of all massive security breaches or thefts involving blockchains.

Tools Collection

Ethereum Tools

Libraries

  • dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
  • Solidity Collections - Collections of code snippets and utility libraries.
  • OpenZeppelin - Framework to build secure smart contracts.

Popular Smart Contract Libraries

  • Zeppelin - Contains tested reusable smart contracts like SafeMath and OpenZeppelin SDK library for smart contract upgradeability
  • cryptofin-solidity - A collection of Solidity libraries for building secure and gas-efficient smart contracts on Ethereum.
  • Modular Libraries - A group of packages built for use on blockchains utilising the Ethereum Virtual Machine
  • DateTime Library - A gas-efficient Solidity date and time library
  • Aragon - DAO protocol. Contains aragonOS smart contract framework with focus on upgradeability and governance
  • ARC - an operating system for DAOs and the base layer of the DAO stack.
  • 0x - DEX protocol
  • Token Libraries with Proofs - Contains correctness proofs of token contracts wrt. given specifications and high-level properties
  • Provable API - Provides contracts for using the Provable service, allowing for off-chain actions, data-fetching, and computation
  • ABDK Libraries for Solidity - Fixed-point (64.64 bit) and IEEE-754 compliant quad precision (128 bit) floating-point math libraries for Solidity

Patterns for Smart Contracts

Upgradeability

Developer Tools

  • CryptoFin Solidity Auditing Checklist - A checklist of common findings, and issues to watch out for when auditing a contract for a mainnet launch.
  • MythX - Security verification platform and tools ecosystem for Ethereum developers
  • Mythril - Open-source EVM bytecode security analysis tool
  • Oyente - Alternative static smart contract security analysis
  • Securify - Security scanner for Ethereum smart contracts
  • SmartCheck - Static smart contract security analyzer
  • Ethersplay - EVM disassembler
  • Evmdis - Alternative EVM disassembler
  • Hydra - Framework for cryptoeconomic contract security, decentralised security bounties
  • Solgraph - Visualise Solidity control flow for smart contract security analysis
  • Manticore - Symbolic execution tool on Smart Contracts and Binaries
  • Slither - A Solidity static analysis framework
  • Adelaide - The SECBIT static analysis extension to Solidity compiler
  • solc-verify - A modular verifier for Solidity smart contracts
  • Solidity security blog - Comprehensive list of known attack vectors and common anti-patterns
  • Awesome Buggy ERC20 Tokens - A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
  • Free Smart Contract Security Audit - Free smart contract security audits from Callisto Network
  • Piet - A visual Solidity architecture analyzer

Frontend Ethereum APIs

  • Web3.js - Javascript Web3
  • Eth.js - Javascript Web3 alternative
  • Ethers.js - Javascript Web3 alternative, useful utilities and wallet features
  • light.js A high-level reactive JS library optimized for light clients.
  • Web3Wrapper - Typescript Web3 alternative
  • Ethereumjs - A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
  • Alchemy-web3.js - Javascript Web3 wrapper with automatic retries, access to Alchemy's enhanced APIs, and robust websocket connections.
  • flex-contract and flex-ether - Modern, zero-configuration, high-level libraries for interacting with smart contracts and making transactions.
  • ez-ens - Simple, zero-configuration Ethereum Name Service address resolver.
  • web3x - A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts.
  • Nethereum - Cross-platform Ethereum development framework
  • dfuse - A TypeScript library to use dfuse Ethereum API
  • Drizzle - Redux library to connect a frontend to a blockchain
  • Tasit SDK - A JavaScript SDK for making native mobile Ethereum dapps using React Native
  • useMetamask - a custom React Hook to manage Metamask in Ethereum ĐApp projects
  • WalletConnect - Open protocol for connecting Wallets to Dapps
  • Subproviders - Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
  • ethvtx - ethereum-ready & framework-agnostic redux store configuration. docs
  • Strictly Typed - Javascript alternatives
  • elm-ethereum
  • purescript-web3
  • ChainAbstractionLayer - Communicate with different blockchains (including Ethereum) using a single interface.
  • Delphereum - a Delphi interface to the Ethereum blockchain that allows for development of native dApps for Windows, macOS, iOS, and Android.
  • Torus - Open-sourced SDK to build dapps with a seamless onboarding UX
  • Fortmatic - A simple to use SDK to build web3 dApps without extensions or downloads.
  • Portis - A non-custodial wallet with an SDK that enables easy interaction with DApps without installing anything.
  • create-eth-app - Create Ethereum-powered front-end apps with one command.
  • Scaffold-ETH - Beginner friendly forkable github for getting started building smart contracts.
  • Notify.js - Deliver real-time notifications to your users. With built-in support for Speed-Ups and Cancels, Blocknative Notify.js helps users transact with confidence. Notify.js is easy to integrate and quick to customize.

Backend Ethereum APIs

  • 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 - A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri
  • Ethereumex - Elixir JSON-RPC client for the Ethereum blockchain
  • Ethereum-jsonrpc-gateway - A gateway that allows you to run multiple Ethereum nodes for redundancy and load-balancing purposes. Can be ran as an alternative to (or on top of) Infura. Written in Golang.
  • EthContract - A set of helper methods to help query ETH smart contracts in Elixir
  • Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
  • Ethereum Service - A MESG Service to interact with events from Ethereum and interact with it.
  • Marmo - Python, JS, and Java SDK for simplifying interactions with Ethereum. Uses relayers to offload transaction costs to relayers.
  • Ethereum Logging Framework - provides advanced logging capabilities for Ethereum applications and networks including a query language, query processor, and logging code generation

Ethereum Clients

  • Besu - an open-source Ethereum client developed under the Apache 2.0 license and written in Java. The project is hosted by Hyperledger.
  • Geth - Go client
  • Erigon - a mostly Go implementation of Ethereum client built on the efficiency frontier
  • OpenEthereum - Rust client, formerly called Parity. On path to deprecation in favor of Erigon.
  • Aleth - C++ client
  • Nethermind - .NET Core client
  • Infura - A managed service providing Ethereum client standards-compliant APIs
  • Trinity - Python client using py-evm
  • Ethereumjs - JS client using ethereumjs-vm
  • Seth - Seth is an Ethereum client tool—like a "MetaMask for the command line"
  • Mustekala - Ethereum Light Client project of Metamask
  • Exthereum - Elixir client
  • EWF Parity - Energy Web Foundation client for the Tobalaba test network
  • Quorum - A permissioned implementation of Ethereum supporting data privacy by JP Morgan
  • Awesome Quorum - A curated list of awesome softwares, libraries, tools and more to build on ConsenSys Quorum.
  • Mana - Ethereum full node implementation written in Elixir.
  • Chainstack - A managed service providing shared and dedicated Geth nodes
  • QuikNode - Blockchain developer cloud with API access and node-as-a-service.

Storage

  • IPFS - Decentralised storage and file referencing
  • Mahuta - IPFS Storage service with added search capability, formerly IPFS-Store
  • OrbitDB - Decentralised database on top of IPFS
  • JS IPFS API - A client library for the IPFS HTTP API, implemented in JavaScript
  • TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
  • PINATA - The Easiest Way to Use IPFS
  • Swarm - Distributed storage platform and content distribution service, a native base layer service of the Ethereum web3 stack
  • Infura - A managed IPFS API Gateway and pinning service
  • 3Box Storage - An api for user controlled, distrubuted storage. Built on top of IPFS and Orbitdb.
  • Aleph.im - an offchain incentivized peer-to-peer cloud project (database, file storage, computing and DID) compatible with ETH and IPFS.
  • Fleek - similar to netlify but uses ipfs for hosting websites.

Bootstrap/Out-of-Box tools

  • Truffle boxes - Packaged components for the Ethereum ecosystem
  • Create Eth App - Create Ethereum-powered frontend apps with one command
  • Besu Private Network - Run a private network of Besu nodes in a Docker container
  • Testchains - Pre-configured .NET devchains for fast response (PoA)
  • Blazor/Blockchain Explorer - Wasm blockchain explorer (functional sample)
  • Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
  • Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
  • Parity Demo-PoA Tutorial - Step-by-Step tutorial for building a PoA test chain with 2 nodes with Parity authority round consensus
  • Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
  • Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
  • Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
  • aragonCLI - aragonCLI is used to create and develop Aragon apps and organizations.
  • ColonyJS - JavaScript client that provides an API for interacting with the Colony Network smart contracts.
  • ArcJS - Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts.
  • Arkane Connect - JavaScript client that provides an API for interacting with Arkane Network, a wallet provider for building user-friendly dapps.
  • Onboard.js - Blocknative Onboard is the quick and easy way to add multi-wallet support to your project. With built-in modules for more than 20 unique hardware and software wallets, Onboard saves you time and headaches.
  • web3-react - React framework for building single-page Ethereum dApps

Ethereum ABI (Application Binary Interface) tools

  • ABI decoder - library for decoding data params and events from Ethereum transactions
  • ABI-gen - Generate Typescript contract wrappers from contract ABI's.
  • Ethereum ABI UI - Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI
  • headlong - type-safe Contract ABI and Recursive Length Prefix library in Java
  • EasyDapper - Generate dapps from Truffle artifacts, deploy contracts on public/private networks, offers live customizable public page to interact with contracts.
  • One Click dApp - Instantly create a dApp at a unique URL using the ABI.
  • Truffle Pig - a development tool that provides a simple HTTP API to find and read from Truffle-generated contract files, for use during local development. Serves fresh contract ABIs over http.
  • Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
  • Nethereum-CodeGenerator - A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts.

Testing Tools

  • Truffle Teams - Zero-Config continuous integration for truffle projects
  • Solidity code coverage - Solidity code coverage tool
  • Solidity coverage - Alternative code coverage for Solidity smart-contracts
  • Solidity function profiler - Solidity contract function profiler
  • Sol-profiler - Alternative and updated Solidity smart contract profiler
  • Espresso - Speedy, parallelised, hot-reloading solidity test framework
  • Eth tester - Tool suite for testing Ethereum applications
  • Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
  • Hevm - The hevm project is an implementation of the Ethereum virtual machine (EVM) made specifically for unit testing and debugging smart contracts
  • Ethereum graph debugger - Solidity graphical debugger
  • Tenderly CLI - Speed up your development with human readable stack traces
  • Solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation
  • Ethlint - Linter to identify and fix style & security issues in Solidity, formerly Solium
  • Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
  • truffle-assertions - An npm package with additional assertions and utilities used in testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether specific events have (not) been emitted.
  • Psol - Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion.
  • solpp - Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions.
  • Decode and Publish – Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/
  • Doppelgänger - a library for mocking smart contract dependencies during unit testing.
  • rocketh - A simple lib to test ethereum smart contract that allow to use whatever web3 lib and test runner you choose.
  • pytest-cobra - PyTest plugin for testing smart contracts for Ethereum blockchain.

Transaction Visualization, Scoring & Tracking:

Support Project:

Support is very important to me, with it I can spend less time at work and do what I love - educating DeFi & Crypto users ��

If you want to support my work, you can send me a donation to the address:

0xB25C5E8fA1E53eEb9bE3421C59F6A66B786ED77A — ERC20 & ETH (officercia.eth)

( �� ͡❛ ͜ʖ ͡❛) ��

 相关资料
  • SOFAJRaft 2019 年 4-7 月开发计划 (p1) Telnet 服务(或其他,越简单越好),作为一种在线排查问题的手段,主要提供以下几个功能 Raft_stat: 以 node 节点为 root,能列出大部分甚至所有相关 stat Metrics: 展示当前节点最新的所有 metrics 指标度量(虽然日志里有相关数据但是相对分散) (p1) 扩展点:引入 SPI 机制,先列出几个扩

  • Access Road 帮助您了解在复杂的信息系统访问权限,受到用户平均友好,功能强大的图表。它提供了为用户非常基本的功能设置,没有数据的更新。它可以让你的模式和显示一些预定义的操作系统和简单的软件,建模和显示有关的任何内容之间的访问权限图形的意见,并说明这些权利。

  • Ultimate DeFi & Blockchain Research Base Here we collect and discuss the best DeFI & Blockchain researches and tools - contributions are welcome. Feel free to submit a pull request, with anything from

  • 问题内容: 我正在尝试实现Google的 snaptoroad API。但是我没有任何输出。我正在使用golang进行实施。我的代码如下: 此代码产生的输出是 返回空白输出。有人指出我在这里犯的错误吗?提前致谢。 问题答案: 您的代码很好,但是您的API密钥似乎未激活。请访问googleAPI仪表板 以启用它。 您可以随时检查它是否正常运行:https : //roads.googleapis.c

  • andaily-developer andaily-developer, 源自andaily开发过程中使用的scrum工具. 运行环境 JDK 1.7 + MySql 5.5 + Tomcat 7 + 角色定义 在系统中定义了4种角色: Super Man, Product Owner, Scrum Master 与 Scrum Member, 介绍如下 Super Man(类似系统管理员), 在

  • Flutter Developer Quest,这是一款完全由 Flutter 构建的游戏!该游戏已经在 App Store 和 Google Play 上免费提供。另外,它是完全开源的! 简而言之,Flutter Developer Quest 是一款基于屏幕进行交互的 RPG 类游戏,您可以在其中组建一个软件工程师团队,制作 Flutter 应用。游戏展示了许多最新的 Flutter 功能,还