为什么web3 1.0 的接口有personal_*和eth_*的,两者有什么不同
看https://github.com/ethereum/EIPs/pull/712
Why personal_* namespace instead of eth_* namespace?
I believe the personal_
prefix was an attempt to separate key-signing/account management operations from state-reading operations. Ideally, an RPC node only provides eth_*
endpoints, and the wallet/signer handles the personal_*
space. Since it involves signing with keys, the current pattern suggests this belongs in the personal space.
这个包中的许多函数包含敏感信息,例如密码,即当一些调用的函数需要用到密钥等敏感信息时,这些函数都会分配到personal_*
中,独立出来,不再与eth_*
混合在一起
⚠️不要在未加密的 websocket或http服务提供器上调用这些函数,因为你的密码是明文发送的!