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.


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.


  • 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


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.


Great write up @larry