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



我正在尝试探索以太坊并创建一个应用程序,让用户签署消息并验证消息。 我为此使用 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);

下面是一个示例,如何在项目的测试中对事务进行签名:

最新更新