Terapkan ke testnet dengan brownies

Dec 12 2020

Saya ingin menerapkan beberapa kode ke kovan testnet dengan Brownie. Namun saya terus mendapatkan kesalahan saat mengakses akun. Inilah perintah yang saya jalankan:

brownie run scripts/deploy_price_consumer_v3.py --network kovan

Inilah kesalahannya:

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]

Tetapi ketika saya menjalankan brownie accounts listsaya mendapatkan akun.

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

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

Informasi tambahan

Saya juga mencoba mengubah konfigurasi:

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

Dengan beberapa variabel lingkungan

Dan saya mengikuti instruksi dari pertanyaan serupa ini juga , tetapi masih mengalami masalah.

Jawaban

1 Macarse Dec 14 2020 at 00:11

Setelah berlari:

brownie accounts new <id>

Dan memberi akun ID unik, Anda harus memasukkan kunci pribadi. Kemudian dalam skrip penerapan Anda, Anda perlu memuat akun dan memasukkan kata sandi untuk akun tersebut. Jadi jika Anda memiliki kontrak bernama PriceFeed.sol, dan Anda memberikan ID akun 0skrip penerapan Anda akan terlihat seperti:

from brownie import PriceFeed, accounts


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

Berikut adalah contoh dari Contoh yearn.finance: https://github.com/iearn-finance/yearn-vaults/pull/125