2019-04-08 14:46:14 +00:00
module . exports = {
// applies to all environments
default : {
enabled : true ,
2019-04-24 10:56:18 +00:00
rpcHost : 'localhost' , // HTTP-RPC server listening interface (default: "localhost")
2019-04-08 14:46:14 +00:00
rpcPort : 8545 , // HTTP-RPC server listening port (default: 8545)
rpcCorsDomain : { // Domains from which to accept cross origin requests (browser enforced). This can also be a comma separated list
auto : true , // When "auto" is true, Embark will automatically set the cors to the address of the webserver
2019-04-24 10:56:18 +00:00
additionalCors : [ ] , // Additional CORS domains to add to the list. If "auto" is false, only those will be added
2019-04-08 14:46:14 +00:00
} ,
wsRPC : true , // Enable the WS-RPC server
wsOrigins : { // Same thing as "rpcCorsDomain", but for WS origins
auto : true ,
2019-04-24 10:56:18 +00:00
additionalCors : [ ] ,
2019-04-08 14:46:14 +00:00
} ,
2019-04-24 10:56:18 +00:00
wsHost : 'localhost' , // WS-RPC server listening interface (default: "localhost")
wsPort : 8546 , // WS-RPC server listening port (default: 8546)
2019-04-08 14:46:14 +00:00
// Accounts to use as node accounts
// The order here corresponds to the order of `web3.eth.getAccounts`, so the first one is the `defaultAccount`
2019-04-24 10:56:18 +00:00
/ * , a c c o u n t s : [
2019-04-08 14:46:14 +00:00
{
nodeAccounts : true , // Accounts use for the node
numAddresses : "1" , // Number of addresses/accounts (defaults to 1)
password : "config/development/devpassword" // Password file for the accounts
} ,
// Below are additional accounts that will count as `nodeAccounts` in the `deployment` section of your contract config
// Those will not be unlocked in the node itself
{
privateKey : "your_private_key"
} ,
{
privateKeyFile : "path/to/file" , // Either a keystore or a list of keys, separated by , or ;
password : "passwordForTheKeystore" // Needed to decrypt the keystore file
} ,
{
mnemonic : "12 word mnemonic" ,
addressIndex : "0" , // Optional. The index to start getting the address
numAddresses : "1" , // Optional. The number of addresses to get
hdpath : "m/44'/60'/0'/0/" // Optional. HD derivation path
}
2019-04-24 10:56:18 +00:00
] * /
2019-04-08 14:46:14 +00:00
} ,
// default environment, merges with the settings in default
// assumed to be the intended environment by `embark run` and `embark blockchain`
development : {
2019-04-24 10:56:18 +00:00
ethereumClientName : 'geth' , // Can be geth or parity (default:geth)
// ethereumClientBin: "geth", // path to the client binary. Useful if it is not in the global PATH
networkType : 'custom' , // Can be: testnet, rinkeby, livenet or custom, in which case, it will use the specified networkId
2019-04-08 14:46:14 +00:00
networkId : 1337 , // Network id used when networkType is custom
isDev : true , // Uses and ephemeral proof-of-authority network with a pre-funded developer account, mining enabled
2019-04-24 10:56:18 +00:00
datadir : '.embark/development/datadir' , // Data directory for the databases and keystore (Geth 1.8.15 and Parity 2.0.4 can use the same base folder, till now they does not conflict with each other)
2019-04-08 14:46:14 +00:00
mineWhenNeeded : true , // Uses our custom script (if isDev is false) to mine only when needed
nodiscover : true , // Disables the peer discovery mechanism (manual peer addition)
maxpeers : 0 , // Maximum number of network peers (network disabled if set to 0) (default: 25)
proxy : true , // Proxy is used to present meaningful information about transactions
targetGasLimit : 9000000 , // Target gas limit sets the artificial target gas floor for the blocks to mine
2019-04-24 10:56:18 +00:00
simulatorBlocktime : 0 , // Specify blockTime in seconds for automatic mining. Default is 0 and no auto-mining.
2019-04-08 14:46:14 +00:00
} ,
// merges with the settings in default
// used with "embark run privatenet" and/or "embark blockchain privatenet"
privatenet : {
2019-04-24 10:56:18 +00:00
networkType : 'custom' ,
2019-04-08 14:46:14 +00:00
networkId : 1337 ,
isDev : false ,
2019-04-24 10:56:18 +00:00
datadir : '.embark/privatenet/datadir' ,
2019-04-08 14:46:14 +00:00
// -- mineWhenNeeded --
2019-04-24 10:56:18 +00:00
// This options is only valid when isDev is false.
2019-04-08 14:46:14 +00:00
// Enabling this option uses our custom script to mine only when needed.
// Embark creates a development account for you (using `geth account new`) and funds the account. This account can be used for
// development (and even imported in to MetaMask). To enable correct usage, a password for this account must be specified
// in the `account > password` setting below.
// NOTE: once `mineWhenNeeded` is enabled, you must run an `embark reset` on your dApp before running
// `embark blockchain` or `embark run` for the first time.
2019-04-24 10:56:18 +00:00
mineWhenNeeded : true ,
2019-04-08 14:46:14 +00:00
// -- genesisBlock --
// This option is only valid when mineWhenNeeded is true (which is only valid if isDev is false).
// When enabled, geth uses POW to mine transactions as it would normally, instead of using POA as it does in --dev mode.
2019-04-24 10:56:18 +00:00
// On the first `embark blockchain or embark run` after this option is enabled, geth will create a new chain with a
2019-04-08 14:46:14 +00:00
// genesis block, which can be configured using the `genesisBlock` configuration option below.
2019-04-24 10:56:18 +00:00
genesisBlock : 'config/privatenet/genesis.json' , // Genesis block to initiate on first creation of a development node
2019-04-08 14:46:14 +00:00
nodiscover : true ,
maxpeers : 0 ,
proxy : true ,
accounts : [
{
nodeAccounts : true ,
2019-04-24 10:56:18 +00:00
password : 'config/privatenet/password' , // Password to unlock the account
} ,
2019-04-08 14:46:14 +00:00
] ,
targetGasLimit : 8000000 ,
2019-04-24 10:56:18 +00:00
simulatorBlocktime : 0 ,
2019-04-08 14:46:14 +00:00
} ,
privateparitynet : {
2019-04-24 10:56:18 +00:00
ethereumClientName : 'parity' ,
networkType : 'custom' ,
2019-04-08 14:46:14 +00:00
networkId : 1337 ,
isDev : false ,
2019-04-24 10:56:18 +00:00
genesisBlock : 'config/privatenet/genesis-parity.json' , // Genesis block to initiate on first creation of a development node
datadir : '.embark/privatenet/datadir' ,
2019-04-08 14:46:14 +00:00
mineWhenNeeded : false ,
nodiscover : true ,
maxpeers : 0 ,
proxy : true ,
accounts : [
{
nodeAccounts : true ,
2019-04-24 10:56:18 +00:00
password : 'config/privatenet/password' ,
} ,
2019-04-08 14:46:14 +00:00
] ,
targetGasLimit : 8000000 ,
2019-04-24 10:56:18 +00:00
simulatorBlocktime : 0 ,
2019-04-08 14:46:14 +00:00
} ,
// merges with the settings in default
// used with "embark run testnet" and/or "embark blockchain testnet"
testnet : {
2019-04-24 10:56:18 +00:00
networkType : 'testnet' ,
syncMode : 'light' ,
2019-04-08 14:46:14 +00:00
accounts : [
{
nodeAccounts : true ,
2019-04-24 10:56:18 +00:00
password : 'config/testnet/password' ,
} ,
] ,
2019-04-08 14:46:14 +00:00
} ,
// merges with the settings in default
// used with "embark run livenet" and/or "embark blockchain livenet"
livenet : {
2019-04-24 10:56:18 +00:00
networkType : 'livenet' ,
syncMode : 'light' ,
rpcCorsDomain : 'http://localhost:8000' ,
wsOrigins : 'http://localhost:8000' ,
2019-04-08 14:46:14 +00:00
accounts : [
{
nodeAccounts : true ,
2019-04-24 10:56:18 +00:00
password : 'config/livenet/password' ,
} ,
] ,
} ,
2019-04-08 14:46:14 +00:00
// you can name an environment with specific settings and then specify with
// "embark run custom_name" or "embark blockchain custom_name"
2019-04-24 10:56:18 +00:00
// custom_name: {
// }
2019-04-08 14:46:14 +00:00
} ;