Parece que hay muchas preguntas relacionadas, por ejemplo: aquí , pero todavía no puedo creer que no sea compatible con remix o ¿lo estoy malinterpretando? parece que es compatible con la producción.
struct Test {
address receiver;
string date;
}
mapping(address => Test[]) public testInfo;
function getTestInfo(address _account) public constant returns (Test[]) {
return testInfo[_account];
}
¿Hay alguna forma de ejecutar ese código y devolver una matriz de Test
?
Se ejecutará, sin embargo, la salida no se decodificará. Verá este mensaje en la consola:
failed to decode output: Error: Unsupported or invalid type: tuple
Iba a sugerir desestructurar y devolver dos matrices, sin embargo, hay una cadena en la estructura, que tampoco se puede devolver ya que la cadena es una matriz en sí misma. ¿Lo nombró date
para que tal vez pueda mantenerse en un uint
campo o tal vez en un bytes32
campo? Si ese es el caso, entonces puedes hacer:
function getTestInfo(address _account) public constant returns (address[], bytes32[]) {
Es decir, devolver campos de estructura en matrices separadas y reestructurarlos en su front-end.
bbusdriver
luna
address
es y 10bytes32
s, llamémoslosreceivers
ydates
. Cada elemento de esas matrices se establece en los campos respectivos deTest
la matriz original, por ejemplo,receivers[0] == Tests[0].receiver
ydates[0] == Tests[0].date
. Puede construir unaTests
matriz a partir de esta estructura en el front-end.bbusdriver
2018-01-31
y lo que devuelve es la dirección.0x323031382d30312d323800000000000000000000000000000000000000000000
¿Qué se puede arreglar?luna
uint
s para las fechas.bbusdriver