I've been using truffle, testrpc and metamask to test my contracts.

Recently I've observed that people are using geth to test deployed contract.

Question: Which one is recommended and better?


Is there a huge difference between writing tests to interact with contract using truffle, testrpc and meta mask and writing actual transactions in the real blockchain?

1 Answer 1


They both have different functionality.

Geth is a Ethereum network client. It connects to others networks clients to download and synchronize the Ethereum blockchain. Also it allows you to send transaction to other nodes and miners, so they will incorporate it in future blocks.

Truffle is a javascript framework to allow development and testing of smart contracts. It add extra functionality on top of the web3 javascript library. It makes the cycle compile and deploy of a smart contract faster. You can also create unit tests to automate testing.

  • Thanks for the answer. I'd like to know which is more suitable for "testing" contracts.
    – Aydin
    Commented Sep 19, 2017 at 8:36
  • 1
    I used remix.ethereum.org for small contracts and it is fine. Normally I'd use truffle + testrpc for develop + deploy + test when developing more complex contracts to get feedback faster. And use truffle + geth/parity + testnet/mainnet before deploying to validate tests with a real client. I'd say it is useful to know all the tools, they are improving and there's no perfect tool for everything right now.
    – Ismael
    Commented Sep 19, 2017 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.