@ -239,7 +239,7 @@ The transaction completion will take several minutes. Only one stacking transact
## Step 6: Confirm lock-up
## Step 6: Confirm lock-up
The new transaction will not be completed immediately. It'll stay in the `pending` status for a few minutes. We need to poll the status and wait until the transaction status changes to `success`. We can use the [Stacks Blockchain API client library](/references/stacks-blockchain) to check transaction status.
The new transaction will not be completed immediately. It'll stay in the `pending` status for a few minutes. We need to poll the status and wait until the transaction status changes to `success`. We can use the [Stacks Blockchain API client library](/understand-stacks/stacks-blockchain-api#javascript-client-library) to check transaction status.
@ -76,7 +76,7 @@ The API will respond with the block time (in seconds):
Smart contracts can expose public function calls. For functions that make state modifications to the blockchain, transactions need to be generated and broadcasted.
Smart contracts can expose public function calls. For functions that make state modifications to the blockchain, transactions need to be generated and broadcasted.
However, for read-only function calls, transactions are **not** required. Instead, these calls can be done using the [Stacks Blockchain API](/references/stacks-blockchain-api).
However, for read-only function calls, transactions are **not** required. Instead, these calls can be done using the [Stacks Blockchain API](/understand-stacks/stacks-blockchain-api).
-> Read-only function calls do not require transaction fees
-> Read-only function calls do not require transaction fees
@ -104,7 +104,7 @@ Sample response for a successful call:
## Querying
## Querying
Stacks 2.0 network details can be queried using the [Stacks Blockchain API](/references/stacks-blockchain-api) and the [status checker](http://status.test-blockstack.com/).
Stacks 2.0 network details can be queried using the [Stacks Blockchain API](/understand-stacks/stacks-blockchain-api) and the [status checker](http://status.test-blockstack.com/).
@ -111,7 +111,7 @@ INFO [1588108047.585] [src/chainstate/stacks/index/marf.rs:732] First-ever block
**Awesome. Your node is now connected to the testnet network.**
**Awesome. Your node is now connected to the testnet network.**
Your node will receive new blocks when they are produced, and you can use the [Stacks Node RPC API](/references/stacks-blockchain-api#stacks-node-rpc-api) to send transactions, fetch information for contracts and accounts, and more.
Your node will receive new blocks when they are produced, and you can use the [Stacks Node RPC API](/understand-stacks/stacks-blockchain-api#proxied-stacks-node-rpc-api-endpoints) to send transactions, fetch information for contracts and accounts, and more.
@ -22,19 +22,22 @@ First, you'll need to understand the [Stacking mechanism](/stacks-blockchain/sta
You'll also need [NodeJS](https://nodejs.org/en/download/) `12.10.0` or higher to complete this tutorial. You can verify your installation by opening up your terminal and run the following command:
You'll also need [NodeJS](https://nodejs.org/en/download/) `12.10.0` or higher to complete this tutorial. You can verify your installation by opening up your terminal and run the following command:
```bash
```bash
$ node --version
node --version
```
```
You will also need to install the Stacks CLI from NPM:
You will also need to install the Stacks CLI from NPM:
```bash
```bash
$ npm install @stacks/cli -g
npm install @stacks/cli -g
```
```
## Generate An Account
## Generate An Account
```bash
```bash
$ stx make_keychain -t
stx make_keychain -t
```
```json
{
{
"mnemonic": "turn food juice small swing junior trip crouch slot wood nephew own tourist hazard tomato follow trust just project traffic spirit oil diary blue",
"mnemonic": "turn food juice small swing junior trip crouch slot wood nephew own tourist hazard tomato follow trust just project traffic spirit oil diary blue",
"keyInfo": {
"keyInfo": {
@ -62,7 +65,7 @@ curl -X POST https://stacks-node-api.xenon.blockstack.org/extended/v1/faucets/st
## Check Balance
## Check Balance
Confirm that the faucet transaction has completed by checking the balance of your address. The `-t` flag is used to indicate testnet. See the [CLI reference](references/blockstack-cli) for usage of flags.
Confirm that the faucet transaction has completed by checking the balance of your address. The `-t` flag is used to indicate testnet. See the [CLI reference](/references/stacks-cli) for usage of flags.
@ -275,7 +275,7 @@ A well-formed transaction construct is encoded in [Recursive Length Prefix ("RLP
In order to broadcast transactions to and between nodes on the network, RLP data is represented in hexadecimal string (also called the **raw format**).
In order to broadcast transactions to and between nodes on the network, RLP data is represented in hexadecimal string (also called the **raw format**).
To support an API-friendly and human-readable representation, the [Stacks Blockchain API](/references/stacks-blockchain-api) converts transactions into a JSON format.
To support an API-friendly and human-readable representation, the [Stacks Blockchain API](/understand-stacks/stacks-blockchain-api) converts transactions into a JSON format.
=> [The Stacks Transactions JS library](https://github.com/blockstack/stacks.js) supports serialization of transactions.
=> [The Stacks Transactions JS library](https://github.com/blockstack/stacks.js) supports serialization of transactions.
@ -404,7 +404,7 @@ There is no explicit time constraint between the construction of a valid signed
## Querying
## Querying
Transactions on the Stacks 2.0 network can be queried using the [Stacks Blockchain API](/references/stacks-blockchain-api). The API exposes two interfaces, a RESTful JSON API and a WebSockets API.
Transactions on the Stacks 2.0 network can be queried using the [Stacks Blockchain API](/understand-stacks/stacks-blockchain-api). The API exposes two interfaces, a RESTful JSON API and a WebSockets API.
For convenience, a Postman Collection was created and published: [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/614feab5c108d292bffa)
For convenience, a Postman Collection was created and published: [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/614feab5c108d292bffa)
The [Stacks Blockchain API](/references/stacks-blockchain-api) is an API that helps app developers to view and use the state of the Stacks 2.0 Blockchain.
The [Stacks Blockchain API](/understand-stacks/stacks-blockchain-api) is an API that helps app developers to view and use the state of the Stacks 2.0 Blockchain.
In this tutorial you will extend a to-do app to share individual lists publicly using the Stacks 2.0 blockchain. The to-do app was built in the [to-do app tutorial](/authentication/building-todo-app). The registry of shared to-do lists is implemented by a Clarity smart contract named [`todo-registry`](https://github.com/friedger/blockstack-todos/blob/tut/public-registry/contracts/todo-registry.clar). Data from this contract will be shown in the to-do app. The final app will look like this:
In this tutorial you will extend a to-do app to share individual lists publicly using the Stacks 2.0 blockchain. The to-do app was built in the [to-do app tutorial](/authentication/building-todo-app). The registry of shared to-do lists is implemented by a Clarity smart contract named [`todo-registry`](https://github.com/friedger/blockstack-todos/blob/tut/public-registry/contracts/todo-registry.clar). Data from this contract will be shown in the to-do app. The final app will look like this: