--- tags: hunt title: Scavenger Hunt 2 description: How does your dApp know where to store a user’s private keys? image: https://near.org/wp-content/themes/near-19/assets/downloads/near_logo.svg GA: UA-188414449-3 --- # Scavenger Hunt Challenge `#2` ## How does your dApp know where to store a user's private keys? This challenge will take you on a tour of `near-api-js` documentation, the best way to connect your JavaScript dApp (client-side or server-side) to the NEAR network. You will have to read through a bit of NEAR's documentation and pay close attention to the differences between client and server side use cases. Good luck and have fun! --- **Estimates for Time to Complete** - Fastest time: **<10 seconds** (if you already know how to do this) - Most likely time: **5 minutes** - Time to quit: **10 minutes** (we can help you with some hints in this case) --- **Expected Response Format** - **name:** Firstname Lastname - **email:** you@example.com - **hunt:** 2 - **answer:** _(here letters represent names for technologies or programming languages)_ - `client-side: keystore 1` - `server-side: keystore 2` --- **1. Visit [docs.near.org](https://docs.near.org)** NEAR Protocol maintains documentation at [docs.near.org](https://docs.near.org). Here you can find details of building on NEAR, becoming a validator, integrating with NEAR and even contributing to the core platform. **2. Find the JavaScript Developer Introduction** Clicking on the `Develop` section of the documentation _(hint: see the top nav bar)_ will open a navbar on the left side of the page. Here you will find. section dedicated to `near-api-js`, NEAR's "JavaScript libary". The `Introduction` in this section will explain the differences between client and server-side usage of `near-api-js`. **3. Compare the client and server side implementations** Read the samples for client and server carefully, taking note of the differences between the lines that mention `keystore`. The keystore is where private keys are kept by your dApp and this can be one of 3 types: one for the browser, one for the server, and one in memory. There's also a combination keystore that lets you use any combination of these. **4. Format and submit your response** To submit your response to this challenge, compose your answer in the following format: ``` client-side: keystore 1 server-side: keystore 2 ``` --- You can learn more about keys here: https://docs.near.org/docs/videos/accounts-keys