ปรับใช้กับ testnet ด้วยบราวนี่

Dec 12 2020

ฉันต้องการปรับใช้โค้ดบางอย่างกับ kovan testnet ด้วย Brownie อย่างไรก็ตามฉันได้รับข้อผิดพลาดในการเข้าถึงบัญชี นี่คือคำสั่งที่ฉันใช้:

brownie run scripts/deploy_price_consumer_v3.py --network kovan

นี่คือข้อผิดพลาด:

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]

แต่เมื่อฉันเรียกใช้brownie accounts listฉันได้รับบัญชี

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

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

ข้อมูลเพิ่มเติม

ฉันลองเปลี่ยน config ด้วย:

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

ด้วยตัวแปรสภาพแวดล้อมบางอย่าง

และฉันก็ทำตามคำแนะนำจากคำถามที่คล้ายกันนี้เช่นกันแต่ก็ยังพบปัญหา

คำตอบ

1 Macarse Dec 14 2020 at 00:11

หลังจากทำงาน:

brownie accounts new <id>

และการให้รหัสเฉพาะแก่บัญชีนั้นคุณจะต้องป้อนคีย์ส่วนตัว จากนั้นในสคริปต์การปรับใช้ของคุณคุณต้องโหลดบัญชีและป้อนรหัสผ่านสำหรับบัญชี ดังนั้นหากคุณมีชื่อสัญญาPriceFeed.solและคุณให้ ID บัญชีของ0สคริปต์การปรับใช้ของคุณจะมีลักษณะดังนี้:

from brownie import PriceFeed, accounts


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

นี่คือตัวอย่างจาก yearn.finance ตัวอย่าง: https://github.com/iearn-finance/yearn-vaults/pull/125