我正在使用 Matter Inc. 的 web3swift 制作一个 Dapp。我遇到的一种方法是 web3.Personal 扩展之一:
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.Personal 的可用实例并调用 signPersonalMessage 方法吗?谢谢:)
顺便说一句,Web3.Utils.signPersonalMessage方法不是我正在寻找的。p>
最佳答案
请检查您是否有一个 keystore 附加到 web3 对象。如果没有本地 keystore ,则消息将发送到远程节点进行签名,但 Infura 节点不包含任何私钥。
如果问题仍然存在,请打开一个问题 on gitHub repo .
附言我是 web3swift 的作者,因此将所有问题保留在 github 上可以让我更好地响应
关于ios - 如何使用web3的个人分机签署个人消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50794445/