get_accounts
Account types
accounts[0] -- dummy ganache accounts
accounts.add("env") -- private key from env file
-> accounts.add(config["wallets"]["wallet1"])
accounts.load("id") -- load from brownie accounts list
Iteration 1
Account
account = get_account()
get_account is defined in helpful_scripts
Function will check which network we are deploying to. If it is in LOCAL_BLOCKCHAIN_ENV / FORKED_LOCAL_ENV, a dummy ganache account is used.
forking mainnet into a private env, so can use dummy accounts.
Else, (i.e. live chains: mainnet, testnet), MetaMask wallet is used.
pulls private key from wallet1 defined in brownie-config.yaml
which in turn references the PK stored in the .env file
we do this, as opposed to hardcoding into the yaml file, so that on a git push, the .env is not uploaded to github, thereby exposing our private key.
In this version of get_accounts(), we only utilized dummy accounts and adding accounts from Private Key. We shall see the third method in the next interation.
Iteration 2
def get_account(index=None,id=None):
both parameters, index
and id
are optional, as their default value is set to None
.
index
and id
are optional, as their default value is set to None
.if index parameter is passed, function will return a dummy ganache account based on the parameter
account[index]
if id is passed, for example, get_account(id=freecodecamp)
function will reference stored accounts in brownie of the id name
can store an account by: brownie accounts new <id>
pass the private key, add 0x before it.
brownie will request for a password to hash it.
If neither index nor id are passed,
and deployment into LOCAL_BLOCKCHAIN_ENV / FORKED_LOCAL_ENV -> account[0]
else (live chains: mainnet/rinkeby), -> use PK from config.yaml file
In summary,
if index specified -> use ganache account
if id specified -> use id, stored account
none specified -> if local/forked env, use dummy, else use PK from config.yaml
Last updated