diff --git a/README.md b/README.md index 69d8aa9e..39825779 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ This resource is meant to be focused on developer tools, but the repo also inclu Feel free to submit a pull request, with anything from small fixes to tools you'd like to add (or remove!). If adding a new tool, **please add a brief description** that you think new developers would understand. -Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/corbpage) and [@pakaplace](https://twitter.com/Parker_Place) of [Meridio](https://www.meridio.co/) for curating, and @jpantunes for restructuring the list in a more logical way. +Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/corbpage), [francesco andreoli](https://github.com/andreolf) and [@pakaplace](https://twitter.com/Parker_Place) of [Meridio](https://www.meridio.co/) for curating, and @jpantunes for restructuring the list in a more logical way. * Projects that do not have a working product will not be added. * Projects that are deprecated or no longer maintained will be removed. * Projects that are paid/restricted services without open source code or developer reviews will be further vetted. @@ -65,8 +65,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c ## New developers start here * [Solidity](https://soliditylang.org/) - The most popular smart contract language. * [Metamask](https://metamask.io/) - Browser extension wallet to interact with Dapps. -* [Truffle](https://trufflesuite.com/) - Most popular smart contract development, testing, and deployment framework. Install the cli via npm and start here to write your first smart contracts. -* [Truffle boxes](https://trufflesuite.com/boxes) - Packaged components for the Ethereum ecosystem. * [Hardhat](https://hardhat.org/) - Flexible, extensible and fast Ethereum development environment. * [Foundry](https://book.getfoundry.sh/) - Smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line. * [Cryptotux](https://cryptotux.org/) - A Linux image ready to be imported in VirtualBox that includes the development tools mentioned above @@ -96,7 +94,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Fe-Lang](https://fe-lang.org/) - Fe is a statically typed language for the Ethereum Virtual Machine (EVM). It is inspired by Python and Rust. #### Frameworks -* [Truffle](https://trufflesuite.com/) - Most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, [Ganache](https://github.com/trufflesuite/ganache), and [Drizzle](https://github.com/truffle-box/drizzle-box). [Deep dive on Truffle here](https://media.consensys.net/truffle-deep-dive-what-you-need-to-know-when-developing-on-ethereum-e548d4df6e9) * [Hardhat](https://hardhat.org/) - Flexible, extensible and fast Ethereum development environment. * [Foundry](https://book.getfoundry.sh/) - Smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line. * [Brownie](https://github.com/iamdefinitelyahuman/brownie) - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts. @@ -139,7 +136,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c ### Test Blockchain Networks * [ethnode](https://github.com/vrde/ethnode) - Run an Ethereum node (Geth or Parity) for development, as easy as `npm i -g ethnode && ethnode`. -* [Ganache](https://github.com/trufflesuite/ganache) - App for test Ethereum blockchain with visual UI and logs * [Kaleido](https://kaleido.io/) - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing * [Besu Private Network](https://besu.hyperledger.org/en/stable/Tutorials/Quickstarts/Azure-Private-Network-Quickstart/) - Run a private network of Besu nodes in a Docker container * [Orion](https://github.com/PegaSysEng/orion) - Component for performing private transactions by PegaSys @@ -188,7 +184,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [web3x](https://github.com/xf00f/web3x) - A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts. * [Nethereum](https://github.com/Nethereum/) - Cross-platform Ethereum development framework * [dfuse](https://github.com/dfuse-io/client-js) - A TypeScript library to use [dfuse Ethereum API](https://dfuse.io) -* [Drizzle](https://github.com/truffle-box/drizzle-box) - Redux library to connect a frontend to a blockchain * [Tasit SDK](https://github.com/tasitlabs/tasitsdk) - A JavaScript SDK for making native mobile Ethereum dapps using React Native * [useMetamask](https://github.com/mdtanrikulu/use-metamask) - a custom React Hook to manage Metamask in Ethereum ĐApp projects * [WalletConnect](https://walletconnect.org/) - Open protocol for connecting Wallets to Dapps @@ -238,7 +233,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [GhostGraph](https://ghostgraph.xyz) - The easiest way to create EVM chain indexers using Solidity. #### Bootstrap/Out-of-Box tools -* [Truffle boxes](https://trufflesuite.com/boxes) - Packaged components for the Ethereum ecosystem * [Ethereum Boilerplate](https://github.com/ethereum-boilerplate/ethereum-boilerplate) - A full-stack boilerplate to get started building dapp on any EVM chains * [Create Eth App](https://github.com/paulrberg/create-eth-app) - Create Ethereum-powered frontend apps with one command * [Besu Private Network](https://besu.hyperledger.org/en/stable/Tutorials/Quickstarts/Azure-Private-Network-Quickstart/) - Run a private network of Besu nodes in a Docker container @@ -249,7 +243,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Parity Demo-PoA Tutorial](https://wiki.parity.io/Demo-PoA-tutorial.html) - Step-by-Step tutorial for building a PoA test chain with 2 nodes with Parity authority round consensus * [Local Ethereum Network](https://github.com/ConsenSys/local_ethereum_network) - Out-of-the-box deployment scripts for private PoW networks * [Kaleido](https://kaleido.io/) - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing -* [Cheshire](https://github.com/endless-nameless-inc/cheshire) - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box * [aragonCLI](https://github.com/aragon/aragon-cli) - aragonCLI is used to create and develop Aragon apps and organizations. * [ColonyJS](https://github.com/JoinColony/colonyJS) - JavaScript client that provides an API for interacting with the Colony Network smart contracts. * [ArcJS](https://github.com/daostack/arc.js) - Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts. @@ -266,9 +259,7 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [ABI-gen](https://github.com/0xProject/0x-monorepo/tree/development/packages/abi-gen) - Generate Typescript contract wrappers from contract ABI's. * [Ethereum ABI UI](https://github.com/hiddentao/ethereum-abi-ui) - Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI * [headlong](https://github.com/esaulpaugh/headlong/) - type-safe Contract ABI and Recursive Length Prefix library in Java -* [EasyDapper](https://www.easydapper.com) - Generate dapps from Truffle artifacts, deploy contracts on public/private networks, offers live customizable public page to interact with contracts. * [One Click dApp](https://oneclickdapp.com) - Instantly create a dApp at a unique URL using the ABI. -* [Truffle Pig](https://npmjs.com/package/trufflepig) - 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. * [Nethereum-CodeGenerator](https://github.com/StefH/Nethereum-CodeGenerator) - A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts. * [EVMConnector](https://evmconnector.dev) - Create shareable contract dashboards and interact with arbitrary EVM-based blockchain functions, with or without an ABI. * [contract-admin](https://github.com/upgreidas/contract-admin) - Minimalistic UI tool for interacting with your smart contracts @@ -293,7 +284,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * usage is described in [Dapp-a-day 1-10](https://steemit.com/@nikolai) and [Dapp-a-day 11-25](https://steemit.com/@nexusdev) * [OpenZeppelin Contracts: An open framework of reusable and secure smart contracts in the Solidity language.](https://github.com/OpenZeppelin/openzeppelin-contracts) * Likely the most widely-used libraries and smart contracts - * Similar to Dappsys, more integrated into Truffle framework * [Blog about Best Practices with Security Audits](https://blog.openzeppelin.com/) * [Advanced Workshop with Assembly](https://github.com/androlo/solidity-workshop) * [Simpler Ethereum Multisig](https://medium.com/@ChrisLundkvist/exploring-simpler-ethereum-multisig-contracts-b71020c19037) - especially section _Benefits_ @@ -373,7 +363,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Meroku](https://github.com/merokudao/meroku) - A community owned dApp Store. Package, distribute your dApp without hosting costs. ### Testing Tools -* [Truffle Teams](https://trufflesuite.com/teams) - Zero-Config continuous integration for truffle projects * [Solidity code coverage](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-coverage) - Solidity code coverage tool * [Solidity coverage](https://github.com/sc-forks/solidity-coverage) - Alternative code coverage for Solidity smart-contracts * [Solidity function profiler](https://github.com/EricR/sol-function-profiler) - Solidity contract function profiler @@ -387,7 +376,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Solhint](https://github.com/protofire/solhint) - Solidity linter that provides security, style guide and best practice rules for smart contract validation * [Ethlint](https://github.com/duaraghav8/Ethlint) - Linter to identify and fix style & security issues in Solidity, formerly Solium * [Decode](https://github.com/hacker-DOM/decode) - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand -* [truffle-assertions](https://github.com/rkalis/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](https://github.com/Lamarkaz/psol) - Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion. * [solpp](https://github.com/merklejerk/solpp) - Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions. * [Decode and Publish](https://flightwallet.github.io/decode-eth-tx/) – Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/ @@ -448,8 +436,7 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c ### Other Miscellaneous Tools * [aragonPM](https://hack.aragon.org/docs/apm-intro.html) - a decentralized package manager powered by aragonOS and Ethereum. aragonPM enables decentralized governance over package upgrades, removing centralized points of failure. -* [Truffle boxes](https://www.trufflesuite.com/boxes) - Packaged components for building DApps fast. - * [Cheshire](https://github.com/endless-nameless-inc/cheshire) - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box + * [Solc](https://docs.soliditylang.org/en/latest/using-the-compiler.html) - Solidity compiler * [Sol-compiler](https://sol-compiler.com/) - Project-level Solidity compiler * [Solidity cli](https://github.com/pubkey/solidity-cli) - Compile solidity-code faster, easier and more reliable @@ -461,7 +448,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Eth crypto](https://github.com/pubkey/eth-crypto) - Cryptographic javascript-functions for Ethereum and tutorials to use them with web3js and solidity * [Parity Signer](https://github.com/paritytech/parity-signer) - mobile app allows signing transactions * [py-eth](http://py-eth.com) - Collection of Python tools for the Ethereum ecosystem -* [truffle-flattener](https://github.com/nomiclabs/truffle-flattener) - Concats solidity files developed under Truffle with all of their dependencies * [Decode](https://github.com/hacker-DOM/decode) - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand * [TypeChain](https://github.com/ethereum-ts/TypeChain) - Typescript bindings for Ethereum smartcontracts * [EthSum](https://ethsum.netlify.com) - A Simple Ethereum Address Checksum Tool @@ -478,7 +464,6 @@ Many thanks to the ~100 contributors including [@corbpage](https://twitter.com/c * [Resolver-Engine](https://github.com/Crypto-Punkers/resolver-engine) - A set of tools to standardize Solidity import and artifact resolution in frameworks. * [eth-reveal](https://github.com/justinjmoses/eth-reveal) - A node and browser tool to inspect transactions - decoding where possible the method, event logs and any revert reasons using ABIs found online. * [Ethereum-tx-sender](https://github.com/HydroProtocol/ethereum-tx-sender) - A useful library written in Golang to reliably send a transaction — abstracting away some of the tricky low level details such as gas optimization, nonce calculations, synchronization, and retries. -* [truffle-plugin-verify](https://github.com/rkalis/truffle-plugin-verify) - Seamlessly verify contract source code on Etherscan from the Truffle command line. * [Blocknative Gas Platform](https://www.blocknative.com/gas) — Gas estimation for builders, by builders. Gas Platform harnesses Blocknative's real-time mempool data infrastructure to accurately and consistently estimate Ethereum transaction fees. This provides builders and traders with an up-to-the-moment gas fee API. * [ETH Gas Tracker](https://www.ethgastracker.com/) - Monitor and track Ethereum and L2 gas prices to reduce transaction fees, save money and take control of your blockchain experience * [Diverse Eth Calculator](https://ethcalculator.dsolutions.mn/) - Ease unit calculations & utility tools. PWA , so you can install it on your mac/windows/linux or android/iPhone