Frameworks can be used to ease development. By doing everything yourself you get a better understanding of how everything fits together, but it’s a lot of tedious work and it’s mostly doing the same over and over. These frameworks can automate some of these tasks and make development a breeze.
Github link; https://github.com/trufflesuite/truffle
Website link; https://truffleframework.com
Documentation link; https://truffleframework.com/docs
npm packages repository link; https://www.npmjs.com/package/truffle
Github link; https://github.com/iurimatias/embark-framework
Read the docs link; https://embark.readthedocs.io/en/2.6.4/
npm packages repository link; https://www.npmjs.com/package/embark
Github link; https://github.com/OpenZeppelin
Website link; https://openzeppelin.org/
Read the docs link; http://zeppelin-solidity.readthedocs.io/en/latest/index.html
You can use Ganache to deploy contracts, develop your applications, and run tests. It is available as a desktop application for Windows, Mac, and Linux.
Website: http://truffleframework.com/ganache
This tool was previously known under the name "ethereumJS TestRPC".
npm install -g ganache-cli
helpeth is a command line tool for key and transaction manipulation that makes a developer’s job a lot easier.
It is part of the ethereumjs collection of JavaScript based libraries and tools.
Usage: helpeth [command] Commands: signMessage <message> Sign a message verifySig <hash> <sig> Verify signature verifySigParams <hash> <r> <s> <v> Verify signature parameters createTx <nonce> <to> <value> <data> Sign a transaction <gasLimit> <gasPrice> assembleTx <nonce> <to> <value> <data> Assemble a transaction from its <gasLimit> <gasPrice> <v> <r> <s> components parseTx <tx> Parse raw transaction keyGenerate [format] [icapdirect] Generate new key keyConvert Convert a key to V3 keystore format keyDetails Print key details bip32Details <path> Print key details for a given path addressDetails <address> Print details about an address unitConvert <value> <from> <to> Convert between Ethereum units Options: -p, --private Private key as a hex string [string] --password Password for the private key [string] --password-prompt Prompt for the private key password [boolean] -k, --keyfile Encoded key file [string] --show-private Show private key details [boolean] --mnemonic Mnemonic for HD key derivation [string] --version Show version number [boolean] --help Show help [boolean]
Installing:
$ curl https://nixos.org/nix/install | sh $ nix-channel --add https://nix.dapphub.com/pkgs/dapphub $ nix-channel --update $ nix-env -iA dapphub.{dapp,seth,hevm,evmdis}
web3js is the Ethereum compatible JS API for communicating with clients via JSON RPC, developed by the Ethereum foundation.
Github link; https://github.com/ethereum/web3.js
npm link; https://www.npmjs.com/package/web3
Documentation link; https://github.com/ethereum/wiki/wiki/JavaScript-API
a collection of libraries and utilities for Ethereum.
Github link; https://github.com/ethereumjs
Website link; https://ethereumjs.github.io/
web3j is the Java and Android library for integrating with Ethereum clients and working with smart contracts.
Github link; https://github.com/web3j/web3j
Website link; https://web3j.io
Documentation link; https://docs.web3j.io
Nethereum is the .Net integration library for Ethereum.
Github link; https://github.com/Nethereum/Nethereum
Website link; http://nethereum.com/
Documentation link; https://nethereum.readthedocs.io/en/latest/