Java web3j 智能合约调用问题

2022-01-21 23:25:50 +08:00
 svt

就想问一下,到底生成凭证的时候,传递的 publicKey privateKey 是个什么东西(私钥我理解,公钥不知道是什么)

我现在是通过 matemask 生成的钱包地址,可以拿到私钥,但是生成凭证的时候需要传公钥私钥,公钥看起来也不是钱包地址,到底是什么啊,我快不行了,看的我懵逼死了,大哥们,救救孩子吧。

如图: https://i.bmp.ovh/imgs/2022/01/b85f52632ac6e343.png

另,如果有擅长 java 调用智能合约的小伙伴,可以留个联系方式,咨询一些调用智能合约的问题,有偿服务,您如果不喜欢直接给钱,给您充点话费,买点什么礼包,总之不让您白来,最近学的是在太困了,求助求助

1194 次点击
所在节点    问与答
10 条回复
tangtj
2022-01-22 00:11:33 +08:00
我最近也在学这方面。
你要不试试下面这个 只需要私钥的
svt
2022-01-22 00:14:34 +08:00
唉,网上资料感觉少而不全,兄弟有没有什么比较高效的方式
@tangtj
tangtj
2022-01-22 00:29:04 +08:00
@svt 我最近也苦于无资料,正在折腾
enki0423
2022-01-22 00:47:20 +08:00
基础密码学知识吧,私钥用于签名 /解密,公钥用于验证签名 /加密,建议学习一下非对称密码原理
enki0423
2022-01-22 00:48:39 +08:00
而且公钥一般都是可以从私钥算出来的,你都有私钥了,还怕拿不到公钥么
wanglz111
2022-01-22 00:52:11 +08:00
Hconk
2022-01-22 00:54:14 +08:00
matemask 是先生成助记词,通过 bip 协议衍生出不同路径的下私钥,有私钥就能计算出公钥( ECDSA-secp256k1 ),有了公钥就能计算出地址(经过 Keccak-256 hash 后截取部分),不同衍生路径就能得到不同的钱包地址。合约调用也是构建交易,交易发到链上会通过 evm 虚拟机执行,执行时候会根据交易签名判断发出交易的地址是否有权限,权限是通过智能合约里面做限制,这块找找 solidity 都文章看看就行了。
wanglz111
2022-01-22 00:55:10 +08:00
最近在跟着学 web3+smart contract 的审计.
实际上感觉资料多数都是 solidity+js/ts.
改一下方向相关资料就多了,如果非 java 不可的话,我感觉从 web3j 的文档入手吧
Hconk
2022-01-22 01:00:52 +08:00
建议先用 nodejs 跟合约交互,把概念搞清楚,感觉 web3.js 的更完善,资料也多些。
svt
2022-01-22 15:36:19 +08:00
@enki0423
@wanglz111
@Hconk
@wanglz111 感谢各位大佬

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX