Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SteadyAction/EtherWalletKit
Ethereum Wallet Toolkit for iOS - You can implement an Ethereum wallet without a server and blockchain knowledge.
https://github.com/SteadyAction/EtherWalletKit
blockchain coin crypto cryptocurrency cryptowallet ethereum ethereum-wallet ios swift token wallet
Last synced: 3 days ago
JSON representation
Ethereum Wallet Toolkit for iOS - You can implement an Ethereum wallet without a server and blockchain knowledge.
- Host: GitHub
- URL: https://github.com/SteadyAction/EtherWalletKit
- Owner: SteadyAction
- License: mit
- Created: 2018-06-27T07:48:25.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2021-10-30T02:00:19.000Z (about 3 years ago)
- Last Synced: 2024-11-11T05:52:25.245Z (about 1 month ago)
- Topics: blockchain, coin, crypto, cryptocurrency, cryptowallet, ethereum, ethereum-wallet, ios, swift, token, wallet
- Language: Swift
- Homepage:
- Size: 85.9 KB
- Stars: 146
- Watchers: 10
- Forks: 30
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Blockchain)
- awesome-swift - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Libs / Utility)
- awesome-swift - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Libs / Utility)
- awesome-ios-star - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Blockchain)
- fucking-awesome-swift - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Libs / Utility)
- fucking-awesome-ios - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Blockchain)
- fucking-awesome-ios - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. (Blockchain)
- awesome-swift - EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement an Ethereum wallet without a server and blockchain knowledge. ` 📝 2 years ago ` (Utility [🔝](#readme))
README
[![Swift](https://img.shields.io/badge/Swift-4.2-orange.svg)](https://swift.org)
[![Xcode](https://img.shields.io/badge/Xcode-10.0-blue.svg)](https://developer.apple.com/xcode)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)## Introduction
EtherWalletKit is an Ethereum Wallet Toolkit for iOS.
I hope cryptocurrency and decentralized token economy become more widely adapted.
However, some developers hesitate to add a crypto wallet on apps since blockchain and cryptocurrency are complex and require many new knowledge.
Don't worry.
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 & Ropsten) support
* BIP39 Mnemonics
#### Planned Features
* Browsing transaction history
* Keystore import / export
* Custom configuration / advanced transactions
* Multiple accounts
* Third party APIs
* ERC-721 supports## Installation
### CocoaPods
To integrate EtherWalletKit into your Xcode project using CocoaPods, specify it in your
Podfile
:pod 'EtherWalletKit'
## Quick Start
#### 0. Don't forget to import it
``` swift
import EtherWalletKit
```
#### 1. Create an Ethereum Wallet
```swift
// 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
```swift
// 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
```swift
// 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.
For full documentation, please see [THIS](./Docs/Document.md).
## Notes
* Nothing will be sent to a server. Everything will be worked on the local device and Ethereum Blockchain.
* You dont need to download and sync the nodes because [Infura](https://infura.io/) is doing it for you.
* ```password``` for wallet is equal to the password for the keystore file. Always make sure a ```password``` is long enough for security.## Contribution
* Make sure you have a [GitHub account](https://github.com/signup/free)
* 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](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) is welcome)
* Please avoid working directly on the `master` branch.
* Make sure you have added the necessary tests for your changes and make sure all tests pass.## License
EtherWalletKit is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.