So when I start truffle develop in my MacBook Pro it starts listening on port 9545 (even though I don't have any mention of this port in truffle.js...):

$ truffle develop
Truffle Develop started at http://localhost:9545/

(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57
(1) 0xf17f52151ebef6c7334fad080c5704d77216b732
(2) 0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef
(3) 0x821aea9a577a9b44299b9c15c88cf3087f3b5544
(4) 0x0d1d4e623d10f9fba5db95830f7d3839406c6af2
(5) 0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e
(6) 0x2191ef87e392377ec08e7c08eb105ef5448eced5
(7) 0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5
(8) 0x6330a553fc93768f612722bb8c2ec78ac90b3bbc
(9) 0x5aeda56215b167893e80b4fe645ba6d5bab767de

Mnemonic: candy maple cake sugar pudding cream honey rich smooth crumble sweet treat


And I can certify this because if I run this in another terminal tab I can see the port open:

$ lsof -i TCP | grep 9545
node      61830 andres   12u  IPv6 0x8a6b4ab0cefab415      0t0  TCP *:9545 (LISTEN)

However, strangely enough, if I send the process to the background, either by truffle develop & or nohup truffle develop &, then lsof doesn't return any TCP occurrence! Why doesn't truffle develop bind to the TCP port when running on the background?

NOTE: The purpose of running it on the background is so that I can instruct my CI to run it before trying to run my tests via truffle test --network network_config_for9545.


The command truffle develop launches an instance of ganache-cli (previously testrpc).

If you only want to interact with an ethereum client for testing purposes you can launch it directly.

To install (only do this once):

$ npm install -g ganache-cli

To execute:

$ ganache-cli

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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