Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yuzushioh/EthereumKit

EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum.
https://github.com/yuzushioh/EthereumKit

bitcoin blockchain ethereum wallet

Last synced: 9 days ago
JSON representation

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

Awesome Lists containing this project

README

        


EthereumKit

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)
- [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)/[BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) HD wallet
- [EIP55](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md) format address encoding
- [EIP155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) replay attack protection
- Sign transaction
- ERC20 token transfer

## Documentations

- [Getting Started](Documentation/GettingStarted.md)
- [ERC20 Token](Documentation/ERC20.md)
- [JSONRPC API](Documentation/JSONRPC.md)
- [Etherscan API](Documentation/Etherscan.md)

## Requirements

- Swift 4.0 or later
- iOS 9.0 or later

## Installation
#### [Carthage](https://github.com/Carthage/Carthage)

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

## Dependency

- [CryptoEthereumSwift](https://github.com/yuzushioh/CryptoEthereumSwift): Ethereum cryptography implementations for iOS framework

## Apps using EthereumKit

- [gnosis/safe-ios](https://github.com/gnosis/safe-ios): Gnosis Safe is a multi signature (2FA) wallet for personal usage.
- [popshootjapan/WeiWallet-iOS](https://github.com/popshootjapan/WeiWallet-iOS): Wei Wallet for iOS
## Author

Ryo Fukuda, [@yuzushioh](https://twitter.com/yuzushioh), [email protected]

## License
EthereumKit is released under the [Apache License 2.0](LICENSE.md).