Invalid signature


#1

After signing a data/alias transaction, I was unable to view the transaction info “error: transaction not on blockchain” and when I try to broadcast the transaction I get an error message saying “message: State check failed. Reason: invalid signature”


#2

Hello!
Can you give more details, please? How do you sign tx?


#3

hello this the request parameter.

{
“version”: “1”,
“sender”: “3N5ZS2qpLbPZmimZMuaL6mFBe2nY2ivue4U”,
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
],
“type”: 12,
“fee”: 1000000
}
our response is like this
{
“type”: 12,
“id”: “52GG9U2e6foYRKp5vAzsTQ86aDAABfRJ7synz7ohBp19”,
“sender”: “3N5ZS2qpLbPZmimZMuaL6mFBe2nY2ivue4U”,
“senderPublicKey”: “CRxqEuxhdZBEHX42MU4FfyJxuHmbDBTaHMhM3Uki7pLw”,
“amount”: 100000,
“fee”: 100000,
“timestamp”: 1479313236091,
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
],

“proofs”: [
GknccUA79dBcwWgKjqB7vYHcnsj7caYETfncJhRkkaetbQon7DxbpMmvK9LYqUkirJp17geBJCRTNkHEoAjtsUm
],
“height”: 1210060
}


#4

You are working on TESTNET.

Do you broadcast on the same node which produced the response?

Basically, this transaction can be broadcasted to TESTNET, not MAINNET.


#5

Yes I broadcasted on same node on testnet


#6

And you did not change anything in the response?

Because, first, fees differ in the response and the request (100000 vs 1000000). Second strange thing is a height value, it is 1210060, there is no such height at TESTNET and there is no height field when you create a transaction. Third one, there is no amount field in data transaction.


#7

Below is the actual result
i did a data transaction
{
“version”: “1”,
“sender”: “3NB2pnYhuaQFdtqGZviMNV8RGjGEpz3pBha”,
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
],
“type”: 12,
“fee”: 10000
}

the result

{
“type”: 12,
“id”: “5p1frwTHUJpufVECm3U8Mo7pazzn4jWFFaGm1KDpeggx”,
“sender”: “3NB2pnYhuaQFdtqGZviMNV8RGjGEpz3pBha”,
“senderPublicKey”: “mNMqmN6h5AmiDqRUoC1Wr3Jy3XAg3XBynkE6XtV1CP6”,
“fee”: 10000,
“timestamp”: 1540649393984,
“proofs”: [
“33VJe46rgmJiHH8FHmRyGyaaEic5kL6zhuSCt4bCRbw7VdKj1wcwaNXg86MZ5hjRZPqhc7cmry97DPRo6tUm3jeG”
],
“version”: 1,
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
]
}

so i checked the transaction info i go this
{
“status”: “error”,
“details”: “Transaction is not in blockchain”
}

then broadcasting the transaction

{
“type”:12,
“senderPublicKey”:“mNMqmN6h5AmiDqRUoC1Wr3Jy3XAg3XBynkE6XtV1CP6”,
“fee”:1000000,
“timestamp”:1540649393984,
“proofs”: [ “33VJe46rgmJiHH8FHmRyGyaaEic5kL6zhuSCt4bCRbw7VdKj1wcwaNXg86MZ5hjRZPqhc7cmry97DPRo6tUm3jeG”
],
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
],
“version”:1
}

i got this error

{
“error”: 112,
“message”: “State check failed. Reason: Script doesn’t exist and proof doesn’t validate as signature for {“type”:12,“id”:“G4b4udXimfBynfqF1mBgDdvYDFHShurcHtB9Gkn3d3TT”,“sender”:“3NB2pnYhuaQFdtqGZviMNV8RGjGEpz3pBha”,“senderPublicKey”:“mNMqmN6h5AmiDqRUoC1Wr3Jy3XAg3XBynkE6XtV1CP6”,“fee”:1000000,“timestamp”:1540649393984,“proofs”:[“33VJe46rgmJiHH8FHmRyGyaaEic5kL6zhuSCt4bCRbw7VdKj1wcwaNXg86MZ5hjRZPqhc7cmry97DPRo6tUm3jeG”],“version”:1,“data”:[{“key”:“message”,“type”:“string”,“value”:“Yo whats up”}]}”,
“tx”: {
“type”: 12,
“id”: “G4b4udXimfBynfqF1mBgDdvYDFHShurcHtB9Gkn3d3TT”,
“sender”: “3NB2pnYhuaQFdtqGZviMNV8RGjGEpz3pBha”,
“senderPublicKey”: “mNMqmN6h5AmiDqRUoC1Wr3Jy3XAg3XBynkE6XtV1CP6”,
“fee”: 1000000,
“timestamp”: 1540649393984,
“proofs”: [
“33VJe46rgmJiHH8FHmRyGyaaEic5kL6zhuSCt4bCRbw7VdKj1wcwaNXg86MZ5hjRZPqhc7cmry97DPRo6tUm3jeG”
],
“version”: 1,
“data”: [
{
“key”: “message”,
“type”: “string”,
“value”: “Yo whats up”
}
]
}
}


#8

The result from a node does not equal to the transaction that you try to broadcast.

The signature for different data is obviously invalid.

Please, do not make changes in the result, just broadcast the result.

(Btw, a minimal fee for a data transaction is 100000 (for <=1kb) not 10000)


#9

thanks. is working now
https://testnet.wavesexplorer.com/tx/Cgc9Ft4r12RvNZmpuuAm4UJezPfgppgbhEsC1XdRnwxf