【问题标题】:What is the wallet path for credentials in web3j?web3j 中凭证的钱包路径是什么?
【发布时间】:2017-10-30 18:06:47
【问题描述】:

我正在使用自述指南https://github.com/web3j/web3j

我感兴趣的是从我的主机使用 Java + Web3j 开发智能合约到在我的虚拟机上运行的私有以太坊网络。

有这么几行:

Web3j web3 = Web3j.build(new HttpService());  // defaults to http://localhost:8545/
Credentials credentials = WalletUtils.loadCredentials("password", "/path/to/walletfile");

所以问题是:

我应该如何创建这个钱包?我应该在我的虚拟机上生成帐户,然后将wallet.json 文件复制到我的主机吗?

【问题讨论】:

    标签: blockchain ethereum web3 web3-java


    【解决方案1】:

    WalletUtils.loadCredentials 可能有问题,我建议您先创建帐户,然后您可以提取私钥并使用

    Credentials.create(privateKey)
    

    您可以使用密钥库文件并使用 myetherwallet 来查看您的私钥。

    【讨论】:

      【解决方案2】:

      我不建议使用WalletUtils.loadCredentials(),因为它可能会出错。

      我推荐你:

      1. 事先创建帐户,例如在myetherwallet 或使用web3j 使用:web3j wallet create

      2.提取私钥或密码和钱包文件。

      3.使用Credentials.create()

      备选方案 1:

      如果你有密码和钱包文件,你可以使用:

      Credentials credentials = Credentials.create(Wallet.decrypt(password, walletFile));
      

      备选方案 2:

      如果你有 EcKeyPair,你可以使用:

      Credentials credentials = Credentials.create(getEcKeyPair());
      

      备选方案 3:

      如果你有私钥,你可以使用:

      Credentials credentials = Credentials.create(privateKey);
      

      【讨论】:

        【解决方案3】:
        val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
                    val test = Credentials.create(k)
        

        像纯文本一样传递私钥可以给你一些奇怪的结果,将他传递到 ECKeyPair 中,然后你就可以访问你的公钥和地址。 我正在使用 kotlin 在 android 中开发,我没有任何问题

        钱包路径是保存你的 json 的地方,每次你想得到你的钥匙时,你都必须输入相同的路径和密码

        【讨论】:

          【解决方案4】:

          WalletUtils.loadCredentials() 方法在第一个参数中采用密码,在第二个参数中采用您已经创建的钱包 UTC 文件的路径。 如果不创建任何钱包,那么你应该首先创建钱包 通过 WalletUtils.createWallet() 提供密码和路径,您希望在成功创建钱包后保存 utc 文件,utc 文件将保存在您提供的位置,然后您可以使用 WalletUtils.loadCredentials() 加载凭据并签署交易

          【讨论】:

            猜你喜欢
            • 2020-03-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-08-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多