Remix-IDE部署Solidity 0.4.17合约失败:参数编码错误求助
Solidity 0.4.17版本Inbox合约部署错误解决
错误场景
部署基于Solidity ^0.4.17的Inbox合约时,触发报错:
creation of Inbox errored: Error encoding arguments: Error: invalid params
合约代码如下:
pragma solidity ^0.4.17; contract Inbox { string public message; function Inbox(string initialMessage) public { message = initialMessage; } function setMessage(string newMessage) public { message = newMessage; } function getMessage() public view returns (string) { return message; } }
问题原因
该错误核心是构造函数参数编码失败,通常是部署时传入的字符串参数格式不符合要求:Solidity 0.4.x版本中,字符串参数必须用双引号包裹,直接输入无引号的文本会被识别为无效参数。
解决步骤
- 在Remix部署面板的构造函数参数输入框中,输入带双引号的初始字符串,例如
"Hello Inbox" - 确认Remix编译器已选择
0.4.17版本(或兼容的^0.4.17版本),避免版本不匹配问题 - 重新执行部署操作
内容的提问来源于stack exchange,提问作者Almighty Drake
相关产品推荐
相关产品推荐

