EthereumKit is a Swift framework that enables you to create Ethereum wallet and use it in your app.
// BIP39: Generate seed and mnemonic sentence.
let mnemonic = Mnemonic.create()
let seed = Mnemonic.createSeed(mnemonic: mnemonic)
// BIP32: Key derivation and address generation
let wallet = try! Wallet(seed: seed, network: .main)
// Send some ether
let rawTransaction = RawTransaction(
ether: try! Converter.toWei(ether: "0.00001"),
to: address,
gasPrice: Converter.toWei(GWei: 10),
gasLimit: 21000,
nonce: 0
)
let tx = try! wallet.signTransaction(rawTransaction)
geth.sendRawTransaction(rawTransaction: tx) { result in
// Do something...
}
Set up
- Run
make bootstrap
Features
- Mnemonic recovery phrease in BIP39
- BIP32/BIP44 HD wallet
- EIP55 format address encoding
- EIP155 replay attack protection
- Sign transaction
- ERC20 token transfer
Documentations
Requirements
- Swift 4.0 or later
- iOS 9.0 or later
Installation
Carthage
- Insert
github "yuzushioh/EthereumKit"
to your Cartfile. - Run
carthage update --platform ios
.
Dependency
- CryptoEthereumSwift: Ethereum cryptography implementations for iOS framework
Apps using EthereumKit
- gnosis/safe-ios: Gnosis Safe is a multi signature (2FA) wallet for personal usage.
- popshootjapan/WeiWallet-iOS: Wei Wallet for iOS
Author
Ryo Fukuda, @yuzushioh, [email protected]
License
EthereumKit is released under the Apache License 2.0.