ios – 使用用户的私钥对任何消息进行签名,并验证以太坊上的签名

我正在尝试探索以太坊并创建一个让用户签名消息并验证消息的应用程序.
我正在使用web3swift框架,到目前为止我尝试的内容如下 –

    let web3Rinkeby = Web3.InfuraRinkebyWeb3()
    let msgStr = "This is my first Ethereum App";
    let data = msgStr.data(using: .utf8)
    let signMsg = web3Rinkeby.wallet.signPersonalMessage(data!, account: address);

    print(signMsg);

但我不确定这是否正确以及如何验证任何消息.请帮忙.

最佳答案
好像,您没有指定确切的地址.
这是一个例子:

let web3Rinkeby = Web3.InfuraRinkebyWeb3()

/// 
    let keystore = try! EthereumKeystoreV3(password: "")
    let keystoreManager = KeystoreManager([keystore!])
    web3Rinkeby.addKeystoreManager(keystoreManager)
    let address = keystoreManager.addresses![0]
///

let msgStr = "This is my first Ethereum App";
let data = msgStr.data(using: .utf8)
let signMsg = web3Rinkeby.wallet.signPersonalMessage(data!, account: address);

print(signMsg);

这是一个例子,如何在tests of the project中签署交易:

转载注明原文:ios – 使用用户的私钥对任何消息进行签名,并验证以太坊上的签名 - 代码日志