Home
Softono
EthereumKit

EthereumKit

Open source Apache-2.0 Swift
486
Stars
106
Forks
13
Issues
23
Watchers
4 years
Last Commit

About EthereumKit

<p align="center"> <img src="https://user-images.githubusercontent.com/12425729/40763856-5f14764a-64e1-11e8-8684-2f1c8497abd5.png" alt="EthereumKit" height="300px"> </p> EthereumKit is a Swift framework that enables you to create Ethereum wallet and use it in your app. ```swift // 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](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) - [BIP ...

Platforms

Web Self-hosted macOS iOS

Languages

Swift

Links

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

Ryo Fukuda, @yuzushioh, [email protected]

License

EthereumKit is released under the Apache License 2.0.