Brownie

使用 Brownie 創建契約約束器

  • December 1, 2021

我怎樣才能用布朗尼複製這個功能?

// Deploy Uniswap Factory and Router
       this.uniswapFactory = await (new ethers.ContractFactory(factoryJson.abi, factoryJson.bytecode, deployer)).deploy(
           ethers.constants.AddressZero // _feeToSetter
       );

我查看了文件,但沒有看到從 abi 和字節碼創建新的 Contract Container 對象的方法。謝謝。

從 brownie 導入編譯好的合約名稱

from brownie import <ContractName>
   
contract = <ContractName>.deploy(*args)

如果已經部署

from brownie import Contract

contract = Contract(*address*)

或者

contract = <ContractName>.at(*address*)

或者

contract = Contract.from_abi(
           contract_type._name, contract_address, contract_type.abi
       )

我可能沒有正確表達我的問題;我所追求的契約沒有在 build 文件夾中編譯。什麼對我有用:

from brownie import project, accounts
from pathlib import Path
   UniFactory = project.load(Path.home() / ".brownie" / "packages" / "Uniswap/v2-core@1.0.1").UniswapV2Factory
   uni_factory = UniFactory.deploy(accounts[0].address, {"from": accounts[0]})

引用自:https://ethereum.stackexchange.com/questions/114238