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

问题描述 投票:3回答:4

我正在使用自述指南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");

所以问题是:

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

blockchain ethereum web3 web3-java
4个回答
2
投票

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

Credentials.create(privateKey)

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


2
投票

我不建议使用WalletUtils.loadCredentials()因为可能是马车。

我推荐你:

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

2.提取私钥或密码和walletfile。

3.使用Credentials.create()

备选方案1:

如果您有密码和walletfile,您可以使用:

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

备选方案2:

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

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

备选方案3:

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

Credentials credentials = Credentials.create(privateKey);

1
投票
val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
            val test = Credentials.create(k)

像普通文本一样传递私钥可以给你一些陌生人的结果,将他传递给ECKeyPair,然后你就可以访问你的公钥和地址了。我正在使用kotlin开发android,我没有任何麻烦

钱包路径是你的json将被保存的地方,每当你想要获得你的钥匙时,你必须使用相同的路径和密码短语


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.