Linked Questions

1
vote
2answers
549 views

ecrecover in solidity returning null address [duplicate]

I need help with Ethereum address verification. I'm following the tutorial on signing and validating Ethereum address. GitHub code. I'm confused by my actual result of the address after I ran ...
33
votes
6answers
23k views

ecrecover from Geth and web3.eth.sign

I have tried to use ecrecover() to verify the signature of a message. I have looked at lots of references here and elsewhere, like: https://lab-blog.ey.com/2016/12/19/ecrecover/ How does one ...
28
votes
1answer
14k views

Ethereum ecrecover signature verification and encryption

The question of signing and verifying signatures with Solidity has been asked in these questions, both of which I have tried to study: How can I sign a piece of data with the private key of an ...
15
votes
2answers
10k views

How can I verify a signature with the web3 javascript API?

Using the javascript web3 API I can create a signature like this: > web3.eth.sign(eth.coinbase, "0xdeadbeef") "...
16
votes
1answer
5k views

Does ecRecover in solidity expects the "\x19Ethereum Signed Message:\n"-prefix

I struggle heavy to actually recover the ethereum address from a hash and the {r, s, v} from a signature with the ecRecover-method in solidity. What i want is to sign another ethereum-address. So i ...
9
votes
1answer
7k views

Getting an address from ethereumjs-utils ecrecover

I am trying to sign a string using web3.eth.sign() and then get the public key I signed with from the signature. To do this I am using ecrecover() from ethereumjs-utils, which returns a buffer. When I ...
16
votes
1answer
3k views

Getting the wrong address back from ecrecover

When I sign a string using the following code I get back a different address to the one I signed with. The address returned is different for different strings. const util = require('ethereumjs-util') ...
2
votes
3answers
4k views

Should signed text messages use the "\x19Ethereum Signed Message" prefix?

Background: I want to implement sign message feature in Trezor. Is there a standard for signing text messages? So far I found out that etherscan.io signs messages without the prefix, i.e. it signs ...
3
votes
1answer
1k views

Unable to verify signature returned by JSON-RPC `eth_sign` method

I am attempting to verify a signature returned by the eth_sign JSON-RPC method. https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign The verification is done using the following python code and ...
6
votes
2answers
730 views

Issue while trying to verify signature

I am using the following to sign a message var str="Trial with signature"; text=web3.sha3(str); var sig=web3.eth.sign(eth.accounts[0],text); Now after obtaining the hash value from the text and ...
3
votes
1answer
850 views

I need help with signatures

So, for my studies, I am supposed to interact with a contract function that has the following built in condition: if (ecrecover(_h, _v, _r, _s) == msg.sender && _h == sha3(this)) I am ...
4
votes
1answer
416 views

Verifying Bicoin signed message in Ethereum smart contract

I'd like to explore the option to verify the messages that have been signed in Bitcoin wallets in Ethereum smart contracts. Ethereum smart contract is given a list of Bitcoin addresses Ethereum smart ...
3
votes
1answer
635 views

Ecrecover after eth_sign update with preamble

I've just discovered that with b59c839 geth is now pre-appending the string: *\x19Ethereum Signed Message:\n<length of message>* before signing the passed message. I've read here that to use ...
0
votes
0answers
71 views

Workflow to verify a user signature from a backend service

I have a frontend web application that creates a message and asks the user to sign it via, for example, metamask. The user signs the message and now I have a signed message hash. Is there a common/...
1
vote
1answer
37 views

Is it considered secure at all to use passwords and private keys in the code of smart contract?

Basically something like: function transfer(address to, string privkey) { if(privkey == "cd33434343...") { msg.sender.transfer(this.balance); } } The above is obviously flawed since the privkey is ...