Blockchain web3j中凭证的钱包路径是什么?
我正在使用自述指南 我感兴趣的是开发智能合约,从使用Java+Web3j的主机到运行在虚拟机上的专用以太坊网络 有这样几条线:Blockchain web3j中凭证的钱包路径是什么?,blockchain,ethereum,web3,web3-java,Blockchain,Ethereum,Web3,Web3 Java,我正在使用自述指南 我感兴趣的是开发智能合约,从使用Java+Web3j的主机到运行在虚拟机上的专用以太坊网络 有这样几条线: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/ Credentials credentials = WalletUtils.loadCredentials("password", "/path/to/walletfile"); 因此,问题是: 我应该
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)
您可以使用密钥库文件和MyTherWallet查看您的私钥
val k = ECKeyPair.create(BigInteger(credentialsOne.ecKeyPair.privateKey.toString()))
val test = Credentials.create(k)
像纯文本一样传递私钥可以给你一些陌生的结果,在ECKeyPair中传递他,然后你就可以访问你的公钥和地址。
我正在用kotlin开发android,我没有任何问题
wallet路径是保存json的地方,每次您想要获取密钥时,必须放置相同的路径和密码短语。loadCredentials()方法在第一个参数中获取密码,在第二个参数中获取您已经创建的wallet UTC文件的路径。 如果不创建任何钱包,则应首先创建钱包
By WalletUtils.createWallet()提供密码和保存utc文件的路径成功创建wallet后,utc文件将保存在您提供的位置,然后您可以使用WalletUtils.loadCredentials()加载凭据并签署交易我不建议使用
WalletUtils.loadCredentials()
因为可能会出现故障
我建议你:
1.使用以下方法在web3j中或与web3j一起创建帐户:web3j wallet Create
2.提取私钥或密码和钱包文件
3.使用凭证。创建()
备选方案1:
如果您有密码和walletfile,您可以使用:
Credentials credentials = Credentials.create(Wallet.decrypt(password, walletFile));
Credentials credentials = Credentials.create(getEcKeyPair());
Credentials credentials = Credentials.create(privateKey);
备选方案2:
如果您有EcKeyPair,您可以使用:
Credentials credentials = Credentials.create(Wallet.decrypt(password, walletFile));
Credentials credentials = Credentials.create(getEcKeyPair());
Credentials credentials = Credentials.create(privateKey);
备选方案3:
如果您有私钥,您可以使用:
Credentials credentials = Credentials.create(Wallet.decrypt(password, walletFile));
Credentials credentials = Credentials.create(getEcKeyPair());
Credentials credentials = Credentials.create(privateKey);