为什么交易没有出现在主网上?

问题描述

为什么交易没有出现在主网上?我正在尝试通过向自己发送零 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...