Description
I'm using ethers-cli to deploy to a ganache-cli testrpc with the following command:
yarn ethers-deploy --gas-price 1 --gas-limit 250000000 --rpc http://localhost:8545 run deploy-contracts.js
the deploy-contracts.js file looks almost identical to: https://github.com/ethers-io/tutorial-simplestore/blob/master/deploy-contract.js except with my sol file
a few questions:
-
the generated contract json file from saveContract(..) has the abi inside the key “interface” but in your tutorial-simplestore/simple-store.json its called “abi” which is preferable — why would it be showing up as “interface” in that file output?
-
I noticed the "interface" value is a quoted string of the abi object, why use an escaped string instead of just the object itself? perhaps this is more convenient for other use or a mistake?
-
it would be nice to specify --network “any_name_i_want” to ethers-deploy as the network name is set as the root "key" of the contract json. Presently, the generated contract json lists "homestead" even though I'm specifying --rpc to a ganache local server
-
is there a way to link contract deployments..? similar to as truffle contract deployments.. or how do you recommend to deploy a contract that depends on other contracts?
-
can the
builder.saveContract(..)
method that saves the contract abi json, also include the bytecode and other contract details similar to how truffle's compilation works? perhaps with an option flag to this method? -
during development, it would be nice to have quick iteration / rebuild, one of the slow parts is having to type the password for a test account.json keystore file between deploys, is there a way to tell ethers-deploy to use "empty-password" and skip the password request?
-
as well it would be nice to have a --yes flag to ethers-deploy for when it asks to "Send Transaction?" it would just specify yes always, this way a single
yarn deploy
command could be specified to do a full deploy during development -
another good idea is to make "solc" a peer dependency instead of a dependency, this way users can upgrade solc on their own without having to wait for ethers-cli to publish a new version see https://nodejs.org/en/blog/npm/peer-dependencies/
-
for testing / dev, it would be nice to pass a mnemonic phrase for an account instead of a keystore file