GitHub - SteadyAction/EtherWalletKit: Ethereum Wallet Toolkit for iOS - You can...
source link: https://github.com/SteadyAction/EtherWalletKit
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
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 blockchian 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
Planned Features
- Browsing transaction history
- Keystore / BIP39 Mnemonics
- 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
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.
For full documentation, please see THIS.
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 is doing it for you.
password
for wallet is equal to the password for the keystore file. Always make sure apassword
is long enough for security.
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 accept cryptocurrency ?
ETH: 0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE
XLM: GBWP4JXW4PJGORNTVN3ZIFRZN5NXDNU534G5KULGPUGJE7IHCQILUQ3B
License
EtherWalletKit is available under the MIT license. See the LICENSE file for more info.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK