Skip to content

Commit f29a277

Browse files
Merge branch 'subscriptions' of https://github.com/matter-labs/web3swift into subscriptions
2 parents 3a3587d + 8fb61e0 commit f29a277

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

Documentation/Usage.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,17 @@ let blockNumber = try! web3.eth.getBlockNumber()
350350
### Web3socketDelegate
351351

352352
To receive messages from endpoint you need to create a class that adopt to Web3SocketDelegate protocol.
353+
Later, in order to open a connection to WebSocket server, you will use socket provider (WebsocketProvider or InfuraWebsocketProvider). And we recommend you to make it a property, so it doesn't get deallocated right after being setup.
353354
```swift
354-
let delegate: Web3SocketDelegate = DelegateClass() // Some delegate class which will receive messages from endpoint
355+
class DelegateClass: Web3SocketDelegate {
356+
var socketProvider: WebsocketProvider? = nil // WebSocket Provider
357+
var socketProvider: InfuraWebsocketProvider? = nil // Infura WebSocket Provider
358+
359+
// Protocol method, here will be messages, received from WebSocket server
360+
func received(message: Any) {
361+
// Make something with message
362+
}
363+
}
355364
```
356365

357366
### Custom Websocket Provider
@@ -360,7 +369,7 @@ let delegate: Web3SocketDelegate = DelegateClass() // Some delegate class which
360369

361370
You can create WebsocketProvider and connect/disconnect it.
362371
```swift
363-
let socketProvider = WebsocketProvider("ws://your.endpoint", delegate: delegate)
372+
socketProvider = WebsocketProvider("ws://your.endpoint", delegate: delegate)
364373
socketProvider.connectSocket()
365374
/// Some code
366375
/// ...
@@ -369,7 +378,7 @@ socketProvider.disconnectSocket()
369378

370379
Or you can create already connected WebsocketProvider
371380
```swift
372-
let socketProvider = WebsocketProvider.connectToSocket("ws://your.endpoint", delegate: delegate)
381+
socketProvider = WebsocketProvider.connectToSocket("ws://your.endpoint", delegate: delegate)
373382
```
374383

375384
#### Send message
@@ -386,13 +395,13 @@ socketProvider.writeMessage(Data())
386395
#### Connect to Infura endpoint
387396

388397
```swift
389-
let socketProvider = InfuraWebsocketProvider.connectToInfuraSocket(.Mainnet, delegate: delegate)
398+
socketProvider = InfuraWebsocketProvider.connectToInfuraSocket(.Mainnet, delegate: delegate)
390399
```
391400

392401
#### Connect to custom endpoint with API similar to Infura WSS endpoint
393402

394403
```swift
395-
let socketProvider = InfuraWebsocketProvider.connectToSocket("ws://your.endpoint", delegate: delegate)
404+
socketProvider = InfuraWebsocketProvider.connectToSocket("ws://your.endpoint", delegate: delegate)
396405
```
397406

398407
#### Create a filter in the node to notify when something happened

0 commit comments

Comments
 (0)