* **Build your application in any Javascript framework.** You can use the blockchain without learning a new programming language or extending your application stack. Currently, Blockstack supports a react generator for web applications and SDKs for both iOS and Android.
* **Use well-defined REST endpoints that simplify and encapsulate the blockchain backend.** The Blockstack Javascript API reduces blockchain operations to familiar GET and PUT operations.
* **Access the Blockstack’s Naming System (BNS).** The system has over 90K users that can immediately start using your application.
* **Scale quickly to large, performant production systems.** Blockstack’s Gaia storage system gives fast, scalable performance on a level comparable to Amazon S3, Google Drive, or Azure.
Open source developers from every continent use NPM to share software components
called packages. The Animal Kingdom uses React, Babel, and many other
components. You'll use the `npm` command to install these packaged components.
1. Open a terminal window on your system.
2. Verify you have installed `npm` using the `which` command.
<imgsrc="images/command-line.png"alt="">
If `npm` is installed, `which` returns the command's location in your environment.
3. If the `npm` command is not in your system, <ahref="https://www.npmjs.com/get-npm"target="\_blank">install it using the instructions for your operating system</a>.
Installing the NPM tool can take several minutes depending on your connection speed.
## Get the Animal Kingdom code
In this section, you copy the code for Animal Kingdom to your workstation.
1. In your browser (Chrome, Safari, etc), <ahref="https://github.com/blockstack/animal-kingdom"target="\_blank">open the Animal Kingdom code repository</a>.
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v67-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for fsevents@1.2.4 and node@11.1.0 (node-v67 ABI, unknown) (falling back to source compile with node-gyp)
SOLINK_MODULE(target) Release/.node
CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
...
added 1390 packages from 766 contributors and audited 15238 packages in 16.11s
found 1 high severity vulnerability
run `npm audit fix` to fix them, or `npm audit` for details
$
```
This command creates a `node_modules` subdirectory to your project code and
installs all the code libraries you need for your Animal Kingdom project.
3. Enter the `ls` command to list the contents of your project directory to verify `npm` installed correctly.
```
$ ls
```
The `node_modules`directory contains many core libraries used by Animal
Kingdom. For example, the Blockstack Javascript library is in the
`nodule_modules/blockstack/lib` subdirectory.
## Start you Animal Kingdom DApp
1. Start the Animal Kingdom DApp running on your workstation by entering:
```bash
npm start
```
The `npm` program uses the `scripts/start.js` file to package the Animal
Kingdom application. Once the code is packaged, the DApp opens Animal Kingdom
running at the `http://localhost:3000` URL in your browser.
2. From the initial Animal Kingdom screen, choose an animal person and a territory.
3. Press **Done** at the bottom of the page.
The Animal Kingdom makes a call to the Gaia hub to store your selection.
After a brief pause, the DApp returns you to the **Your Kingdom** page. If
you have problems, refresh the page and click **Your Kingdom** in the menu.
<imgsrc="images/kingdom-ruler.png"alt="">
4. Spend a little time exploring the application.
For example, you could edit your animal or visit the other pages such as **Animals** or **Territories**.
5. Go back to your terminal where you started your application is running.
6. Press `CTRL-C` to stop the application.
<imgsrc="images/kingdom-stop.png"alt="">
You can always start the application again with `npm start` command as you will later in this tutorial.
## Resources for Blockstack developers
Blockstack provides several resources that help developers who are building on
the Platform. Take a moment to investigate these resources:
This is a valuable resource to learn about the questions that other developers have now or have had in the past.
* Visit the <ahref="https://community.blockstack.org/"target="\_blank">Blockstack Community website</a> to learn about events that may be coming to your area.
* Join the Blockstack <ahref="https://slofile.com/slack/blockstack"target="\_blank"> Slack channel</a> which you can join by filling in the following <ahref="https://docs.google.com/forms/d/e/1FAIpQLSed5Mnu0G5ZMJdWs6cTO_8sTJfUVfe1sYL6WFDcD51_XuQkZw/viewform">form</a>.