我正在通过物质公司制作一个带有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方法不是我想要的。
答案 0 :(得分:1)
请确保您已将密钥库附加到web3对象。如果没有本地密钥库,则消息将发送到远程节点进行签名,但是Infura节点不包含任何私钥。
如果问题仍然存在,请打开一个问题 on gitHub repo。
P.S。我是web3swift的作者,因此将所有问题保留在github上可以使我做出更好的响应