```swift
//initialize Tesseract with default config
let tesseract = Tesseract.default()
//indicate what blockchain are we gonna use
let substrateService = tesseract.service(SubstrateService.self)
//at this point Tesseract connects to the
//wallet and the wallet presents the user
//with its screen, asking if the user
//wants to share their public key to a dApp
let account = try await substrateService.getAccount(type: .sr25519)
```
|
```swift
//Inside the Wallet Tesseract serves requests
//from the dApps as long as the reference is kept alive
//save it somewhere in the Extension instance
let tesseract = Tesseract()
.transport(IPCTransportIOS(self)) //add iOS IPC transport
.service(MySubstrateService())
//MySubstrateService instance methods
//will be called when a dApp asks for something
```
|