-
Clarity is in pre-release
-
Clarity, its accompanying toolset, and the SDK are in pre-release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/blockstack-core repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
+
Early Release
+
Clarity and its accompanying toolset are in early release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/stacks-blockchain repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
@@ -42,11 +42,11 @@ Contracts can also call public functions from other smart contracts. The ability
Clarity is a list processing (LISP) language, as such it is not compiled. Omitting compilation prevents the possibility of error or bugs introduced at the compiler level. You can write Clarity smart contract programs on any operating system with a text editor. You can use any editor you are comfortable with such as Atom, Vim, or even Notepad. The Clarity files you create with an editor have a `.clar` extension.
-Clarity is in pre-release and does not yet directly interact with the live Stacks blockchain. For the pre-release period you need a test environment to run Clarity contracts. Blockstack provides a Docker image called `clarity-developer-preview` that you can use or you can build a test environment locally from code. Either the Docker image or a local environment is sufficient for testing Clarity programming for standalone contracts.
+Clarity is in easly release and does not yet directly interact with the live Stacks blockchain. For the early release period you need a test environment to run Clarity contracts. Blockstack provides a Docker image called `clarity-developer-preview` that you can use or you can build a test environment locally from code. Either the Docker image or a local environment is sufficient for testing Clarity programming for standalone contracts.
You use the `clarity-cli` command line to check, launch, and execute standalone Clarity contracts inside the virtual test environment. You can use this same command line to create simulate mining Stacks and inspecting a blockchain.
-Blockstack expects that some decentralized applications (DApp) will want to make use of Clarity contracts as part of their applications. For this purpose, you should use the Clarity SDK, also in pre-release. The SDK is a development environment, testing framework, and deployment tool. It provides a library for safe interactions with Clarity contracts from a DApp written with the blockstack.js library. The SDK has a `clarity` command line for creating Clarity projects.
+Blockstack expects that some decentralized applications (DApp) will want to make use of Clarity contracts as part of their applications. For this purpose, you should use the Clarity SDK, also in early release. The SDK is a development environment, testing framework, and deployment tool. It provides a library for safe interactions with Clarity contracts from a DApp written with the blockstack.js library. The SDK has a `clarity` command line for creating Clarity projects.
## Basic building blocks of Clarity contracts
@@ -85,7 +85,7 @@ The easiest program to run in any language is a hello world program. In Clarity,
This program defines a single `hello-world` expression that is excuted when the contract launches. The `begin` is a native Clarity function that evaluates the expressions input to it and returns the value of the last expression. Here there is a single `print` expression. Both the `begin` and the `print` are enclosed in `()` parentheses.
-For the pre-release, the Blockstack test environment includes the `clarity-cli` command for interacting with the contract and SQLite to support the data space. You create a SQLLite database to hold data related to Clarity contracts. This database simulates the blockchain by recording the contract activity.
+For the early release, the Blockstack test environment includes the `clarity-cli` command for interacting with the contract and SQLite to support the data space. You create a SQLLite database to hold data related to Clarity contracts. This database simulates the blockchain by recording the contract activity.
You can't run even an a hello-world program without first initializing a Clarity contract's data space within the database. You can use the `clarity-cli initialize` command to set up the database.
diff --git a/_core/smart/principals.md b/_core/smart/principals.md
index 53f267ca..1b2f7e74 100644
--- a/_core/smart/principals.md
+++ b/_core/smart/principals.md
@@ -3,7 +3,7 @@ layout: core
description: "Blockstack smart contracting language"
permalink: /:collection/:path.html
---
-# Principals
+# Understanding Principals
{:.no_toc}
_Principals_ are a Clarity native type that represents a spending entity. This section discusses principals and how they are used in the Clarity.
diff --git a/_core/smart/sdk-quickstart.md b/_core/smart/sdk-quickstart.md
index 6435393c..84294fa3 100644
--- a/_core/smart/sdk-quickstart.md
+++ b/_core/smart/sdk-quickstart.md
@@ -12,8 +12,8 @@ You can use the software developer kit (SDK) to develop, test, and deploy Clarit
{:toc}
-
Clarity is in pre-release
-
Clarity, its accompanying toolset, and the SDK are in pre-release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/blockstack-core repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
+
Early Release
+
Clarity and its accompanying toolset are in early release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/stacks-blockchain repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
@@ -97,10 +97,10 @@ In this task, you generate a project scaffold — an initial set of director
Your project should contain three directories:
- | Directory |Description |
- |---|---|
- | `contracts` | Contains `.clar` files (Clarity contract files) here. |
- | `test` | Contains files for testing your application. |
+ | Directory | Description |
+ | -------------- | --------------------------------------------------------- |
+ | `contracts` | Contains `.clar` files (Clarity contract files) here. |
+ | `test` | Contains files for testing your application. |
| `node_modules` | Contains packages the project depends on. Added by `npm`. |
The `contracts` directory contains a single file in `sample/hello-world.clar` file.
diff --git a/_core/smart/tutorial.md b/_core/smart/tutorial.md
index 6ff6066e..3ef105e3 100644
--- a/_core/smart/tutorial.md
+++ b/_core/smart/tutorial.md
@@ -3,95 +3,123 @@ layout: core
description: "Blockstack smart contracting language"
permalink: /:collection/:path.html
---
-# Hello Clarity for the VM
+# Hello Clarity
-In this tutorial, you learn how to use Clarity, Blockstack's smart contracting language inside of a virtual environment. The environment is run using a Docker image. Use this tutorial to get a quick introduction to Clarity and the default Blockstack test environment.
+| Audience | | **Beginners** |
+| Duration | | **15 minutes** |
+
+In this tutorial, you learn how to use Clarity, Blockstack's smart contracting language inside of a virtual environment. The environment is run using a [Docker](https://www.docker.com/) image. Use this tutorial to get a quick introduction to Clarity and the default Blockstack test environment.
+
+By the end of this tutorial you will ...
+
+* Have working test environment to run Clarity smart contracts
+* Have access to a set of sample contracts to play with
+* Understand basic Clarity language design principles
+* Deploy and run your own smart contract
+
+## Overview
* TOC
{:toc}
-
Clarity is in pre-release
-
Clarity and its accompanying toolset are in pre-release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/blockstack-core repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
+
Early Release
+
Clarity and its accompanying toolset are in early release. If you encounter issues with or have feature requests regarding Clarity, please create an issue on the blockstack/stacks-blockchain repository. To read previous or join ongoing discussions about smart contracts in general and Clarity in particular, visit the Smart Contracts topic in the Blockstack Forum.
## Before you begin (pre-requisites)
-The Clarity language goes live in the next Stacks blockchain fork. Until the fork, you can run Clarity in a test environment. You run this test environment in a Docker container. Before you begin this tutorial, make sure you have