web3swift-alpha
web3swift-alpha is an iOS toolbelt for interaction with the Ethereum network.
The generation of wave field private keys, mnemonics, and Keystores is recommended TrustWalletCore
For more specific usage, please refer to the demo
CocoaPods
pod 'web3swiftAlpha', '~> 1.0.3'
Example usage
import Web3_v1
Setup Web3_v1
let web3 = Web3_v1()
if web3.isWeb3LoadFinished {
} else {
web3.setup { [weak self] web3LoadFinished in
guard let self = self else { return }
if web3LoadFinished {}
}
}
Send ETH
guard let reviceAddress = reviceAddressField.text,
let amountText = amountTextField.text, let privateKey = privateKeyTextView.text else { return }
let providerUrl = MainNet
web3.ETHTransfer(recipientAddress: reviceAddress,
amount: amountText,
senderPrivateKey: privateKey,
providerUrl: providerUrl) { [weak self] state, txid in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
}
Send ERC20
guard let reviceAddress = reviceAddressField.text,
let contractAddress = erc20AddressTextField.text,
let amountText = amountTextField.text,
let privateKey = privateKeyTextView.text else { return }
let providerUrl = MainNet
web3.erc20TokenTransfer(providerUrl: providerUrl,
senderPrivateKey: privateKey,
recipientAddress: reviceAddress,
erc20ContractAddress: contractAddress,
amount: amountText,
decimal: 6.0) { [weak self] state, txid in
guard let self = self else { return }
print("state = \(state)")
print("txid = \(txid)")
}
For more detailed usage methods, it is recommended to refer to demo
License
web3swift-alpha is released under the MIT license. See LICENSE for details.