2017-08-04 Blockstack on iOS Meeting

Blockstack on iOS

Topic: Discussion of what Casa has been doing on iOS and potential avenues of exploration for implementing Blockstack Browser and Core API on iOS.

Attendees

Casa’s work on Blockstack iOS

Casa created a CocoaPod Core API library and an alpha of a Blockstack Browser app for iOS.

How to provide Blockstack Core API and Storage functionality on ios

Where will the Blockstack API endpoint run: on the local device or in the cloud?

We discussed the different areas of functionality provided by the Core API:

  • Name lookup will probably always in be in the cloud for energy constrained devices
  • Name registration logic currently needs to be on device because core handles the user’s private keys: this could change if we move to a templating paradigm for Core where the Core node generates bitcoin transaction templates that can be signed on the user’s device before being broadcast to the network.
  • Storage currently needs to be on device because the core node has full read/write access to the user’s storage provider. If we move to the S3-based api paradigm we’ve discussed where each app gets its own storage keys, this becomes less of a problem - apps could directly read and rate to their own datastore with their keys.

We have two types of apps that need to work on iOS:

  • Native apps
  • Browser-based apps

Browser based apps need access to a localhost api endpoint to interact with blockstack so need to have a local server running for this to be possible.

Native apps can use the Swift API - it’s not critical that a local server be available.

Options:

  • Network Extension + DNS extension: The network extension could intercept calls to the API endpoint and spin up the server
  • App Extension - @jorge suggests possibility of using an action extension

Action items

@jorge will take a stab at a proof of concept NetworkExtension that detects requests to a core api endpoint and spins up a server to respond to the requests.

@jeremyrwelch will send out an invite for a follow up meeting on Tuesday, August 8, 2017 @ 12:00pm ET which will include Casa’s iOS developer.

See our earlier discussions about Blockstack on mobile here: Blockstack on Mobile

3 Likes

One more thing that’s worth mentioning is the fact that we could also leverage a hybrid approach of accessing core node functionality via a local instance running on the device, a device on your local network or micro-nodes hosted externally.

3 Likes

Great write up @larry