Pasando ether con llamada a la función Solidity.

He implementado un contrato para testnet que parece funcionar.

Tengo una función llamada contributeque obtiene el éter de msg.value . La función está debajo y no toma ningún argumento.

Llamo contributedesde JavaScript así:

var res = contracts['CrowdFunder'].contract.contribute();

¿Cómo especifico que se envíe ether al llamar contribute?

Aquí está contributelo que espera msg.value

function contribute() public      
    {
        contributions.push(
            Contribution({
                amount: msg.value,
                contributor: msg.sender
            }) 
        );
        totalRaised += msg.value;             
    }

Respuestas (1)

Pasas un objeto con una propiedad llamada valuey la cantidad de wei.

Usando tu ejemplo, como:

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

Tenga en cuenta que en su ejemplo reshabrá un hash de transacción.