<p>Nunc porta malesuada porta. Etiam tristique vestibulum dolor at ultricies. Proin hendrerit sapien sed erat fermentum, at commodo velit consectetur.</p>
<figuredata-uk-lightbox="animation: slide">
<!-- <a class="uk-inline" href="https://zbabystack.netlify.com/assets/posts/image1.png" caption="Image in lightbox"> -->
<!-- <a class="uk-inline" href="http://localhost:4000/assets/posts/image1.png" caption="Image in lightbox"> -->
<aclass="uk-inline"href="/assets/posts/image1.png"caption="Image in lightbox">
<!-- <img src="https://zbabystack.netlify.com/assets/posts/image1.png" alt="Alt for image"> -->
<!-- <img src="http://localhost:4000/assets/posts/image1.png" alt="Alt for image"> -->
<imgsrc="/assets/posts/image1.png"alt="Alt for image"/>
<divclass="uk-position-center">
<spandata-uk-overlay-icon=""></span>
@ -167,8 +170,8 @@
<p>Etiam in fermentum mi. Sed et tempor felis, eu aliquet nisi. Nam eget ullamcorper arcu. Nunc porttitor nisl a dolor blandit, eget consequat sem maximus. Phasellus lacinia quam porta orci malesuada, vel tincidunt.</p>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=Site tags&url=https://zbabystack.netlify.com/2017/05/25/post63.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2F2017%2F05%2F25%2Fpost63.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=Site tags&url=http://localhost:4000/2017/05/25/post63.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2F2017%2F05%2F25%2Fpost63.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<h2id="the-page-you-are-looking-for-cannot-be-found-please-navigate-to-homepage">The page you are looking for cannot be found. Please navigate to <ahref="https://zbabystack.netlify.com">homepage</a>.</h2>
<h2id="the-page-you-are-looking-for-cannot-be-found-please-navigate-to-homepage">The page you are looking for cannot be found. Please navigate to <ahref="http://localhost:4000">homepage</a>.</h2>
{"description":"Docs","author":{"@type":"Person","name":"Blockstack"},"@type":"WebPage","url":"https://zbabystack.netlify.com/contact/","headline":"Got Any Questions","@context":"http://schema.org"}</script>
{"description":"Docs","author":{"@type":"Person","name":"Blockstack"},"@type":"WebPage","url":"http://localhost:4000/contact/","headline":"Got Any Questions","@context":"http://schema.org"}</script>
{"description":"How to Use the Atlas Network","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/auth/howtouse.html","headline":"How to Use the Atlas Network","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/auth/howtouse.html"},"@context":"http://schema.org"}</script>
{"description":"How to Use the Atlas Network","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/auth/howtouse.html","headline":"How to Use the Atlas Network","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/auth/howtouse.html"},"@context":"http://schema.org"}</script>
@ -283,8 +286,8 @@ and makes it less likely that a chunk will get lost due to individual node
failures.</p>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=How to Use the Atlas Network&url=https://zbabystack.netlify.com/core/auth/howtouse.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2Fcore%2Fauth%2Fhowtouse.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=How to Use the Atlas Network&url=http://localhost:4000/core/auth/howtouse.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2Fcore%2Fauth%2Fhowtouse.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
{"description":"Overview of the Atlas network","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/auth/overview.html","headline":"Overview of the Atlas network","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/auth/overview.html"},"@context":"http://schema.org"}</script>
{"description":"Overview of the Atlas network","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/auth/overview.html","headline":"Overview of the Atlas network","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/auth/overview.html"},"@context":"http://schema.org"}</script>
@ -338,8 +341,8 @@ feature table describes Atlas in relation to other popular chunk stores.</p>
as part of the protocol.</p>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=Overview of the Atlas network&url=https://zbabystack.netlify.com/core/auth/overview.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2Fcore%2Fauth%2Foverview.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=Overview of the Atlas network&url=http://localhost:4000/core/auth/overview.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2Fcore%2Fauth%2Foverview.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
{"description":"Understand the Architecture","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/architecture.html","headline":"Understand the Architecture","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/architecture.html"},"@context":"http://schema.org"}</script>
{"description":"Understand the Architecture","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/architecture.html","headline":"Understand the Architecture","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/architecture.html"},"@context":"http://schema.org"}</script>
{"description":"Naming system feature comparison","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/comparison.html","headline":"Naming system feature comparison","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/comparison.html"},"@context":"http://schema.org"}</script>
{"description":"Naming system feature comparison","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/comparison.html","headline":"Naming system feature comparison","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/comparison.html"},"@context":"http://schema.org"}</script>
{"description":"DID Encoding for Subdomains","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/did.html","headline":"DID Encoding for Subdomains","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/did.html"},"@context":"http://schema.org"}</script>
<li><codeclass="highlighter-rouge"><spanclass="p">{</span><spanclass="err">address</span><spanclass="p">}</span></code> is an on-chain public key hash (e.g. a Bitcoin address).</li>
<li><codeclass="highlighter-rouge"><spanclass="p">{</span><spanclass="err">index</span><spanclass="p">}</span></code> refers to the <codeclass="highlighter-rouge">nth</code> name this address created.</li>
</ul>
<p>For example, the DID for <codeclass="highlighter-rouge">personal.id</code> is
<codeclass="highlighter-rouge">did:stack:v0:1dARRtzHPAFRNE7Yup2Md9w18XEQAtLiV-0</code>, because the name
<codeclass="highlighter-rouge">personal.id</code> was the first-ever name created by
<p>As another example, the DID for <codeclass="highlighter-rouge">jude.id</code> is <codeclass="highlighter-rouge">did:stack:v0:16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg-1</code>.
Here, the address <codeclass="highlighter-rouge">16EMaNw3pkn3v6f2BgnSSs53zAKH4Q8YJg</code> had created one earlier
name in history prior to this one (which happens to be <codeclass="highlighter-rouge">abcdefgh123456.id</code>).</p>
<p>The purpose of a DID is to provide an eternal identifier for a public key.
The public key may change, but the DID will not.</p>
<p>Blockstack Core implements a DID method of its own
in order to be compatible with other systems that use DIDs for public key resolution.
In order for a DID to be resolvable, all of the following must be true for a
name:</p>
<ul>
<li>The name must exist</li>
<li>The name’s zone file hash must be the hash of a well-formed DNS zone file</li>
<li>The DNS zone file must be present in the BNS <ahref="atlas_network.md">Atlas Network</a></li>
<li>The DNS zone file must contain a <codeclass="highlighter-rouge">URI</code> resource record that points to a signed
JSON Web Token</li>
<li>The public key that signed the JSON Web Token (and is included with it) must
hash to the address that owns the name</li>
</ul>
<p>Not all names will have DIDs that resolve to public keys. However, names created by the <ahref="https://github.com/blockstack/blockstack-browser">Blockstack
Browser</a> will have DIDs that
do.</p>
<p>Developers can programmatically resolve DIDs via the Python API:</p>
{"description":"Choose a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/pickname.html","headline":"Choose a name","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/pickname.html"},"@context":"http://schema.org"}</script>
{"description":"Choose a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/pickname.html","headline":"Choose a name","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/pickname.html"},"@context":"http://schema.org"}</script>
{"description":"Register a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/register.html","headline":"Register a name","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/register.html"},"@context":"http://schema.org"}</script>
{"description":"Register a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/register.html","headline":"Register a name","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/register.html"},"@context":"http://schema.org"}</script>
{"description":"Resolve a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/resolving.html","headline":"Resolve a name","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/resolving.html"},"@context":"http://schema.org"}</script>
{"description":"Resolve a name","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/resolving.html","headline":"Resolve a name","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/resolving.html"},"@context":"http://schema.org"}</script>
{"description":"Creating a Namespace","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/tutorial_creation.html","headline":"Creating a Namespace","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/tutorial_creation.html"},"@context":"http://schema.org"}</script>
{"description":"Create and Launch a Namespace","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/tutorial_creation.html","headline":"Create and Launch a Namespace","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/tutorial_creation.html"},"@context":"http://schema.org"}</script>
@ -859,8 +867,8 @@ names will disappear, and someone else will be able to register it.</p>
</ul>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=Creating a Namespace&url=https://zbabystack.netlify.com/core/naming/tutorial_creation.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2Fcore%2Fnaming%2Ftutorial_creation.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=Create and Launch a Namespace&url=http://localhost:4000/core/naming/tutorial_creation.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2Fcore%2Fnaming%2Ftutorial_creation.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
</div>
</div>
@ -950,7 +958,7 @@ names will disappear, and someone else will be able to register it.</p>
{"description":"Subdomain Design and Implementation","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/core/naming/tutorial_subdomains.html","headline":"Subdomain Design and Implementation","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/core/naming/tutorial_subdomains.html"},"@context":"http://schema.org"}</script>
{"description":"Subdomain Design and Implementation","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/core/naming/tutorial_subdomains.html","headline":"Subdomain Design and Implementation","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/core/naming/tutorial_subdomains.html"},"@context":"http://schema.org"}</script>
<p>Nunc porta malesuada porta. Etiam tristique vestibulum dolor at ultricies. Proin hendrerit sapien sed erat fermentum, at commodo velit consectetur.</p>
@ -185,11 +188,12 @@ Blockstack’s iOS SDK using the following content:</p>
<li><ahref="#install-blockstack-sdk-and-open-the-pod-project"id="markdown-toc-install-blockstack-sdk-and-open-the-pod-project">Install Blockstack SDK and open the pod project</a></li>
<li><ahref="#choose-a-custom-protocol-handler"id="markdown-toc-choose-a-custom-protocol-handler">Choose a custom protocol handler</a></li>
<li><ahref="#add-a-splash-screen"id="markdown-toc-add-a-splash-screen">Add a splash screen</a></li>
<li><ahref="#add-a-mainstoryboard"id="markdown-toc-add-a-mainstoryboard">Add a Main.storyboard</a></li>
<li><ahref="#update-the-mainstoryboard"id="markdown-toc-update-the-mainstoryboard">Update the Main.storyboard</a></li>
<li><ahref="#add-the-ui-variables-to-the-viewcontroller-file"id="markdown-toc-add-the-ui-variables-to-the-viewcontroller-file">Add the UI variables to the ViewController file.</a></li>
<li><ahref="#edit-the-viewcontrollerswift-file"id="markdown-toc-edit-the-viewcontrollerswift-file">Edit the ViewController.swift file</a></li>
</ul>
</li>
<li><ahref="#troubleshooting-your-build-in-xcode"id="markdown-toc-troubleshooting-your-build-in-xcode">Troubleshooting your build in XCode</a></li>
</ul>
<p>This tutorial was extensively tested using XCode 9.3 on a MacBook Air
@ -209,8 +213,8 @@ into XCode to review it.</p>
<h2id="understand-the-sample-application-flow">Understand the sample application flow</h2>
<p>When complete, the sample application is a simple <codeclass="highlighter-rouge">hello-world</code>display
intended for use on an iOS phone.</p>
<p>When complete, the sample application is a simple <codeclass="highlighter-rouge">hello-world</code>intended for use
on an iOS phone.</p>
<p><imgsrc="images/final-app.png"alt=""/></p>
@ -256,11 +260,13 @@ it</a>.</p>
<h3id="install-the-cocoapods-160beta1-dependency-manager">Install the CocoaPods 1.6.0.beta.1 dependency manager</h3>
<p>The sample application only runs on devices with iOS 11.0 or higher. You install
the Blockstack iOS SDK through the CocoaPods dependency manager. You must use
the <codeclass="highlighter-rouge">1.6.0.beta.1</code> version of CocoaPods or newer to avoid an incapability
between Cocoapods and XCode.</p>
the Blockstack iOS SDK through the CocoaPods. Cocoapods is a dependency manager
for Swift and Objective-C Cocoa projects. It’s a simple, user friendly way to
use libraries from the community in your project.</p>
<p>Before starting the tutorial, confirm you have installed CocoaPods.</p>
<p>You must use the <codeclass="highlighter-rouge">1.6.0.beta.1</code> version of CocoaPods or newer to avoid an
incapability between Cocoapods and XCode. Before starting the tutorial, confirm
<p>This local instances is for testing your applications only.</p>
</li>
<li>
<p>Choose <strong>Sign in with Blockstack</strong></p>
@ -426,7 +431,7 @@ you do here will allow it.</p>
<ol>
<li>
<p>From the terminal command line, change directory to the root of your web
<p>From the terminal command line, change directory to your web
application directory.</p>
</li>
<li>
@ -734,7 +739,7 @@ the user back to your iOS app. In this example, you use <code class="highlighter
</li>
</ol>
<h3id="add-a-mainstoryboard">Add a Main.storyboard</h3>
<h3id="update-the-mainstoryboard">Update the Main.storyboard</h3>
<p>Rather than have you build up your own UI, this section has you copy and paste a layout into the XML file source code for the <strong>Main.storyboard</strong> file.</p>
@ -821,7 +826,7 @@ functionality to your code.</p>
<li>
<p>Repeat this process with the storyboard’s purple <strong>hello-blockstack-ios</strong> label.</p>
<p>When you are done, your ViewController file contains the following variables:</p>
<p>When you are done, your ‘ViewController’ file contains the following variables:</p>
@ -845,7 +850,7 @@ functionality to your code.</p>
<h3id="edit-the-viewcontrollerswift-file">Edit the ViewController.swift file</h3>
<p>Now, you are ready to connect your applicaiton with your Blockstack Web
<p>Now, you are ready to connect your application with your Blockstack Web
Application. Normally, after building your Web application you would have
registred it with Blockstack and the app would be available on the Web. This
example skips this registration step and uses an example application we’ve
@ -868,103 +873,95 @@ this application in your mobile add for now. In XCode, do the following;</p>
</div>
</li>
<li>
<p>Just before the <codeclass="highlighter-rouge">didReceiveMemoryWarning</code> function a private <codeclass="highlighter-rouge">updateUI</code> function.</p>
<p>Just before the <codeclass="highlighter-rouge">didReceiveMemoryWarning</code> function a private <codeclass="highlighter-rouge">updateUI()</code> function.</p>
<p>This function takes care of loading the user data from Blockstack.</p>
<spanclass="k">self</span><spanclass="o">.</span><spanclass="n">signInButton</span><spanclass="p">?</span><spanclass="o">.</span><spanclass="nf">setTitle</span><spanclass="p">(</span><spanclass="s">"Sign into Blockstack"</span><spanclass="p">,</span><spanclass="nv">for</span><spanclass="p">:</span><spanclass="o">.</span><spanclass="n">normal</span><spanclass="p">)</span>
<spanclass="nf">print</span><spanclass="p">(</span><spanclass="s">"Sign in SUCCESS"</span><spanclass="p">,</span><spanclass="n">userData</span><spanclass="o">.</span><spanclass="n">profile</span><spanclass="p">?</span><spanclass="o">.</span><spanclass="n">name</span><spanclass="k">as</span><spanclass="kt">Any</span><spanclass="p">)</span>
<spanclass="nf">print</span><spanclass="p">(</span><spanclass="s">"Sign in FAILED, error: "</span><spanclass="p">,</span><spanclass="n">error</span><spanclass="p">??</span><spanclass="s">"n/a"</span><spanclass="p">)</span>
<spanclass="p">}</span>
<spanclass="p">}</span>
<spanclass="p">}</span>
// Check if signed in
// checkIfSignedIn()
}
<spanclass="p">}</span>
</code></pre>
</div>
</li>
<li>
<p>Add a <codeclass="highlighter-rouge">signOut()</code> function to handle signOut</p>
<spanclass="kt">Blockstack</span><spanclass="o">.</span><spanclass="n">shared</span><spanclass="o">.</span><spanclass="nf">isSignedIn</span><spanclass="p">()</span><spanclass="p">?</span><spanclass="nf">print</span><spanclass="p">(</span><spanclass="s">"currently signed in"</span><spanclass="p">)</span><spanclass="p">:</span><spanclass="nf">print</span><spanclass="p">(</span><spanclass="s">"not signed in"</span><spanclass="p">)</span>
<spanclass="p">}</span>
</code></pre>
</div>
</li>
<li>
<p>Put it all together with a signin buttonType</p>
<spanclass="nf">print</span><spanclass="p">(</span><spanclass="s">"sign in failed, error: "</span><spanclass="p">,</span><spanclass="n">error</span><spanclass="p">??</span><spanclass="s">"n/a"</span><spanclass="p">)</span>
<spanclass="p">}</span>
<spanclass="p">}</span>
<spanclass="p">}</span>
</code></pre>
</div>
</li>
<h2id="troubleshooting-your-build-in-xcode">Troubleshooting your build in XCode</h2>
<p>XCode builds can retain old data. To ensure your builds are clean, try the following:</p>
<ol>
<li>Reset the simulator by choosing <strong>Hardware -> Erase all content and settings</strong> from the menu.</li>
<li>In XCode, clean the project by choosing <strong>Product > Clean</strong> from the menu or press ‘Command + Shift + K’ on your keyboard.</li>
<li>Clean the build folder by pressing ‘Command + Option + Shift + K’ on your keyboard.</li>
{"description":"Use the Blockstack Authenticator","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/newinternet/browser-introduction.html","headline":"Use the Blockstack Authenticator","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/newinternet/browser-introduction.html"},"@context":"http://schema.org"}</script>
{"description":"Use the Blockstack Authenticator","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/newinternet/browser-introduction.html","headline":"Use the Blockstack Authenticator","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/newinternet/browser-introduction.html"},"@context":"http://schema.org"}</script>
{"description":"Get and use a Blockstack ID","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/newinternet/ids-introduction.html","headline":"Get and use a Blockstack ID","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/newinternet/ids-introduction.html"},"@context":"http://schema.org"}</script>
{"description":"Get and use a Blockstack ID","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/newinternet/ids-introduction.html","headline":"Get and use a Blockstack ID","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/newinternet/ids-introduction.html"},"@context":"http://schema.org"}</script>
@ -393,8 +396,8 @@ recovery key rather than your code to restore your identity.</p>
<p>At this point, you can go work with Dapps or you can review your recovery key.</p>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=Get and use a Blockstack ID&url=https://zbabystack.netlify.com/newinternet/ids-introduction.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2Fnewinternet%2Fids-introduction.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=Get and use a Blockstack ID&url=http://localhost:4000/newinternet/ids-introduction.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2Fnewinternet%2Fids-introduction.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
</div>
</div>
@ -483,7 +486,7 @@ recovery key rather than your code to restore your identity.</p>
{"description":"Manage Data with Gaia","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"https://zbabystack.netlify.com/newinternet/multi-player-storage.html","headline":"Manage Data with Gaia","dateModified":"2018-09-05T15:55:10-07:00","datePublished":"2018-09-05T15:55:10-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://zbabystack.netlify.com/newinternet/multi-player-storage.html"},"@context":"http://schema.org"}</script>
{"description":"Manage Data with Gaia","author":{"@type":"Person","name":"Blockstack"},"@type":"BlogPosting","url":"http://localhost:4000/newinternet/multi-player-storage.html","headline":"Manage Data with Gaia","dateModified":"2018-09-08T19:19:36-07:00","datePublished":"2018-09-08T19:19:36-07:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/newinternet/multi-player-storage.html"},"@context":"http://schema.org"}</script>
@ -1048,8 +1051,8 @@ about Blockstack. To use a working version of the app go
<ahref="http://publik.ykliao.com">here</a>.</p>
<divclass="share uk-text-center">
<ahref="https://twitter.com/intent/tweet?text=Manage Data with Gaia&url=https://zbabystack.netlify.com/newinternet/multi-player-storage.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fzbabystack.netlify.com%2Fnewinternet%2Fmulti-player-storage.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
<ahref="https://twitter.com/intent/tweet?text=Manage Data with Gaia&url=http://localhost:4000/newinternet/multi-player-storage.html&via=&related="rel="nofollow"target="_blank"title="Share on Twitter"onclick="window.open(this.href, 'twitter', 'width=550,height=235');return false;"><spandata-uk-icon="icon: twitter; ratio: 1.2"></span></a>
<aclass="uk-margin-small-left"href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Flocalhost%3A4000%2Fnewinternet%2Fmulti-player-storage.html"rel="nofollow"target="_blank"title="Share on Facebook"onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"><spandata-uk-icon="icon: facebook; ratio: 1.2"></span></a>
</div>
</div>
@ -1139,7 +1142,7 @@ about Blockstack. To use a working version of the app go