Problema al transferir ethers de cuenta a contrato

Esta es la función que usé para transferir los ethets:

function addBalance(address beneficiary) payable returns(bool success){ if (beneficiary.send(msg.value)) throw; return true; }

Llamar a la función usando web3:

contract.addBalance.sendTransaction(contractAddress, 
        {from: senderAddress, to: contractAddress, gas:1000000, value: web3.toWei(7, "ether")},function (error, result){ 
            if(!error){

                } else{
                    console.log(error);
                }
        });

O

contract.addBalance.sendTransaction(contractAddress, 
        {from: web3.eth.accounts[5], to: contractAddress, gas:1000000, value: web3.toWei(7, "ether")},function (error, result){ 
            if(!error){
                } else{
                    console.log(error);
                }
        });

Cuando llamo a esto da error diciendo:

Error: authentication needed: password or unlock
at Object.InvalidResponse (errors.js:35)
at requestmanager.js:86
at XMLHttpRequest.request.onreadystatechange (httpprovider.js:118)

Ya he desbloqueado mi cuenta. Si cambio la dirección del remitente con la dirección de coinbase, funciona bien, pero no funciona con ninguna otra dirección de cuenta.

La llamada que funciona bien es la siguiente:

contract.addBalance.sendTransaction(contractAddress, 
        {from: web3.eth.coinbase, to: contractAddress, gas:1000000, value: web3.toWei(7, "ether")},function (error, result){ 
            if(!error){

                } else{
                    console.log(error);
                }
        });  

Respuestas (1)

Tienes que desbloquear la cuenta desde donde envías los ethers:

personal.unlockAccount(eth.accounts[0])

e inserte la contraseña en la gethconsola.

Muchas gracias, funciona, no he desbloqueado esa cuenta en particular e intento transferir dinero desde ella, y por lo tanto muestra el error.