问题描述
为什么交易没有出现在主网上?我正在尝试通过向自己发送零 eth 来存储数据。下面的代码在 ropsten 上运行良好,但在主网上不运行。 gas价格和限制高于我使用MetaMask手动设置数据时使用的价格。我的钱包里有 0.0137 ETH。我尝试过长时间超时(10 分钟)的 sendAsync。该代码与 web3j 的示例代码 http://docs.web3j.io/latest/getting_started/interacting_with_node/#send-ether 非常相似。下面的代码在 Kotlin 中。
fun writeData(dataToStore: String,publicKey: String,privateKey: String): String {
val nonce = web3j
.ethGetTransactionCount(publicKey,DefaultBlockParameterName.LATEST)
.send()
.transactionCount
val dataAsByteArray = dataToStore.toByteArray(Charsets.UTF_8)
val dataAsHexString: String = Numeric.toHexString(dataAsByteArray)
val toAddress = publicKey
val gasPrice = BigInteger.valueOf(140_000_000_000L)
val gasLimit = BigInteger.valueOf(150_000L)
val rawTransaction = RawTransaction.createTransaction(
nonce,gasPrice,gasLimit,toAddress,dataAsHexString
)
val credentials = Credentials.create(privateKey)
val signedMessage: ByteArray = TransactionEncoder
.signMessage(rawTransaction,credentials)
val hexValue = Numeric.toHexString(signedMessage)
return web3j.ethSendRawTransaction(hexValue).send().transactionHash
?: throw Exception("Something went wrong")
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)