Blockstack 1.0.1

Blockstack 1.0.1

Maintained by Yukan Liao, Shreyas Thiagaraj.



 
Depends on:
CryptoSwift= 0.15.0
PromisesSwift>= 0
STRegex>= 0
 

Blockstack iOS SDK

License Version Platform

Blockstack is a platform for developing a new, decentralized internet, where users control and manage their own information. Interested developers can create applications for this new internet using the Blockstack platform.

This repository contains:

if you encounter an issue please feel free to log it on this repository.

Requirements

iOS 11.0+

Getting started

Clone this repo and play around with the included sample app, available at (/Example). To add Blockstack functionality to your own project, read below.

Note: PhotoBlock is a fully functional, app-store ready demo app that serves as a fast way to get started with sample code. The app integrates login and storage features, and is a good way to play with Blockstack features immediately.

Adding the SDK to a project

Blockstack is available through CocoaPods. To install it, simply add the following line to your Podfile and run pod install:

pod 'Blockstack'

Add import Blockstack to the top of any file you wish to invoke the SDK's functionality.

How to use

Utilize Blockstack functionality in your app via the shared instance: Blockstack.shared.*some_method()*.

Some of the essentials are described below, but have a look at the documentation for the Blockstack class to get a better understanding of what's possible. Happy coding!

Authentication

Authenticate users using their Blockstack ID by calling Blockstack.shared.signIn. A web view will pop up to request their credentials and grant access to your app.

Storage

Store content to the user's Gaia hub as a file, via the putFile method:

Blockstack.shared.putFile(to: "testFile", text: "Testing 123") {
    publicURL, error in
    // publicURL points to the file in Gaia storage
}

Retreive files from the user's Gaia hub with the getFile method.

Blockstack.shared.getFile(at: "testFile") {
    response, error in
    print(response as! String) // "Testing 123"
}

Contributing

Please see the contribution guidelines.

License

Please see the license file..