Ändern der aktuellen Adresse auf eine andere Adresse

Ich schreibe in Solidity mit testrpc und truffle .

Ich möchte meine Funktionen testen, indem ich meine aktuelle Adresse ändere, andere Adressen imitiere.

Das habe ich bisher versucht:

function getCurrAddress() constant returns(address currAddr){
    currAddr = msg.sender;
    return currAddr;
}

var accounts = web3.eth.accounts
contract.getCurrAddress() results in  = '0x53a1962e8844b2c9f1eed6e85e4d2026126ade0e'

web3.eth.defaultAccount = accounts[1]
      == '0xab6fa1d299e3b7d67fffd0829341534684d46560'

contract.getCurrAddress() results in  = '0x53a1962e8844b2c9f1eed6e85e4d2026126ade0e'

Gibt es eine Möglichkeit, meine aktuelle Adresse zu ändern, da defaultAccount anscheinend nicht funktioniert?

Antworten (1)

Sie können einfach Ihre bevorzugte Adresse in das fromFeld des Anrufs eintragen.

dh

contract.getCurrAddress.call({from:"myAddress"});
Danke Tjaden Hess! Ich hatte gerade eine andere Frage dazu gelesen und es hieß von: "...", aber ich wusste nicht, dass Sie es in einer Methode angeben können. Danke noch einmal.
So rufen Sie eine Methode auf, die Parameter erfordert:contract.function.call(parameters,{from:'myAddress'})