【问题标题】:Getting NumberFormatException with Hedera Java SDK setup使用 Hedera Java SDK 设置获取 NumberFormatException
【发布时间】:2021-08-23 02:13:27
【问题描述】:

我被困在某一点上。 函数调用无法从 .env 文件中读取数据。

这是主文件:

 public static void main(String[] args) throws HederaReceiptStatusException, TimeoutException, HederaPreCheckStatusException {

        //Grab your Hedera testnet account ID and private key
        AccountId myAccountId = AccountId.fromString(Dotenv.load().get("MY_ACCOUNT_ID"));
        PrivateKey myPrivateKey = PrivateKey.fromString(Dotenv.load().get("MY_PRIVATE_KEY")); 
......

这是.env 文件:


MY_ACCOUNT_ID=TESTNET ACCOUNT ID(0.0.1755600)
MY_PRIVATE_KEY=TESNET PRIVATE KEY(302e020100300506032b657004220420c802435424acd5c73733473532551277503ffd4dcccd1042fc657907828708a5)

【问题讨论】:

  • 你能显示你得到的异常吗?
  • 您意识到您刚刚将完整的私人登录详细信息粘贴到了公共网站上,对吧?
  • TESTNET 和 TESNET,错字
  • 这里没有什么可以抛出NumberFormatException。问题一定出在AccountId.fromString()PrivateKey.fromString(),你都没有发过。并且不要在任何地方发布私钥,更不用说在 Internet 上。您现在必须重新键入您的应用程序。

标签: java hedera-hashgraph


【解决方案1】:

应用程序似乎已尝试将字符串转换为其中一种数字类型,但该字符串没有适当的格式。

请参阅 java 文档以获取 NumberFormatException

【讨论】:

    【解决方案2】:

    尝试将您的 .env 文件更改为如下所示:

    MY_ACCOUNT_ID=0.0.1755600
    MY_PRIVATE_KEY=302e020100300506032b657004220420a802435424acd5c73733473532551277503ffd4dcccd1042fc659907828708a5
    

    refer docs

    【讨论】:

    • 您是否神奇地知道 OP 的私有应用程序文件的正确格式?
    • @OneCricketeer OP 最初有 MY_ACCOUNT_ID=TESTNET ACCOUNT ID(0.0.1755600)。他们需要删除TESTNET ACCOUNT ID 及其括号,改为MY_ACCOUNT_ID=0.0.1755600。由于当前使用 .env,它告诉 Hedera 网络他们的帐户 ID 是 TESTNET ACCOUNT ID(0.0.1755600) 而不是 0.0.1755600。必须对其MY_PRIVATE_KEY 进行相同的更改。
    • 如果您提供了指向正确格式值的 Hedera 文档的链接,那么答案似乎很好。否则,这似乎是一个猜测,因为您不知道预期的 Numberformat。更具体地说,如果没有看到完整的堆栈跟踪,我们无法知道这两个 fromString 方法是否应该去掉前缀 TESTNET...(
    • @OneCricketeer 当然,有道理。这是文档,请参阅“来自 .env 文件”-docs.hedera.com/guides/docs/sdks/client
    猜你喜欢
    • 1970-01-01
    • 2019-11-18
    • 2018-02-23
    • 1970-01-01
    • 2018-08-16
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多