重新混合solidity合约如何将多个参数传递到创建按钮
Posted
技术标签:
【中文标题】重新混合solidity合约如何将多个参数传递到创建按钮【英文标题】:remix solidity contract how to pass multiple arguments into the create button 【发布时间】:2018-03-02 21:54:16 【问题描述】:我的示例代码如下所示:
function HubiiCrowdsale(address _teamMultisig, uint _start, uint _end) Crowdsale(_teamMultisig, _start, _end, hubii_minimum_funding) public
PricingStrategy p_strategy = new FlatPricing(token_in_wei);
CeilingStrategy c_strategy = new FixedCeiling(chunked_multiple, limit_per_address);
FinalizeAgent f_agent = new BonusFinalizeAgent(this, bonus_base_points, _teamMultisig);
setPricingStrategy(p_strategy);
setCeilingStrategy(c_strategy);
// Testing values
token = new CrowdsaleToken(token_name, token_symbol, token_initial_supply, token_decimals, _teamMultisig, token_mintable);
token.setMintAgent(address(this), true);
token.setMintAgent(address(f_agent), true);
token.setReleaseAgent(address(f_agent));
setFinalizeAgent(f_agent);
只需要我将(address _teamMultisig, uint _start, uint _end)三个参数传入create按钮即可创建合约,我试过了
"0xca35b7d915458ef540ade6068dfe2f44e8fa733c" 1234 1235
给出错误:
creation of browser/ballot.sol:HubiiCrowdsale errored: Error encoding arguments: SyntaxError: Unexpected number in JSON at position 46
和:
"_teamMultisig":"0xca35b7d915458ef540ade6068dfe2f44e8fa733c","_start":1234,"_end":1235
报错
creation of browser/ballot.sol:HubiiCrowdsale errored: Error encoding arguments: Error: Argument is not a number
在这里传递参数的正确方法是什么?
【问题讨论】:
你尝试过 ("0xca35b7d915458ef540ade6068dfe2f44e8fa733c", 1234, 1235
) - 不带括号 - 吗?
我试过了,它说'创建浏览器/ballot.sol:HubiiCrowdsale 错误:发送交易失败:地址无效。如果您使用注入的提供程序,请检查它是否已正确解锁。 '
【参考方案1】:
试试:
"0xca35b7d915458ef540ade6068dfe2f44e8fa733c", 1234, 1235
逗号分隔
编辑:我刚刚看到上面的评论,还有一个名为“Crowdsale”的修饰符约束,您能否也提供此代码,因为这可能会导致更多错误。
【讨论】:
以上是关于重新混合solidity合约如何将多个参数传递到创建按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何将一组结构从 web3js 发送到 Solidity 合约?