我正在使用自述文件指南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
文件复制到主机?
发布于 2017-12-08 03:48:32
WalletUtils.loadCredentials可能有错误,我建议您提前创建帐户,然后您可以提取私钥并使用
Credentials.create(privateKey)
您可以使用keystore文件并使用myetherwallet来查看您的私钥。
发布于 2018-09-24 15:06:48
我不推荐使用WalletUtils.loadCredentials()
,因为它可能有很多buggy。
我推荐你:
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);
发布于 2018-02-07 22:51:51
val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
val test = Credentials.create(k)
像传递纯文本一样传递私钥可以给你一些奇怪的结果,在ECKeyPair中传递他,然后你就可以访问你的公钥和地址了。我正在和kotlin一起在android上开发,我没有任何麻烦
钱包路径是保存json的位置,每次想要获取密钥时,都必须输入相同的路径和密码。
https://stackoverflow.com/questions/44259294
复制相似问题