如何使用 web3 的个人扩展签署个人信息?



我正在用 web3swift 由 matter inc. 制作一个 Dapp。我遇到的一种方法是 web3.个人分机:

public func signPersonalMessage(message: Data, from: 
web3swift.EthereumAddress, password: String = default) -> 
Result.Result<Data, web3swift.Web3Error>

我像这样尝试:

let web3 = Web3.InfuraMainnetWeb3()
let res = web3.personal.signPersonalMessage(message: msgHash!, 
from: self.keystore.getAddress()!, password: password)

但我得到的总是一个 Web3ConnectionError。我猜一定没有正确的方式。 因此,任何获取 web3 可用实例的提示。个人,并调用 signPersonalMessage 方法?谢谢:)

顺便说一下,Web3.Utils.signPersonalMessage方法不是我想要的。

请检查您是否有附加到 web3 对象的密钥库。如果没有本地密钥库,则消息将发送到远程节点进行签名,但 Infura 节点不包含任何私钥。

如果问题仍然存在,请打开一个问题 在 gitHub 存储库上。

附言我是web3swift的作者,所以将所有问题都保留在github上可以让我更好地做出回应

最新更新