Я развернул контракт в тестовой сети , который, похоже, работает.
У меня есть названная функция, contribute
которая получает эфир из msg.value . Функция ниже и не принимает никаких аргументов.
Я звоню contribute
из JavaScript следующим образом:
var res = contracts['CrowdFunder'].contract.contribute();
Как указать эфир для отправки при звонке contribute
?
Вот contribute
что ожидает msg.value
function contribute() public
{
contributions.push(
Contribution({
amount: msg.value,
contributor: msg.sender
})
);
totalRaised += msg.value;
}
Вы передаете объект с именем свойства value
и количеством wei.
Используя ваш пример, например:
contracts['CrowdFunder'].contract.contribute({value: web3.toWei(12, 'ether')});
Обратите внимание, в вашем примере res
будет хэш транзакции.