Web3js
如何讓 TestRpc 公開生成帳戶的公鑰
一開始我的學習曲線很陡峭。我目前的目標是建立一個包含 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);