Передача эфира с вызовом функции Solidity

Я развернул контракт в тестовой сети , который, похоже, работает.

У меня есть названная функция, 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;             
    }

Ответы (1)

Вы передаете объект с именем свойства valueи количеством wei.

Используя ваш пример, например:

contracts['CrowdFunder'].contract.contribute({value: web3.toWei(12, 'ether')});

Обратите внимание, в вашем примере resбудет хэш транзакции.