0

When I enter truffle console it open truffle(ganache)> instead of truffle(development)>. I think this maybe the reason my program is failing to compile. Are these two the same and is the problem in my program something else?

LENOVO@DESKTOP-BGBIAMN MINGW64 ~/eth-todo-list
$ truffle console
truffle(ganache)>
1

1 Answer 1

1

You can edit that behavior in your truffle-config.js file. That is where the truffle console command picks the network it will connect to. In your case ganache network seems to have been set as default/development.

Example of truffle.js file:

const HDWalletProvider = require('@truffle/hdwallet-provider');

const fs = require('fs');
const secret = fs.readFileSync("./.secret").toString().trim();

module.exports = {
    /**
     * Networks define how you connect to your ethereum client and let you set the
     * defaults web3 uses to send transactions. If you don't specify one truffle
     * will spin up a development blockchain for you on port 9545 when you
     * run `develop` or `test`. You can ask a truffle command to use a specific
     * network from the command line, e.g
     *
     * $ truffle test --network <network-name>
     */

    networks: {
        // Useful for testing. The `development` name is special - truffle uses it by default
        // if it's defined here and no other network is specified at the command line.
        // You should run a client (like ganache-cli, geth or parity) in a separate terminal
        // tab if you use this network and you must also set the `host`, `port` and `network_id`
        // options below to some value.
        //
        development: {
            host: "127.0.0.1",     // Localhost (default: none)
            port: 7545,            // Standard Ethereum port (default: none)
            network_id: "*",       // Any network (default: none)
        },

        // Ganache test network 
        ganache: {
            host: "127.0.0.1",     // Localhost (default: none)
            port: 8545,            // Standard Ethereum port (default: none)
            network_id: "*",       // Any network (default: none)
        },
    

        // Another network with more advanced options...
        goerli: {
            network_id: 5,       // Custom network
            gas: 4465030,           // Gas sent with each transaction (default: ~6700000)
            gasPrice: 10000000000,  // 20 gwei (in wei) (default: 100 gwei)
        },

        // Useful for deploying to a public network.
        // NB: It's important to wrap the provider as a function.
        ropsten: {
            provider: () => new HDWalletProvider(mnemonic, `https://ropsten.infura.io/v3/YOUR-PROJECT-ID`),
            network_id: 3,       // Ropsten's id
            gas: 5500000,        // Ropsten has a lower block limit than mainnet
            confirmations: 2,    // # of confs to wait between deployments. (default: 0)
            timeoutBlocks: 200,  // # of blocks before a deployment times out  (minimum/default: 50)
            skipDryRun: true     // Skip dry run before migrations? (default: false for public nets )
        }

    },

    // Set default mocha options here, use special reporters etc.
    mocha: {
        // timeout: 100000
        reporter:'spec'
        //reporter:'mocha-junit-reporter'
    },

    // Configure your compilers
    compilers: {
        solc: {
            version: "0.8.0",    // Fetch exact version from solc-bin (default: truffle's version)
            //  docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
            settings: {          // See the solidity docs for advice about optimization and evmVersion
                optimizer: {
                    enabled: false,
                    runs: 200
                },
                evmVersion: "byzantium"
            }
        }
    }
}

You can also pick which network you want to connect to by adding "network" parameter to the truffle console command

truffle console --network "name of the network"

Example:

truffle console --network ganache
1
  • For me it was always written development, now I know why. Thanks. Commented Feb 21, 2022 at 12:21

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.