{
"name": "ganache-cli",
"description": "Fast Ethereum RPC client",
"subcommands": [
{
"name": "forkCacheSize",
"description": "The maximum size, in bytes, of the in-memory cache for queries on a chain fork. Defaults to 1_073_741_824 bytes (1 gigabyte)",
"args": [
{
"name": "number"
}
]
}
],
"options": [
{
"names": [
"-a",
"--accounts"
],
"description": "Specify the number of accounts to generate at startup",
"takes_arg": true,
"arg": {
"name": "number"
}
},
{
"names": [
"-e",
"--defaultBalanceEther"
],
"description": "Amount of ether to assign each test account. Default is 100",
"takes_arg": true,
"arg": {
"name": "number"
}
},
{
"names": [
"-b",
"--blockTime"
],
"description": "Specify blockTime in seconds for automatic mining. If you don't specify this flag, ganache will instantly mine a new block for every transaction",
"takes_arg": true,
"arg": {
"name": "seconds"
}
},
{
"names": [
"-d",
"--deterministic"
],
"description": "Generate deterministic addresses based on a pre-defined mnemonic"
},
{
"names": [
"-n",
"--secure"
],
"description": "Lock available accounts by default (good for third party transaction signing)"
},
{
"names": [
"-m",
"--mnemonic"
],
"description": "Use a bip39 mnemonic phrase for generating a PRNG seed, which is in turn used for hierarchical deterministic (HD) account generation"
},
{
"names": [
"-p",
"--port"
],
"description": "Port number to listen on. Defaults to 8545",
"takes_arg": true,
"arg": {
"name": "port number"
}
},
{
"names": [
"-h",
"--host"
],
"description": "Hostname to listen on. Defaults to 127.0.0.1 (defaults to 0.0.0.0 for Docker instances of ganache-cli)",
"takes_arg": true,
"arg": {
"name": "Hostname"
}
},
{
"names": [
"-s",
"--seed"
],
"description": "Use arbitrary data to generate the HD wallet mnemonic to be used"
},
{
"names": [
"-g",
"--gasPrice"
],
"description": "The price of gas in wei (defaults to 20000000000)",
"takes_arg": true,
"arg": {
"name": "price"
}
},
{
"names": [
"-l",
"--gasLimit"
],
"description": "The block gas limit (defaults to 0x6691b7)",
"takes_arg": true,
"arg": {
"name": "limit"
}
},
{
"names": [
"--callGasLimit"
],
"description": "Sets the transaction gas limit for eth_call and eth_estimateGas calls",
"takes_arg": true,
"arg": {
"name": "limit"
}
},
{
"names": [
"-k",
"--hardfork"
],
"description": "Allows users to specify which hardfork should be used",
"takes_arg": true,
"arg": {
"name": "hardfork",
"suggestions": [
"byzantium",
"constantinople",
"petersburg",
"istanbul",
"muirGlacier"
]
}
},
{
"names": [
"-f",
"--fork"
],
"description": "Fork from another currently running Ethereum client at a given block. Input should be the HTTP location and port of the other client",
"takes_arg": true,
"arg": {
"name": "HTTP location & port"
}
},
{
"names": [
"-i",
"--networkId"
],
"description": "Specify the network id ganache-cli will use to identify itself (defaults to the current time or the network id of the forked blockchain if configured)",
"takes_arg": true,
"arg": {
"name": "Network ID"
}
},
{
"names": [
"--chainId"
],
"description": "Specify the Chain ID ganache-cli will use for eth_chainId RPC and the CHAINID opcode",
"takes_arg": true,
"arg": {
"name": "Chain ID"
}
},
{
"names": [
"--db"
],
"description": "Specify a path to a directory to save the chain database. If a database already exists, ganache-cli will initialize that chain instead of creating a new one",
"takes_arg": true,
"arg": {
"name": "folder",
"template": "folders"
}
},
{
"names": [
"--debug"
],
"description": "Output VM opcodes for debugging"
},
{
"names": [
"--mem"
],
"description": "Output ganache-cli memory usage statistics. This replaces normal output"
},
{
"names": [
"-q",
"--quiet"
],
"description": "Run ganache-cli without any logs"
},
{
"names": [
"-?",
"--help"
],
"description": "Display help information"
},
{
"names": [
"--version"
],
"description": "Display the version of ganache-cli"
},
{
"names": [
"--account_keys_path",
"--acctKeys"
],
"description": "Specifies a file to save accounts and private keys to, for testing",
"takes_arg": true,
"arg": {
"name": "file",
"template": "filepaths"
}
},
{
"names": [
"--noVMErrorsOnRPCResponse"
],
"description": "Do not transmit transaction failures as RPC errors"
},
{
"names": [
"--allowUnlimitedContractSize"
],
"description": "Allows unlimited contract sizes while debugging"
},
{
"names": [
"--keepAliveTimeout"
],
"description": "Sets the HTTP server's keepAliveTimeout in milliseconds",
"takes_arg": true,
"arg": {
"name": "timeout"
}
},
{
"names": [
"-t",
"--time"
],
"description": "Date (ISO 8601) that the first block should start",
"takes_arg": true,
"arg": {
"name": "date"
}
},
{
"names": [
"--account"
],
"description": "Specify any number of times passing arbitrary private keys and their associated balances to generate initial addresses",
"takes_arg": true,
"arg": {
"name": "<privatekey>, balance",
"is_variadic": true
}
},
{
"names": [
"-u",
"--unlock"
],
"description": "Specify any number of times passing either an address or an account index to unlock specific accounts",
"takes_arg": true,
"arg": {
"name": "address or account index",
"is_variadic": true
}
}
]
}