Почему в msg.sender есть адрес учетной записи, которая развернула договор (а не той, которая взаимодействует с ним)? - PullRequest
0 голосов
/ 11 июля 2019

В настоящее время я занимаюсь разработкой приложения на ethereum.Из того, что я знаю, msg.sender должен иметь значение учетной записи, которая взаимодействует с ним.Тем не менее, он сохраняет значение учетной записи развертывателя.

Я использую метамаску и твердость ^ 0.4.24.Я развертываю контакт, используя среду трюфеля, а также графический интерфейс Ganache в качестве моего виртуального узла

function getMe() public view returns(address){
        return msg.sender;
    }

Итак, я ожидаю, что этот код вернет хэш учетной записи, которая взаимодействует с контрактом, но вместо этого я беру обратноадрес аккаунта, который его развернул

1 Ответ

0 голосов
/ 15 июля 2019

msg.sender содержит значение адреса звонящего.Вы должны развертывать и взаимодействовать с одной учетной записи, вероятно, используя accounts[0].

...