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
}
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!
Ha ĐANG
"path/to/keystore"
Pfad unter--datadir
dem Knoten vorhanden ist, mit dem Sie sich verbindenEmurmotol
Ha ĐANG
"Invalid transaction signature."
in der neuesten Geth-Codebasis nicht finden.Emurmotol
Geth Version: 1.8.14-unstable Git Commit: 99e1a5e0fb6f238319042dd2c4c8468dc786a4b7
Build from SourceHa ĐANG