Skip to content

yuzushioh/EthereumKit

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

EthereumKit

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

Apps using EthereumKit

Author

Ryo Fukuda, @yuzushioh, yuzushioh@gmail.com

License

EthereumKit is released under the Apache License 2.0.