Awesome
Introduction
EtherWalletKit is an Ethereum Wallet Toolkit for iOS.<br><br> I hope cryptocurrency and decentralized token economy become more widely adapted. However, some developers hesitate to add a crypto wallet on apps since blockchian and cryptocurrency are complex and require many new knowledge. <br><br> Don't worry. <br>With EtherWalletKit, you can implement an Ethereum wallet without a server and blockchain knowledge.
Features
Released Features
- Creating/Importing an account(address and private key)
- Checking Ether and tokens balance
- Sending Ether and tokens to other addresses
- Browsing token information
- Testnet(Rinkeby) support
Planned Features
- Browsing transaction history
- Keystore / Mnemonics
- Custom configuration
- Multiple accounts
- Third party APIs
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
To integrate EtherWalletKit into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'EtherWalletKit'
end
Then, run the following command:
$ pod install
Quick Start
0. Don't forget to import it
import EtherWalletKit
1. Create an Ethereum Wallet
// Generate a new account with its new password.
try? EtherWallet.account.generateAccount(password: "ABCDEFG")
// Import an existing account from its private key and set its new password.
try? EtherWallet.account.importAccount(privateKey: "1dcbc1d6e0a4587a3a9095984cf051a1bc6ed975f15380a0ac97f01c0c045062, password: "ABCDEFG")
Note: password
will be encrypted and saved to the device and it will be required to access the wallet.
2. Get balance
// Get balance of Ether
EtherWallet.balance.etherBalance { balance in
print(balance)
}
// Get balance of a token
EtherWallet.balance.tokenBalance(contractAddress: "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07") { balance in
print(balance)
}
3. Send
// send Ether to an address.
EtherWallet.transaction.sendEther(to: "0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE", amount: "1.5", password: "ABCDEFG") { txHash in
print(txHash)
}
// send a token to an address.
EtherWallet.transaction.sendToken(to: "0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE", contractAddress: "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07", amount: "20", password: "ABCDEFG", decimal: 18) { txHash in
print(txHash)
}
Note: password
should be eqaul to the password of wallet created. Also you can put gasPrice
as an extra parameter to set gas price for the transcation.
Contribution
- Make sure you have a GitHub account
- Create a GitHub pull request for your contribution
- Clearly describe the issue or feature.
- Fork the repository on GitHub
- Create a topic branch from where you want to base your work. (Gitflow is welcome)
- Please avoid working directly on the
master
branch.
- Please avoid working directly on the
- Make sure you have added the necessary tests for your changes and make sure all tests pass.
Donation
Only aceept cryptocurrency :joy: <br>
ETH: 0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE
License
EtherWalletKit is available under the MIT license. See the LICENSE file for more info.