Go-Ethereum

Geth Android 中的序列化

  • August 15, 2018
KeyStore keyStore = new KeyStore(seedFile.toString(), Geth.LightScryptN, Geth.LightScryptP);
byte[] jsonAccount = keyStore.exportKey(keyStore.getAccounts().get(0), seed, seed);
Account importAccount = keyStore.importKey(jsonAccount, seed, seed);

transaction = Geth.newTransaction(nonceValue, Geth.newAddressFromHex(toAddress), new BigInt(amount), gas, new BigInt(gasTransaction), null);
transaction = keyStore.signTxPassphrase(importAccount, seed, transaction, new BigInt(3));

通過使用此程式碼,我成功簽署了交易並成功獲得了所有價值。

然後我通過傳遞雜湊值來呼叫 API 來發送交易。

transaction.getSigHash().getHex()

https://api-ropsten.etherscan.io/api?module=proxy&action=eth_sendRawTransaction&hex=yourhex&apikey=YourApiKeyToken

我得到這樣的回應。

{"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid RLP.","data":"RlpIncorrectListLen"},"id":1}

請知道答案的人幫助我。

Geth 交易對像有一個方法 encodeRLP() - 此方法的結果是您需要發送到 etherscan 的結果 - 而不是簽名雜湊

引用自:https://ethereum.stackexchange.com/questions/56577