Ethereum 块菌测试支持ABIRV2吗?
我想测试一个返回数组结构的函数 这是示例代码Ethereum 块菌测试支持ABIRV2吗?,ethereum,web3,truffle,Ethereum,Web3,Truffle,我想测试一个返回数组结构的函数 这是示例代码 struct Hoge { uint id; string text; } ・・・ constructor() public { hoges.push(Hoge(1, "Hogehoge")); } ・・・ function hogehoge() external view returns(Hoge memory) { return hoges[0]; } 我的测试是这样的 var Sample = artifacts.r
struct Hoge {
uint id;
string text;
}
・・・
constructor() public {
hoges.push(Hoge(1, "Hogehoge"));
}
・・・
function hogehoge() external view returns(Hoge memory) {
return hoges[0];
}
我的测试是这样的
var Sample = artifacts.require('./Sample.sol');
contract('sample', function(accounts) {
it('facilitates number of place and check-in', function() {
return Sample.deployed().then(function(instance) {
sampleInstance = instance;
return sampleInstance.hogehoge()
}).then(function(result) {
hoges = result;
assert.equal(hoges.id, 1);
})
})
})
但是,错误显示无效的实体类型!:元组
返回数组结构的函数需要ABIEncoderV2
我听说web3正在尝试支持ABIEncoderV2
,但我不确定web3现在是否支持ABIEncoderV2
我的版本是这样的。
块菌v4.1.15(核心:4.1.15)
固体度v0.4.25(solc js)
您能告诉我如何测试我的代码吗?支持从truffle v5开始
ABIEncoderV2
。
我建议从当前版本升级到v5
支持从块菌v5开始的ABIEncoderV2。 我建议从当前版本升级到v5