就想问一下,到底生成凭证的时候,传递的 publicKey privateKey 是个什么东西(私钥我理解,公钥不知道是什么)
我现在是通过 matemask 生成的钱包地址,可以拿到私钥,但是生成凭证的时候需要传公钥私钥,公钥看起来也不是钱包地址,到底是什么啊,我快不行了,看的我懵逼死了,大哥们,救救孩子吧。
如图: https://i.bmp.ovh/imgs/2022/01/b85f52632ac6e343.png
另,如果有擅长 java 调用智能合约的小伙伴,可以留个联系方式,咨询一些调用智能合约的问题,有偿服务,您如果不喜欢直接给钱,给您充点话费,买点什么礼包,总之不让您白来,最近学的是在太困了,求助求助
1
tangtj 2022-01-22 00:11:33 +08:00
我最近也在学这方面。
你要不试试下面这个 只需要私钥的 |
4
enki0423 2022-01-22 00:47:20 +08:00 via iPhone
基础密码学知识吧,私钥用于签名 /解密,公钥用于验证签名 /加密,建议学习一下非对称密码原理
|
5
enki0423 2022-01-22 00:48:39 +08:00 via iPhone
而且公钥一般都是可以从私钥算出来的,你都有私钥了,还怕拿不到公钥么
|
6
wanglz111 2022-01-22 00:52:11 +08:00
|
7
Hconk 2022-01-22 00:54:14 +08:00 via iPhone
matemask 是先生成助记词,通过 bip 协议衍生出不同路径的下私钥,有私钥就能计算出公钥( ECDSA-secp256k1 ),有了公钥就能计算出地址(经过 Keccak-256 hash 后截取部分),不同衍生路径就能得到不同的钱包地址。合约调用也是构建交易,交易发到链上会通过 evm 虚拟机执行,执行时候会根据交易签名判断发出交易的地址是否有权限,权限是通过智能合约里面做限制,这块找找 solidity 都文章看看就行了。
|
8
wanglz111 2022-01-22 00:55:10 +08:00
最近在跟着学 web3+smart contract 的审计.
实际上感觉资料多数都是 solidity+js/ts. 改一下方向相关资料就多了,如果非 java 不可的话,我感觉从 web3j 的文档入手吧 |
9
Hconk 2022-01-22 01:00:52 +08:00 via iPhone
建议先用 nodejs 跟合约交互,把概念搞清楚,感觉 web3.js 的更完善,资料也多些。
|