I created a transaction in Go, signed it with a EIP155Signer
signer, but when I try to publish the transaction through the Go client to the private blockchain, I get the error Invalid sender
. Any idea what's happening here? Frustrated by this.
This issue seems to have the same error: https://github.com/ethereum/web3.js/issues/566
The transaction gets signed correctly (string output below), but the From
field is never populated, and I'm unable to set it in Go because it's ana hidden struct field that is internally set by the EIP155Signer
tx before sign=
TX(e694193e2f4d6dc099444ff0057456e23cafe0f8035c7c70daf688bc2bf5546a)
Contract: false
From: [invalid sender: invalid sig]
To: b424f3bcc3da6f54f27f5f4af0c9c18d567702e6
Nonce: 0
GasPrice: 0x0
GasLimit 0x0
Value: 0x0
Data: 0x746865626573746461746165766572
V: 0x0
R: 0x0
S: 0x0
Hex: ec80808094b424f3bcc3da6f54f27f5f4af0c9c18d567702e6808f746865626573746461746165766572808080
signed tx=
TX(ff6c011c7527f74e00fde94f6a4a5e523211f21f221c0b7133bf723486b3284c)
Contract: false
From: [invalid sender: invalid sig]
To: b424f3bcc3da6f54f27f5f4af0c9c18d567702e6
Nonce: 0
GasPrice: 0x0
GasLimit 0x0
Value: 0x0
Data: 0x746865626573746461746165766572
V: 0x0
R: 0x91a89e1ee55cc959572c050780301701c7f02436701db5961ccb01d556c2e708
S: 0x699559f036a1153b2f979cd01ee9b0beb0e889c8aaab0dbd5a46dd7931842f02
Hex: f86c80808094b424f3bcc3da6f54f27f5f4af0c9c18d567702e6808f74686562657374646174616576657280a091a89e1ee55cc959572c050780301701c7f02436701db5961ccb01d556c2e708a0699559f036a1153b2f979cd01ee9b0beb0e889c8aaab0dbd5a46dd7931842f02
Seems that the sender can't be derived according to this source file when the transaction is printed: https://github.com/ethereum/go-ethereum/blob/8771c3061f340451d0966adcc547338a25f2231f/core/types/transaction.go#L273