Skip to content

EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum.

License

Notifications You must be signed in to change notification settings

yuzushioh/EthereumKit

Repository files navigation

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

  • Insert github "yuzushioh/EthereumKit" to your Cartfile.
  • Run carthage update --platform ios.

Dependency

Apps using EthereumKit

Author

Ryo Fukuda, @yuzushioh, [email protected]

License

EthereumKit is released under the Apache License 2.0.