Necesito esta arquitectura
{
address1 => [struct1, struct2],
address2 => [struct1, struct2, struct3,],
address3 => [struct1, struct2, struct3, struct4, struct5],
...
}
Mi intento
contract Gallery{
uint public emojiCount;
struct Token {
uint token;
string ipfsHash;
}
mapping (address => Token[]) public emoji;
function addEmoji (uint _token, string _ipfsHash) public {
emojiCount ++;
emoji[msg.sender].push(Token(_token, _ipfsHash));
}
}
¿Cómo devuelvo la matriz Struct para poder guardar imágenes IPFS
String
de acuerdo con la dirección de la cuenta de usuario [msg.sender]
?
Como es esto posible en solidez
Gracias de antemano
su código debería funcionar según lo previsto y brindarle un recuento total de 'emojis', pero es posible que desee esa información por dirección, para hacerlo, podría agregar una segunda asignación, para mantener siempre la última posición para la dirección insertada :
mapping (address => uint256) addressToLastUsedPosition;
luego, cuando presiona la matriz, recupera la posición y establece la asignación.
uint256 newMaxPositionForAddress = emoji[msg.sender].push(Token(_token, _ipfsHash));
addressToLastUsedPostion[msg.sender] = newMaxPositionForAddress;
hacerlo siempre te permitirá saber cuántos 'emoji' hay por dirección.
Syed Zain Ali
solidity
el código es mucho más fácil de entender, donde las preguntas similares a las mencionadas anteriormente no se explican por sí mismas @shaddowCaptPython