Mit Brownie auf testnet bereitstellen

Dec 12 2020

Ich möchte mit Brownie Code für das Kovan-Testnetz bereitstellen. Ich erhalte jedoch immer wieder einen Fehler beim Zugriff auf Konten. Hier ist der Befehl, den ich ausführe:

brownie run scripts/deploy_price_consumer_v3.py --network kovan

Hier ist der Fehler:

Running 'scripts/deploy_price_consumer_v3.py::main'...
  File "brownie/_cli/run.py", line 49, in main
    return_value = run(args["<filename>"], method_name=args["<function>"] or "main")
  File "brownie/project/scripts.py", line 66, in run
    return getattr(module, method_name)(*args, **kwargs)
  File "./scripts/deploy_price_consumer_v3.py", line 7, in main
    print(accounts[0])
  File "brownie/network/account.py", line 103, in __getitem__
    return self._accounts[key]

Aber wenn ich renne, brownie accounts listbekomme ich einen Account.

brownie accounts list
Brownie v1.11.12 - Python development framework for Ethereum

Found 1 account:
 └─0: 0x643315C9Be056cDEA171F4e7b2222a4ddaB9F88D
patrick@iMac: [~/code/chainlink-mix] $ 

Zusätzliche Information

Ich habe auch versucht, die Konfiguration zu ändern:

networks:
  default: kovan
  kovan:
    cmd_settings:
      mnemonic: ${MNEMONIC}
    host: ${KOVAN_RPC_URL}

Mit einigen Umgebungsvariablen

Und ich folgte auch den Anweisungen aus dieser ähnlichen Frage , stieß aber immer noch auf Probleme.

Antworten

1 Macarse Dec 14 2020 at 00:11

Nach dem Rennen:

brownie accounts new <id>

Wenn Sie dem Konto eine eindeutige ID geben, müssen Sie den privaten Schlüssel eingeben. Anschließend müssen Sie in Ihrem Bereitstellungsskript das Konto laden und das Kennwort für das Konto eingeben. Wenn Sie also einen Vertrag mit dem Namen PriceFeed.solhaben und die Konto-ID 0Ihres Bereitstellungsskripts angegeben haben, sieht dies ungefähr so ​​aus:

from brownie import PriceFeed, accounts


def main():
    dev = accounts.load('0')
    return PriceFeed.deploy({'from': dev})

Hier ist ein Beispiel aus yearn.finance Beispiel: https://github.com/iearn-finance/yearn-vaults/pull/125