(SOLIDITÄT) Adresse im Mapping - BUG?

Ursprünglicher Beitrag:

Originalbeitrag

Tut mir leid, dass ich gerade herausgefunden habe, wie es tatsächlich funktioniert. Aber das Problem ist, wenn ich versuche, die Adresse manuell nachzuschlagen, nicht von msg.sender.

Code:

mapping (address => uint) count;

function set() public{
    count[address(0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe)] = 3;
}

function get(address _address) public view returns(uint){
    return count[_address];
}

Ich habe die Set- Funktion aufgerufen und als ich dieselbe Adresse in die Get- Funktion eingefügt habe, war das Ergebnis 0.

Smart-Contract-Screenshot

Debuggen:

Debug-Screenshot

Sie sollten Ihren Quellcode hinzufügen
Der 20-Byte-Adresscode würde in ein 32-Byte-Wort gepackt, möglicherweise mit anderen Daten, je nach Vertrag und was der Compiler damit zu tun entscheidet. Es ist nicht klar, warum Sie auf dieser Ebene arbeiten oder warum es ein Problem ist, wenn Solidity es gerne für Sie entschlüsselt. Bitte legen Sie Ihren Vertrag bei.

Antworten (1)

Fügen Sie die Adresse in das Feld mit Anführungszeichen ein "0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe"

Für mich geht das.