Skip to content

Commit e1bcdcf

Browse files
committed
add app, that using library
add examples update readme with explainations
1 parent c7677e5 commit e1bcdcf

File tree

1 file changed

+28
-43
lines changed

1 file changed

+28
-43
lines changed

README.md

Lines changed: 28 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,39 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A
99
[![Platform](https://img.shields.io/cocoapods/p/web3swift.svg?style=flat)](http://cocoapods.org/pods/web3swift)
1010
[![support](https://brianmacdonald.github.io/Ethonate/svg/eth-support-blue.svg)](https://brianmacdonald.github.io/Ethonate/address#0x6394b37Cf80A7358b38068f0CA4760ad49983a1B)
1111

12+
**web3swift** is your toolbelt for any kind iteractions with Ethereum network.
13+
14+
### Features:
15+
1216
- Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap:
1317
- Interaction with remote node via JSON RPC :thought_balloon:
1418
- Smart-contract ABI parsing :book:
1519
- ABI deconding (V2 is supported with return of structures from public functions. Part of 0.4.22 Solidity compiler)
1620
- RLP encoding
1721
- Interactions (read/write to Smart contracts) :arrows_counterclockwise:
18-
- Local keystore management (geth compatible)
22+
- Local keystore management (`geth` compatible)
1923
- Literally following the standards:
2024
- [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet
2125
- [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases)
2226
- [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes)
2327
- [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!*
2428

29+
### What you can do:
30+
31+
**Account Managment:**
32+
- [x] Create Account
33+
- [x] Import Account
34+
- [x] Manage user's private keys through encrypted keystore abstractions
35+
36+
**Trasactions operations:**
37+
- [x] Sign transactions
38+
- [x] Send transactions, call functions of smart-contracts, estimate gas costs
39+
- [x] Serialize and deserialize transactions and results to native Swift types
40+
- [x] Check transaction results and get receipt
41+
- [x] Parse event logs for transaction
42+
- [x] Convenience functions for chain state: block number, gas price
43+
- [x] Batched requests in concurrent mode, checks balances of 580 tokens (from the latest MyEtherWallet repo) over 3 seconds
44+
2545

2646
## Check this out
2747

@@ -39,36 +59,14 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A
3959
- Requirements for password input on every transaction are indeed a design decision. Interface designers can save user passwords with the user's consent
4060
- Public function for private key export is exposed for user convenience, but marked as UNSAFE_ :) Normal workflow takes care of EIP155 compatibility and proper clearing of private key data from memory
4161

42-
### Here it is
43-
[https://rinkeby.etherscan.io/tx/0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056](https://rinkeby.etherscan.io/tx/0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056)
44-
45-
```
46-
Transaction
47-
Nonce: 35
48-
Gas price: 5000000000
49-
Gas limit: 21000
50-
To: 0x6394b37Cf80A7358b38068f0CA4760ad49983a1B
51-
Value: 1000000000000000
52-
Data: 0x
53-
v: 43
54-
r: 73059897783840535708732471549376620878882680550447969052675399628060606060727
55-
s: 12280625377431973240236065453692843538037349746280474092545114784968542260859
56-
Intrinsic chainID: Optional(4)
57-
Infered chainID: Optional(4)
58-
sender: Optional(web3swift.EthereumAddress(_address: "0x855adf524273c14b7260a188af0ae30e82e91959"))
59-
60-
["id": 1514485925, "result": 0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056, "jsonrpc": 2.0]
61-
On Rinkeby TXid = 0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056
62-
```
63-
6462
## Example
6563

6664
You can try it yourself by running the example project:
6765

68-
- Clone the repo
69-
- `cd Example/web3swiftExample`
70-
- run `pod install` from the `Example/web3swiftExample` directory.
71-
- `open ./web3swiftExample.xcworkspace`
66+
- Clone the repo: `git clone https://github.com/matterinc/web3swift.git`
67+
- Movw to the repo: `cd web3swift/Example/web3swiftExample`
68+
- Install Dependecies: `pod install`
69+
- Open: `open ./web3swiftExample.xcworkspace`
7270

7371
## Requirements
7472

@@ -92,17 +90,15 @@ Web3swift requires Swift 4.1 and iOS 9.0 or macOS 10.11 although we recommend to
9290
$ sudo gem install cocoapods
9391
```
9492

95-
9693
To integrate web3swift into your Xcode project using CocoaPods, specify it in your `Podfile`:
9794

98-
9995
```ruby
10096
source 'https://github.com/CocoaPods/Specs.git'
10197
platform :ios, '9.0'
10298

10399
target '<Your Target Name>' do
104100
use_frameworks!
105-
pod 'web3swift', '~> 1.1.5'
101+
pod 'web3swift'
106102
end
107103
```
108104

@@ -111,18 +107,6 @@ Then, run the following command:
111107
```bash
112108
$ pod install
113109
```
114-
## Features
115-
116-
- [x] Create Account
117-
- [x] Import Account
118-
- [x] Sign transactions
119-
- [x] Send transactions, call functions of smart-contracts, estimate gas costs
120-
- [x] Serialize and deserialize transactions and results to native Swift types
121-
- [x] Convenience functions for chain state: block number, gas price
122-
- [x] Check transaction results and get receipt
123-
- [x] Parse event logs for transaction
124-
- [x] Manage user's private keys through encrypted keystore abstractions
125-
- [x] Batched requests in concurrent mode, checks balances of 580 tokens (from the latest MyEtherWallet repo) over 3 seconds
126110

127111
## Getting started
128112

@@ -262,7 +246,8 @@ If you are using `web3swift` in your app or know of an app that uses it, please
262246
* [Ethereum & ERC20Tokens Wallet](https://itunes.apple.com/us/app/ethereum-erc20tokens-wallet/id1386738877?ls=1&mt=8)
263247
* [BankexWallet](https://github.com/BANKEX/Pay-iOS)
264248
* [GeoChain](https://github.com/awallish/GeoChain)
265-
* [YOUR APP CAN BE THERE (click me)](https://github.com/matterinc/web3swift/issues) :wink:
249+
* [TRX-Wallet](https://github.com/NewHorizonLabs/TRX-Wallet)
250+
* [YOUR APP CAN BE THERE (click me)](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift/_edit) :wink:
266251

267252
If you've used this project in a live app, please let us know!
268253

0 commit comments

Comments
 (0)