Ungültige Transaktionssignatur beim Senden der Transaktion

Hallo Leute, ich habe eine "ungültige Transaktionssignatur". Fehler. Daran komme ich nicht vorbei. Übersehe ich etwas?

client, err := ethclient.Dial("path/to/geth.ipc")
if err != nil {
    return err
}
ks := keystore.NewKeyStore("path/to/keystore", keystore.StandardScryptN, keystore.StandardScryptP)

to := common.HexToAddress("0x999b010976f0fb4d4e43646bc6c8fbd9ea7f5323")
from := common.HexToAddress("0x53a8368b7f6d140cdb5e0bf6dce0cbe9e6934430")
data := []byte("Lorem ipsum")
value := big.NewInt(10000000000000000)

gasPrice, err := client.SuggestGasPrice(context.Background())
if err != nil {
    return err
}

msg := ethereum.CallMsg{
    From:     from,
    To:       &to,
    GasPrice: gasPrice,
    Value:    value,
    Data:     data,
}
gasLimit, err := client.EstimateGas(context.Background(), msg)
if err != nil {
    return err
}

nonce, err := client.PendingNonceAt(context.Background(), from)
if err != nil {
    return err
}

newTx := types.NewTransaction(nonce, to, value, gasLimit, gasPrice, data)
networkID, err := client.NetworkID(context.Background())
if err != nil {
    return err
}

signedTx, err := ks.SignTxWithPassphrase(accounts.Account{Address: from}, "secret", newTx, networkID)
if err != nil {
    return err
}

if err := client.SendTransaction(context.Background(), signedTx); err != nil {
    return err // Error triggered here
}
Bitte bestätigen Sie, dass die Keystore-JSON-Datei Ihres Kontos im "path/to/keystore"Pfad unter --datadirdem Knoten vorhanden ist, mit dem Sie sich verbinden
Ja, es existiert das Passwort, die Netzwerk-ID ist auch korrekt, wenn ich die Werte ausgebe.
Welche Geth-Version verwenden Sie, kann ich "Invalid transaction signature."in der neuesten Geth-Codebasis nicht finden.
Ich verwende Geth Version: 1.8.14-unstable Git Commit: 99e1a5e0fb6f238319042dd2c4c8468dc786a4b7Build from Source
Okay, lassen Sie mich versuchen, auf meinem Local zu laufen, um zu sehen, was passiert

Antworten (1)

Ich habe Ihren Quellcode verwendet und kann problemlos auf meinem lokalen Gerät ausgeführt werden. Ich habe den Code in Github eingefügt, bitte überprüfen Sie ihn.

https://github.com/hadv/ipc-client

tnx wurde übermittelt und vom Knoten erfolgreich abgebaut.

INFO [08-31|16:58:32.050] Setting new local account                address=0xE348073d55AdE0Ef0E5696bA51D5565003233D0C
INFO [08-31|16:58:32.051] Submitted transaction                    fullhash=0xff173c546e3bbd345013348c85e8921ccf7e9aed23e74af044843d5e54e04754 recipient=0xD5089c1Fdf8ceBF58c6bBb50a86C1c55893634b8

Es scheint, dass Sie irgendwo in der Knotenkonfiguration etwas falsch machen!