ethereumjs-testrpc
is a Node.js-based Ethereum node used for testing and development. It simulates full-node behavior and makes the development of Ethereum applications much faster. It also includes all popular RPC functions and features (such as events) and can be run deterministically to make development a breeze.
It's written in JavaScript and is distributed as an npm
package. At the time of writing this, the latest version of ethereumjs-testrpc
is 3.0.3 and requires at least Node.js version 6.9.1 to run properly.
Note
It holds everything in memory; therefore, whenever the node is restarted, it loses the previous state.
There are three ways to simulate an Ethereum node using ethereumjs-testrpc
. Each of these ways has its own use cases. Let's explore them.