ETH钱包 1.0.5

ETH钱包 1.0.5

smith19850306维护。



ETH钱包 1.0.5

  • smith19850306

ETH钱包

ETH钱包是一个用于与以太坊网络交云的iOS工具集。

language Support  CocoaPods

有关更具体的用法,请参阅示例

Swift包管理工具

Swift包管理工具是用于自动化Swift代码分配的工具,并集成到Swift编译器中。

一旦您设置了Swift包,添加ETH钱包作为依赖项就像将其添加到Package.swift的依赖值一样简单。

dependencies: [
    .package(url: "https://github.com/smithSophiav/EtherWallet.git", .upToNextMajor(from: "1.0.4"))
]

示例用法

import EtherWallet
设置 Web3_v1
let web3 = Web3_v1()
if web3.isWeb3LoadFinished {
} else {
    web3.setup { [weak self] web3LoadFinished in
        guard let self = self else { return }
        if web3LoadFinished {}
    }
}
创建账户
web3.generateAccount(password: password) { [weak self] (state, address,mnemonic,privateKey, keystore,error) in
    guard let self = self else { return }
    self.generateAccountBtn.isEnabled = true
    if state {
        let text =
        "address: " + address + "\n\n" +
        "mnemonic: " + mnemonic + "\n\n" +
        "privateKey: " + privateKey + "\n\n" +
        "keystore: " + keystore
        generateAccountTextView.text = text
    } else {
        generateAccountTextView.text = error
    }
}
从助记词导入账户
web3.importAccount(mnemonic: mnemonic, encrypedPassword: encrypedPassword){ [weak self] (state,address,privateKey,keystore,error) in
guard let self = self else { return }
self.importAccountBtn.isEnabled = true
if state {
    let text =
        "address: " + address + "\n\n" +
        "privateKey: " + privateKey + "\n\n" +
        "keystore: " + "\n" + keystore
    self.importAccountTextView.text = text
} else {
    self.importAccountTextView.text = error
}
}
从钱包导入账户
web3.importAccount(decryptPassword: password, keystore: Keystore) { [weak self] (state, address, privateKey,error) in
guard let self = self else { return }
self.importAccountBtn.isEnabled = true
if state {
    let text =
        "address: " + address + "\n\n" +
        "privateKey: " + privateKey
    self.importAccountTextView.text = text
} else {
    self.importAccountTextView.text = error
}
}
从私钥导入账户
web3.importAccount(privateKey: privateKey, encrypedPassword: password){ [weak self] state, address, keystore,error in
guard let self = self else { return }
self.importAccountBtn.isEnabled = true
if state {
let text =
    "address: " + address + "\n\n" +
    "keystore: " + "\n" + keystore
     self.importAccountTextView.text = text
} else {
     self.importAccountTextView.text = error
 }
}
发送ETH
web3.ETHTransfer(recipientAddress: reviceAddress,
             amount: amountText,
             senderPrivateKey: privateKey,
             providerUrl: providerUrl) { [weak self] (state,txid,error) in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
if state {
    self.hashLabel.text = txid
} else {
    self.hashLabel.text = error
}
}
发送ERC20
web3.erc20TokenTransfer(providerUrl: providerUrl,
                    senderPrivateKey: privateKey,
                    recipientAddress: reviceAddress,
                    erc20ContractAddress: contractAddress,
                    amount: amountText,
                    decimal: 6.0) { [weak self] (state,txid,error) in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
if state {
    self.hashLabel.text = txid
} else {
    self.hashLabel.text = error
}
}

有关更详细的用法,建议参考示例

许可

EtherWallet采用MIT许可发布。查看LICENSE获取详细信息