Go-ethereum: account unlocked but unable to make transaction via geth console

Created on 10 Jul 2017  Â·  2Comments  Â·  Source: ethereum/go-ethereum

System information

Geth/v1.6.6-stable-10a45cb5/linux-amd64/go1.8.1
Geth version: v1.6.6-stable-10a45cb5
OS & Version: linux-amd64
Commit hash : 10a45cb5

Expected Behavior

After unlocking my account I am able to make a transaction from an attached geth client. However I AM able to make transactions via rpc

Actual Behavior

I get an error:

Error: could not decrypt key with given passphrase at web3.js:3104:20 at web3.js:6191:15 at web3.js:5004:36 at <anonymous>:1:1

Steps to reproduce the behaviour

````

personal.unlockAccount(eth.accounts[2], "thepassword", 150000)
true
personal.sendTransaction({from:eth.accounts[2], to: eth.accounts[1], value: 20000000})
````

Backtrace

Error: could not decrypt key with given passphrase at web3.js:3104:20 at web3.js:6191:15 at web3.js:5004:36 at <anonymous>:1:1

More Info:

I'm running geth with a private testnet and attaching to it using geth attach

geth --datadir .ethereum-test --rpc --rpcapi eth,net,web3,personal --rpccorsdomain http://localhost:3000 \
 --etherbase 0xf3a973e9aa30199d715dda4802c16c182667cbd4 --networkid 123039281 \
 --password .testnet-password \
 --unlock 1febb79b4add1f6d8aa5865c3341df8d94a49382,42b2a971661f385387d5106a6a2be45b312c0c4b,f3a973e9aa30199d715dda4802c16c182667cbd4 
--bootnodes $TESTNET_BOOTNODES js ./scripts/mine.js

# and in another tab
geth attach ipc:.ethereum-test/geth.ipc

I am still able to make transactions with the account via rpc

I believe this stackoverflow question is related, Originally asked 4 months ago

Most helpful comment

The personal.sendTransaction method expects a second argument, the password to ephemerally unlock the account with and send the transaction in one go. If you don't provide a password, this endpoint defaults to the empty password, resulting in your issue.

If you want to use an already unlocked account to send a transaction (instead of the ephemeral unlock-and-send), you can do so with eth.sendTransaction.

All 2 comments

The personal.sendTransaction method expects a second argument, the password to ephemerally unlock the account with and send the transaction in one go. If you don't provide a password, this endpoint defaults to the empty password, resulting in your issue.

If you want to use an already unlocked account to send a transaction (instead of the ephemeral unlock-and-send), you can do so with eth.sendTransaction.

from the mouth of a thief

Sent from my iPhone

On Aug 21, 2018, at 12:20 AM, crabman96 notifications@github.com wrote:

Stop trying to get into something that’s not. Yours

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

phpsamsb picture phpsamsb  Â·  3Comments

prene picture prene  Â·  3Comments

carver picture carver  Â·  3Comments

bgrieder picture bgrieder  Â·  3Comments

aakilfernandes picture aakilfernandes  Â·  3Comments