Ошибки недопустимого адреса Solidity

В настоящее время я провожу некоторые исследования и изучаю, как работают смарт-контракты (я использую Solidity, чтобы писать и компилировать их, и я использую консоль geth JS для взаимодействия с ними на моем ПК)

Мой контракт был развернут в простой двухузловой сети, которую я создал, и функции, которые я определил в исходном коде, работают нормально, за исключением тех, которые связаны с адресами.

На приведенном ниже снимке экрана я использую хэш учетной записи для второго узла (что вы получаете, когда вводите eth.coinbase в консоль) в качестве параметра, чтобы попытаться проверить, работает ли написанная мною функция так, как задумано, но я получили ошибки, которые вы видите на скриншоте. Я новичок во всем этом, поэтому мне было интересно, может ли кто-нибудь сказать мне, что я делаю неправильно, я действительно не знаю, что я должен предоставить для параметра, чтобы контракт знал, какой я узел ссылаясь на. Если бы кто-то мог указать мне в правильном направлении или дать некоторое представление об этом, я был бы признателен.

введите описание изображения здесь


person Alex S    schedule 01.06.2018    source источник
comment
Вы уверены, что это правильный формат адреса? Не выглядит 160-битным.   -  person PGSystemTester    schedule 02.06.2018


Ответы (1)


В web3js параметры адреса представлены в виде шестнадцатеричных строк. Следовательно, вам нужно отправить его так:

ElectionInstance.delegate('0x....');

См. Пример в web3.isAddress() документации.

person Adam Kipnis    schedule 02.06.2018