【问题标题】:Brownie - Constructor Sequence has incorrect length, expected 1 but got 0Brownie - 构造函数序列的长度不正确,预期为 1 但得到 0
【发布时间】:2023-03-23 10:55:01
【问题描述】:

我正在尝试通过运行 brownie run scripts/deploy.py --network rinkeby 在 Rinkeby 上部署合同,但出现以下错误:

Constructor Sequence has incorrect length, expected 1 but got 0

我认为问题在于我在运行 deploy.py 脚本时没有指定构造函数的初始值。这是正确的吗?如果是,我该如何解决?

deploy.py

from brownie import FundMe
from scripts.helpful_script import get_account


def deploy_fund_me():
    account = get_account()
    fund_me = FundMe.deploy({"from": account})
    print(f"Contract deployed to {fund_me.account}")

稳固合同

pragma solidity ^0.6.6;

import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
import "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol";

contract FundMe {
    using SafeMathChainlink for uint256;

    mapping(address => uint256) public addressToAmountFunded;
    address[] public funders;
    address public owner;
    AggregatorV3Interface public priceFeed;

    constructor(address _priceFeed) public {
        priceFeed = AggregatorV3Interface(_priceFeed);
        owner = msg.sender;
    }
    ...OTHER FUNCTIONS...
    }
}

【问题讨论】:

    标签: python ethereum solidity brownie


    【解决方案1】:

    已解决:

    尝试使用此可靠代码:

    https://github.com/PatrickAlphaC/brownie_fund_me/issues/1

    // SPDX-License-Identifier: MIT
    
    pragma solidity ^0.6.6;
    
    import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
    import "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol";
    
    contract FundMe {
        using SafeMathChainlink for uint256;
    
        mapping(address => uint256) public addressToAmountFunded;
        address[] public funders;
        address public owner;
    
        constructor() public {
            owner = msg.sender;
        }
    
        function fund() public payable {
            uint256 mimimumUSD = 50 * 10**18;
            require(
                getConversionRate(msg.value) >= mimimumUSD,
                "You need to spend more ETH!"
            );
            addressToAmountFunded[msg.sender] += msg.value;
            funders.push(msg.sender);
        }
    
        function getVersion() public view returns (uint256) {
            AggregatorV3Interface priceFeed = AggregatorV3Interface(
                0x8A753747A1Fa494EC906cE90E9f37563A8AF630e
            );
            return priceFeed.version();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-09
      • 2018-08-14
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多