Ошибки адресации
В настоящее время я занимаюсь некоторыми исследованиями и узнаю больше о том, как работают интеллектуальные контракты (я использую Solidity для их написания и компиляции, и использую консоль geth JS для взаимодействия с ними на моем ПК)
Мой контракт был развернут в простой сети из 2 узлов, которую я создал, и функции, которые я определил в исходном коде, работают нормально, за исключением тех, которые связаны с адресами.
На приведенном ниже снимке экрана я использую хэш учетной записи для второго узла (который вы получаете, когда вы вводите eth.coinbase в консоль) в качестве параметра, чтобы проверить, работает ли написанная мной функция как задумано, но я получил ошибки, которые вы видите на скриншоте. Я новичок во всем этом, поэтому мне было интересно, если кто-нибудь может сказать мне, что я делаю неправильно, я не знаю, что именно я должен предоставить для параметра, чтобы контракт знал, какой я узел ссылаясь на. Если бы кто-то мог указать мне правильное направление или дать некоторое представление об этом, это будет оценено.
1 ответ
В web3js параметры адреса представлены в виде шестнадцатеричных строк. Поэтому вам нужно отправить его как:
ElectionInstance.delegate('0x....');
Увидеть web3.isAddress()
документация для примера.