> Note: A "principal" is any entity that can have a token balance. Find more details in the [Princials guide](/smart-contracts/principals).
-> Note: A "principal" is any entity that can have a token balance. Find more details in the [Princials guide](/smart-contracts/principals).
The API will respond with a balance, nonce (starting at zero), and respective proofs:
@ -130,7 +130,7 @@ The API will respond with a new transaction ID and confirmation that the faucet
}
```
> Note: Wait a few minutes for the transaction to complete. You can review the status using the Explorer, by navigating to the following URL: `https://testnet-explorer.blockstack.org/txid/<txid>`.
-> Note: Wait a few minutes for the transaction to complete. You can review the status using the Explorer, by navigating to the following URL: `https://testnet-explorer.blockstack.org/txid/<txid>`.
Assumping the faucet transaction was successfully processed, you can review the account history. We are expecting at least one transactions to show up in the account history.
@ -225,6 +225,6 @@ The API will respond with the following breakdown of token balances:
}
```
> Note: The `balance` field does **not** represent full Stacks token, but microstacks. 1,000,000 microstacks are worth 1 Stacks token.
-> Note: The `balance` field does **not** represent full Stacks token, but microstacks. 1,000,000 microstacks are worth 1 Stacks token.
We can see that the current Stacks balance is `500000` microstacks, or `0.5` Stacks token.
A Smart Contract is code running on the Stacks Blockchain that executes autonomously. Clarity is the safest language for writing Smart Contracts, optimized for predictability and security.
[@page-reference | inline]
| /smart-contracts/overview
### Stacks Mining
Anyone can be a Stacks Miner. There are no special hardware or software requirements, all you need is Bitcoin. Instead
of spending energy, Stacks miners transfer Bitcoin to holders of Stacks Token (Stacks) to mine a block. This mechanism is
called Proof of Transfer (PoX).
[@page-reference | inline]
| /mining
### Proof of Transfer (PoX)
Proof of Transfer (PoX) is the consensus mechanism that leverages the security and stability of Bitcoin to create new
blockchains, without modifying the Bitcoin protocol. PoX makes it possible to reward network participants with Bitcoin.
An example of this is Stacking.
### Stacking
Stackers are Stacks (Stacks) Token holders who provide a valuable service to the network by locking up their Stacks for a certain
period of time. As a reward, Stackers receive the Bitcoin that miners transfer as part of Proof of Transfer (PoX).
-> Proof of Transfer and Stacking are in active development and are coming soon
## Design specification
Stacks improvement proposals (SIPs) are aimed at describing the implementation of the Stacks blockchain, as well as
proposing improvements. They should contain concise technical specifications of features or standards and the rationale
@ -39,18 +75,19 @@ system-wide issue, and for documenting design decisions.
## Testnet phases
- ✅ **Helium** is a developer local setup, mono-node, assembling SIP 001, SIP 002, SIP 004 and SIP 005. With this version, developers can not only run Stacks 2.0 on their development machines, but also write, execute, and test smart contracts. See the instructions below for more details.
- [ ] **Neon** is the upcoming version of our public testnet, that we're anticipating will ship in Q2 2020. This testnet will ship with SIP 003, and will be an open-membership public network, where participants will be able to validate and participate in mining testnet blocks.
- [ ] **Mainnet** is the fully functional version, that we're intending to ship in Q3 2020.
- ✅ **Phase 1 (Neon):** is a developer local setup, mono-node, assembling SIP 001, SIP 002, SIP 004 and SIP 005. With this version, developers can not only run Stacks 2.0 on their development machines, but also write, execute, and test smart contracts.
- ✅ **Phase 2 (Argon):** is the current version of our public testnet. This testnet includes SIP 003, and will be an open-membership public network, where participants will be able to validate and participate in mining testnet blocks.
- [ ] **Phase 3 (Krypton):** is the upcoming version that we're anticipating to ship in Q3 2020. This version focus on the PoX basics (miner get rewards, Stackers get BTC distributions, etc).
- [ ] **Phase 4 (Mainnet)** is the fully functional version, that we're intending to ship in Q4 2020.
## Features
## Testnet roadmap
✅ Live features <inputtype="checkbox"disabled/> Upcoming
✅ Released features <inputtype="checkbox"disabled/> Upcoming
description: Learn how to set up and run a Stacks 2.0 testnet node.
description: Learn how to set up and run a testnet node.
icon: TestnetIcon
duration: 30 minutes
duration: 15 minutes
experience: beginners
tags:
- tutorial
@ -13,9 +13,15 @@ images:
## Introduction
The Stacks 2.0 testnet is currently in development. As part of the testnet, you can run a node and connect it to a public network. This guide will walk you through downloading and running your own node in the testnet network.
-> Note: The Stacks 2.0 testnet is currently in development. As part of the testnet, you can run a node and connect it to a public network.
### Prerequisites
This tutorial will walk you through the following steps:
- Download and install the node
- Running the node
- Mining Stacks token
## Requirements
Note: If you use Linux, you may need to manually install [`libssl-dev`](https://wiki.openssl.org/index.php/Libssl_API) and other packages. In your command line, run the following to get all packages:
@ -35,7 +41,7 @@ In case you just installed Rust, you will be prompted to run the following comma
source $HOME/.cargo/env
```
### Download and install the `stacks-blockchain` repository
## Step 1: Installing the node
Next, clone this repository:
@ -51,7 +57,7 @@ Install the Stacks node by running:
cargo install --path ./testnet/stacks-node
```
### Run your node
## Step 2: Running the node
You're all set to run a node that connects to the testnet network.
@ -69,7 +75,7 @@ INFO [1588108047.585] [src/chainstate/stacks/index/marf.rs:732] First-ever block
Awesome! Your node is now connected to the testnet network. Your node will receive new blocks when they are produced, and you can use your [node's RPC API](/core/smart/rpc-api) to send transactions, fetch information for contracts and accounts, and more.
### Mine Stacks token
## Step 3: Mining Stacks token
Now that you have a running testnet node, you can easily set up a miner.
With the transaction ID, we can check the status of the transaction. Every transaction needs to be confirmed by the network and will be `pending` as soon as it is broadcasted.
> Note: A transactions is completed once it is confirmed and the status changes to `success`. Most transactions will be pending for several minutes before confirmed. You should implement polling in your app to refresh the status display.
-> Note: A transactions is completed once it is confirmed and the status changes to `success`. Most transactions will be pending for several minutes before confirmed. You should implement polling in your app to refresh the status display.
```js
const transactions = new TransactionsApi(apiConfig);
description: Get familiar with the old Stacks 1.0 architecture
---
## Information
Stacks 1.0 is an older blockchain architecture Blockstack.
!> Stacks 1.0 arhcitecture is not compatible with Stacks 2.0. The information in this chapter is in reference to **deprecated** implementation details.