Go-Ethereum
Geth Android 中的序列化
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()
我得到這樣的回應。
{"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid RLP.","data":"RlpIncorrectListLen"},"id":1}
請知道答案的人幫助我。
Geth 交易對像有一個方法 encodeRLP() - 此方法的結果是您需要發送到 etherscan 的結果 - 而不是簽名雜湊