繁体   English   中英

web3j 中凭证的钱包路径是什么?

[英]What is the wallet path for credentials in web3j?

我正在使用自述指南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文件复制到我的主机吗?

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

Credentials.create(privateKey)

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

我不建议使用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:

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

Credentials credentials = Credentials.create(privateKey);
val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
            val test = Credentials.create(k)

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM