Web3js

如何讓 TestRpc 公開生成帳戶的公鑰

  • February 7, 2018

一開始我的學習曲線很陡峭。我目前的目標是建立一個包含 TestRpc、Truffle 和 Web3j 的測試環境(哇)。

Web3j 按預期工作,並為著名的 HelloWorld 合約生成了一個 Java 包裝器。TestRpc 也按預期工作,並在圖像中顯示。

https://goo.gl/images/V96znv 圖片:這個是從網上拿的,但是是一樣的

該圖顯示了地址和私鑰。如果您使用 TestRpc,我假設您已經看過很多次了。

所以回到我的簡單問題。我在哪里或如何獲取 TestRpc 控制台中顯示的帳戶的公鑰?

Testrpc 為您提供每個帳戶的私鑰。要接收相應的公鑰,您只需將曲線的基點乘以私鑰即可。這可以使案例如 bouncycastle 來完成。

secp256k1 的基點是 G=(gx,gy),其中:

gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240 gy

事實上很容易:

import org.web3j.crypto.ECKeyPair;   
import org.web3j.utils.Numeric;

final ECKeyPair keyPair = ECKeyPair.create(Numeric.toBigInt("0x"));
BigInteger publicKey = keyPair.getPublicKey();

//later to be use in Web3j you may need
Credentials credentials = Credentials.create(keyPair);

引用自:https://ethereum.stackexchange.com/questions/17854