# Get started with Casper
## 1. Create and deploy a simple, smart contract with cargo casper and cargo test
**Build the Contract**

**Test the Contract**

**Compile the NCTL binary scripts.**

**Set up all the assets required to run a local network, including binaries, chainspec, config, faucet, and keys. Also, spin up the network right after. The default network will have 10 nodes, with 5 active nodes and 5 inactive nodes.**

See the Faucet Account

**Deploying Contracts**
Install the client on most flavors of Linux

Check the Client Version

**Sending a Deployment to the Testnet**

**Check Deploy Status**

## 2. Complete one of the existing tutorials for writing smart contracts
**A Counter Contract Tutorial**
View the Network State
Faucet information

Get the state root hash

Query the actual state

**Deploy the Counter**
Builds the contracts and verifies

Call the casper-client put-deploy command to put the contract on the chain.

Verify that the deploy successfully took place.

**View the Updated Network State**
Get the NEW state-root-hash:

Get the network state:

**Increment the Counter**

**View the Updated Network State Again**
Get the NEW state-root-hash:

Get the network state, specifically for the count variable this time:

**Increment the Counter Again**

**View the Final Network State**
Get the NEW state-root-hash:

Get the network state, specifically for the count variable this time:

## 3. Demonstrate key management concepts by modifying the client in the Multi-Sig tutorial to address one of the additional scenarios
**Building the Smart Contract**
Compile the smart contract and create the WASM file

Setting up the Client

**Testing the Client**

**Additional Scenarios**
**Scenario 3: signing transactions with multiple keys**
Modify file package.json with following:

Result:

Final Result:

## 4. Learn to transfer tokens to an account on the Casper Testnet.

## 5. Learn to Delegate and Undelegate on the Casper Testnet.
**Delegate to a Validator**

**Undelegate to a Validator**
