Skip to content

Commit b2627ed

Browse files
Update Usage.md
1 parent b40b29f commit b2627ed

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

Documentation/Usage.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
- [Get new pending transactions](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#get-new-pending-transactions)
4242
- [Create a new subscription over particular events](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#create-a-new-subscription-over-particular-events)
4343
- [Subscribe on new pending transactions](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#subscribe-on-new-pending-transactions)
44+
- **[ENS](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#ens)**
45+
- [Registry](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#registry)
46+
- [Resolver](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#resolver)
47+
- [BaseRegistrar](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#baseregistrar)
48+
- [RegistrarController](https://github.com/matter-labs/web3swift/blob/master/Documentation/Usage.md#registrarcontroller)
4449

4550
## Introduction
4651

@@ -432,3 +437,66 @@ try! socketProvider.subscribe(params: <[Encodable]>)
432437
try! socketProvider.subscribeOnNewPendingTransactions()
433438
```
434439

440+
## ENS
441+
442+
You need ENS instance for future actions:
443+
```swift
444+
let web = web3(provider: InfuraProvider(Networks.Mainnet)!)
445+
let ens = ENS(web3: web)!
446+
```
447+
448+
### Registry
449+
450+
You can get/set owner, resolver, ttl via ENS property registry:
451+
```swift
452+
let owner = try! ens.registry.getOwner(node: node)
453+
let resultSettingOwner = try! ens.registry.setOwner(node: node, owner: owner, options: options, password: password)
454+
...
455+
```
456+
457+
### Resolver
458+
459+
You use convenient resolver methods from ENS instance:
460+
```swift
461+
let address = try! ens.getAddress(forNode: node)
462+
let name = try! ens.getName(forNode: node)
463+
let content = try! ens.getContent(forNode: node)
464+
let abi = try! ens.getABI(forNode: node)
465+
let pubkey = try! ens.getPublicKey(forNode: node)
466+
let text = try! ens.getText(forNode: node, key: key)
467+
468+
let result = try! ens.setAddress(forNode: node, address: address, options: options, password: password)
469+
let result = try! ens.setName(forNode: node, name: name, options: options, password: password)
470+
let result = try! ens.setContent(forNode: node, hash: hash, options: options, password: password)
471+
let result = try! ens.setABI(forNode: node, contentType: .JSON, data: data, options: options, password: password)
472+
let result = try! ens.setPublicKey(forNode: node, publicKey: publicKey, options: options, password: password)
473+
let result = try! ens.setText(forNode: node, key: key, value: value, options: options, password: password)
474+
```
475+
or you can get resolver to use its methods directly:
476+
```swift
477+
let resolver = try! ens.registry.getResolver(forDomain: domain)
478+
let doSomething = try! resolver. ...
479+
```
480+
or set it as ENS instance property and use its methods from it:
481+
```swift
482+
try! ens.setENSResolver(withDomain: domain)
483+
let doSomething = try! ens.resolver!. ...
484+
```
485+
486+
### BaseRegistrar
487+
You can set BaseRegistrar as ENS instance property and use its methods from it:
488+
```swift
489+
ens.setBaseRegistrar(withAddress: address)
490+
let doSomething = try! ens.baseRegistrar!. ...
491+
```
492+
493+
### RegistrarController
494+
You can set RegistrarController as ENS instance property and use its methods from it:
495+
```swift
496+
ens.setRegistrarController(withAddresss: address)
497+
let doSomething = try! ens.registrarController!. ...
498+
```
499+
500+
501+
502+

0 commit comments

Comments
 (0)