Latest 0.1.3
Homepage https://github.com/SteadyAction/EtherWalletKit
License MIT
Platforms ios 10.0
Dependencies web3swift
Authors

EtherWalletKit: an Ethereum Wallet Toolkit for iOS
Swift
Xcode
License: 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 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) 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.
  • Make sure you have added the necessary tests for your changes and make sure all tests pass.

Donation

Only aceept cryptocurrency :joy:

ETH: 0x7777787C97a35d37Db8E5afb0C92BCfd4F6480bE

License

EtherWalletKit is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "EtherWalletKit",
    "version": "0.1.3",
    "summary": "Ethereum Wallet Toolkit for iOS",
    "swift_version": "4.0",
    "description": "Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.",
    "homepage": "https://github.com/SteadyAction/EtherWalletKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "SteadyAction": "[email protected]"
    },
    "source": {
        "git": "https://github.com/SteadyAction/EtherWalletKit.git",
        "tag": "0.1.3"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source_files": "Sources/**/*",
    "dependencies": {
        "web3swift": [
            "~> 0.8.0"
        ]
    }
}

Pin It on Pinterest

Share This