Blockstack iOS SDK
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:
- The Blockstack iOS SDK (
/blockstack-sdk
) - A sample iOS app + web component (
/Tools
) - A tutorial that teaches you how to use the SDK
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..