Как вы относитесь к собственному адресу контракта внутри него?

Я пытаюсь использовать два контракта вместе, и мне нужен мой второй контракт, чтобы передать свой собственный адрес в первый контракт.

Есть ли простой способ сделать это? Как this.address?

Или мне нужно обновить собственный адрес контракта в переменной?

31 голос | спросил user697 9 AMpSat, 09 Apr 2016 10:08:01 +030008Saturday 2016, 10:08:01

2 ответа


43

Получить адрес контракта в Solidity

  

Краткий ответ: глобальная переменная this - это адрес контракта.

Длинный ответ: this - переменная, представляющая текущий контракт. Его тип - это тип контракта. Поскольку любой тип контракта в основном наследуется от типа адреса, он всегда конвертируется в адрес и в этом случае содержит свой собственный адрес.

ответил niksmac 9 AMpSat, 09 Apr 2016 10:37:13 +030037Saturday 2016, 10:37:13
22

Я попробовал this и this.address, но нашел следующие работы:

function transferTo(address receiver, uint amount) {
    if (   amount == 0
        || receiver == address(this) )
        return;
ответил bitsanity 14 Maypm17 2017, 22:02:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132