Подпишите любое сообщение закрытым ключом пользователя и проверьте подпись на Ethereum - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь изучить Ethereum и создаю приложение, которое позволяет пользователю подписывать сообщение и проверять его.Для этого я использую инфраструктуру 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);

, но я не уверен, правильно ли это и как проверить любое сообщение.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 октября 2018

Кажется, что вы не указали точный адрес.Вот пример:

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);

Вот пример того, как подписывать транзакции в тестах проекта :

...