Резервная функция вызывается при установке переменных контракта из внешнего узла

Я новичок в мире Ethereum, и у меня есть некоторые проблемы с контрактом SimpleStorage в моей частной тестовой сети ( http://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html ) . В частности, если я создаю экземпляр контракта, а затем вызываю функцию set() из того же узла, все работает. Но если я вызову функцию set() из другого узла моей частной тестовой сети, используя следующие команды:

> var instance = web3.eth.contract(abi).at(contractAddress);
> instance.set.sendTransaction(21, {from: web3.eth.accounts[0]});

функция вроде не работает. Точнее, просто добавив несколько прослушивателей событий, я могу заметить, что вместо этого вызывается резервная функция. Может ли кто-нибудь сказать мне, почему? Что я делаю не так?

Любая помощь приветствуется.

Вы уверены, что ABI правильный? Вы увидите такое поведение, если попытаетесь вызвать функцию, которая не существует или имеет формальные параметры, отличные от реализованных вами.
Собственно в этом и была проблема. Теперь он работает отлично. Большое спасибо!
@ AM122 Можно добавить прослушиватель событий. Поскольку больше никто не знает, в чем была ошибка в ABI, вы, вероятно, захотите опубликовать ответ на свой вопрос, тогда через несколько дней вы сможете принять ответ. Публикация собственного ответа здесь в порядке.
Была ошибка в определении abi типа ввода (он был просто определен как «uint» вместо «uint256»). Спасибо еще раз
@ AM122 Я хотел опубликовать сообщение в большом поле «Ваш ответ» ниже, а не в этом маленьком поле, которое предназначено только для комментариев. Затем через пару дней вы можете нажать галочку на своем ответе.

Ответы (1)

Была ошибка в определении abi типа ввода (он был просто определен как «uint» вместо «uint256»).