---
# System prepended metadata

title: Get started with Casper

---

# Get started with Casper

---

## Task 1: Create and deploy a simple, smart contract with cargo casper and cargo test

Start all nodes on Virtual Environment

![](https://i.imgur.com/R7jthA2.png)

Deploying the Contract

![](https://i.imgur.com/LK2NpwR.png)

Check deploy status

![](https://i.imgur.com/D30ljJZ.png)

## Task 2: Complete one of the existing tutorials for writing smart contracts

**Multi-Signature Tutorial was choose.**

Run the Client by ***atomic***

```
(env) root@virtual-machine-57383-vps-eu:~/keys-manager/client# npm run start:atomic

> keys-manager@1.0.0 start:atomic
> node -r dotenv/config ./src/scenario-atomic.js


0.1 Fund main account.

Signed by: account-hash-7c6b454bcf90ffda2a67a19800e3d33883f11be56ef5a603721dda28116a935a
Deploy hash: 1db9e448d669c874f2df96c34a9f24deabe933ca3ee3812bb645f5cb2c096d05
Deploy result:
{
  deploy: {
    hash: '1db9e448d669c874f2df96c34a9f24deabe933ca3ee3812bb645f5cb2c096d05',
    header: {
      account: '01c8c5ebc6e496897e2875375076a577b68a667f14b047c89a678a7fa59e6b6b9b',
      timestamp: '2021-09-22T16:22:26.854Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '2f97ed341b0bccaa9271ebb31a9253c7440eac18459b7b0e0a1af96c0fc59768',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { Transfer: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

[x]0.2 Install Keys Manager contract
Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: 8bb3cc2b24ba0329bcef5260a4700b737dc54710986bb67e41b702d1a56dc351
Deploy result:
{
  deploy: {
    hash: '8bb3cc2b24ba0329bcef5260a4700b737dc54710986bb67e41b702d1a56dc351',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:23:31.199Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '8b75c87f0c5c33503df86050553e6a490fdee8d5154d9eececdc7c22618217c8',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { ModuleBytes: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

1. Set faucet's weight to 3

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: d02eac403c021459366f5da01c993d09b6bbf66eb6cb53fe709baa60535f8003
Deploy result:
{
  deploy: {
    hash: 'd02eac403c021459366f5da01c993d09b6bbf66eb6cb53fe709baa60535f8003',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:24:37.630Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '68202b10fef1445329aceeed4b093777f3adbeaca67e7e0549af274e062367a0',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

2. Set Keys Management Threshold to 3

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: 4ab9d8cd45afb9d3f98b195e69b55f553354ddb689882cdad9833e1d9b42cc7f
Deploy result:
{
  deploy: {
    hash: '4ab9d8cd45afb9d3f98b195e69b55f553354ddb689882cdad9833e1d9b42cc7f',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:25:42.559Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '3f3394304ff22fe422511e62eed631bc501385f67fdd1fe71891f7d375550324',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 3 }
}

3. Set Deploy Threshold to 2.

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: 59a7fc5f9763866aef7059ab5a10b469ab0cde580869889409ef9ea1421e99f5
Deploy result:
{
  deploy: {
    hash: '59a7fc5f9763866aef7059ab5a10b469ab0cde580869889409ef9ea1421e99f5',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:26:48.562Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '609e820d1eb41cd0fe90e6c5c4cf179afd2c9d9ba19bb0f21ca310a85450f228',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}

4. Add first new key with weight 1.

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: ff3f54dfed0c373bffe17a33740ff4193739177421c6a3ed2fada8ee5cfe66e5
Deploy result:
{
  deploy: {
    hash: 'ff3f54dfed0c373bffe17a33740ff4193739177421c6a3ed2fada8ee5cfe66e5',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:27:53.571Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: 'a6a5e5963e574604fa4afc2d6d50d9f5fd78ad506c9ae7280e8ee17807c2d703',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-a2dee374b053ba43eaf76b0cfa484dc7df25d922f64113b514d94f3e039907c8',
      weight: 1
    },
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}

5. Add second new key with weight 1.

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: 7d78e350bb693cf12020eb9d56adf1b445c8125e51ca81812f4d858831139496
Deploy result:
{
  deploy: {
    hash: '7d78e350bb693cf12020eb9d56adf1b445c8125e51ca81812f4d858831139496',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:28:58.410Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '684e20b90f1f8594611547788b22e8e3ff96a71b601922d6a5b68767f9d94625',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-a2dee374b053ba43eaf76b0cfa484dc7df25d922f64113b514d94f3e039907c8',
      weight: 1
    },
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    },
    {
      accountHash: 'account-hash-daf6d526fbe78aebe2f3be5013b100827e03d1d4b2b29a53944bae0a02510cf4',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}

6. Make a transfer from faucet using the new accounts.

Signed by: account-hash-a2dee374b053ba43eaf76b0cfa484dc7df25d922f64113b514d94f3e039907c8
Signed by: account-hash-daf6d526fbe78aebe2f3be5013b100827e03d1d4b2b29a53944bae0a02510cf4
Deploy hash: 6acdc52f36db8c5edca5aee4c30298eac6acc733fc72f60622009b00609f33af
Deploy result:
{
  deploy: {
    hash: '6acdc52f36db8c5edca5aee4c30298eac6acc733fc72f60622009b00609f33af',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:30:03.451Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: 'a3896d73a8e872ba47ff3041708782d7859063012b2dc8c1033e2656a8929331',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { Transfer: [Object] },
    approvals: [ [Object], [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-a2dee374b053ba43eaf76b0cfa484dc7df25d922f64113b514d94f3e039907c8',
      weight: 1
    },
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    },
    {
      accountHash: 'account-hash-daf6d526fbe78aebe2f3be5013b100827e03d1d4b2b29a53944bae0a02510cf4',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}

7. Remove the first account

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: 52868da236c135866fbf1b22b0bdf1d10e0021a13e3ae92c27e9b43a6d160a03
Deploy result:
{
  deploy: {
    hash: '52868da236c135866fbf1b22b0bdf1d10e0021a13e3ae92c27e9b43a6d160a03',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:31:09.377Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '2ec51bfec7ec48f0147fc1c69cfb8312c867c8d0d268069ac30d535702e88816',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    },
    {
      accountHash: 'account-hash-daf6d526fbe78aebe2f3be5013b100827e03d1d4b2b29a53944bae0a02510cf4',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}

8. Remove the second account

Signed by: account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f
Deploy hash: ffec85d0a6fe9fa4264cc064036a68c6166e393a35bc0c296bf78eb00ceb9520
Deploy result:
{
  deploy: {
    hash: 'ffec85d0a6fe9fa4264cc064036a68c6166e393a35bc0c296bf78eb00ceb9520',
    header: {
      account: '0202215217aa453bc70871641642bbd08cbe193c028072a3b79988705624a205857c',
      timestamp: '2021-09-22T16:32:14.209Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: 'e019c5ddc46c1f63ddb1ccbb75cfd8816ee69f2071f09157683b5016132dd209',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-13a9238f637efa15be658c196c186894f13e21ecad36d03ddae86e7b5a586bb6'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-6f8371e71d0becd6170a45d5be34e5065f09a4a2136882c8db14cde8b9a5d544-007'
    }
  ],
  mainPurse: 'uref-4f900e3d31f75533f0f5e28cb973e05130620feb70ff13337f54298f9da8b1fd-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-b41e0d598f028f0374cf31195df879e29a9a3faffe90d29fa1b032b708600f6f',
      weight: 3
    }
  ],
  actionThresholds: { deployment: 2, keyManagement: 3 }
}
```


## Task 3: Demonstrate key management concepts

**Scenario 1: signing transactions with a single key was choose**

Create a code script adapt with scenario 1 as below:

```
const keyManager = require("./key-manager");
const TRANSFER_AMOUNT = process.env.TRANSFER_AMOUNT || 2500000000;

(async function () {
  
  // 1. Set mainAccount's weight to 1.
  // 2. Set Keys Management Threshold to 1.
  // 3. Set Deploy Threshold to 1.

  let deploy;

  // 0. Initial state of the account.
  // There should be only one associated key (fuacet) with weight 1.
  // Deployment Threshold should be set to 1.
  // Key Management Threshold should be set to 1.
  let masterKey = keyManager.randomMasterKey();
  let mainAccount = masterKey.deriveIndex(1);

  console.log("\n0.1 Fund main account.\n");
  await keyManager.fundAccount(mainAccount);
  await keyManager.printAccount(mainAccount);

  console.log("\n[x]0.2 Install Keys Manager contract");
  deploy = keyManager.keys.buildContractInstallDeploy(mainAccount);
  await keyManager.sendDeploy(deploy, [mainAccount]);
  await keyManager.printAccount(mainAccount);

  // 1. Set mainAccount's weight to 1
  console.log("\n1. Set faucet's weight to 1\n");
  deploy = keyManager.keys.setKeyWeightDeploy(mainAccount, mainAccount, 1);
  await keyManager.sendDeploy(deploy, [mainAccount]);
  await keyManager.printAccount(mainAccount);

  // 2. Set Keys Management Threshold to 1.
  console.log("\n2. Set Keys Management Threshold to 1\n");
  deploy = keyManager.keys.setKeyManagementThresholdDeploy(mainAccount, 1);
  await keyManager.sendDeploy(deploy, [mainAccount]);
  await keyManager.printAccount(mainAccount);

  // 3. Set Deploy Threshold to 1.
  console.log("\n3. Set Deploy Threshold to 1.\n");
  deploy = keyManager.keys.setDeploymentThresholdDeploy(mainAccount, 1);
  await keyManager.sendDeploy(deploy, [mainAccount]);
  await keyManager.printAccount(mainAccount);
})();
```

Modify *package.json* for add the link to scenario 1 as below

```
{
  "name": "keys-manager",
  "version": "1.0.0",
  "description": "Examples using casper-client-sdk",
  "scripts": {
    "start:atomic": "node -r dotenv/config ./src/scenario-atomic.js",
    "start:all": "node -r dotenv/config ./src/scenario-all.js",
    "start:scenario_1": "node -r dotenv/config ./src/scenario_1.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "dependencies": {
    "casper-js-sdk": "^2.0.0",
    "dotenv": "^10.0.0"
  }
}
```

Run the code script:

```
root@virtual-machine-57383-vps-eu:~/keys-manager/client# npm run start:scenario_1

> keys-manager@1.0.0 start:scenario_1
> node -r dotenv/config ./src/scenario_1.js


0.1 Fund main account.

Signed by: account-hash-7c6b454bcf90ffda2a67a19800e3d33883f11be56ef5a603721dda28116a935a
Deploy hash: 8e5f8a6f27d9c3ca89c7931e389301efa51c69fce3d7fe51e7ef09b9510bb814
Deploy result:
{
  deploy: {
    hash: '8e5f8a6f27d9c3ca89c7931e389301efa51c69fce3d7fe51e7ef09b9510bb814',
    header: {
      account: '01c8c5ebc6e496897e2875375076a577b68a667f14b047c89a678a7fa59e6b6b9b',
      timestamp: '2021-09-22T16:28:49.334Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '968986486c1fd83ec31488207ed58d08b5c7ea264e8f4d3b631bcc4ed275de63',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { Transfer: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
  namedKeys: [],
  mainPurse: 'uref-c9734b40ca55810b8cb4ec67005344ac38a7307ef9ea4b1ca9a04d72170949ac-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

[x]0.2 Install Keys Manager contract
Signed by: account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a
Deploy hash: 1b6848bdfa8009189d54b90ac3406ec80b36ac397fa37abfccc6e34d1c74efbd
Deploy result:
{
  deploy: {
    hash: '1b6848bdfa8009189d54b90ac3406ec80b36ac397fa37abfccc6e34d1c74efbd',
    header: {
      account: '020244c893aa258b1552b0acdd43c50d8ca263dd958b48fd078e9b8c90e2be3f9334',
      timestamp: '2021-09-22T16:29:55.661Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '8b75c87f0c5c33503df86050553e6a490fdee8d5154d9eececdc7c22618217c8',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { ModuleBytes: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-a6d388a09cddc337f766d49c30a26ec1b8e5f347d5418f3ae648cffdced3a3ac'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-dede21950c9baf81137d5ea92818f94f8242b65c4fa513eb1860444091d3532e-007'
    }
  ],
  mainPurse: 'uref-c9734b40ca55810b8cb4ec67005344ac38a7307ef9ea4b1ca9a04d72170949ac-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

1. Set faucet's weight to 1

Signed by: account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a
Deploy hash: b74dcb4d490b56524269041d0dbce99f81ee3b92f68f92276d76cb639afebdbf
Deploy result:
{
  deploy: {
    hash: 'b74dcb4d490b56524269041d0dbce99f81ee3b92f68f92276d76cb639afebdbf',
    header: {
      account: '020244c893aa258b1552b0acdd43c50d8ca263dd958b48fd078e9b8c90e2be3f9334',
      timestamp: '2021-09-22T16:31:05.957Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: 'b6d163099b7b1580c0aed57d5857c2521cdcc0e98d0c3370cd1830e5855878af',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-a6d388a09cddc337f766d49c30a26ec1b8e5f347d5418f3ae648cffdced3a3ac'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-dede21950c9baf81137d5ea92818f94f8242b65c4fa513eb1860444091d3532e-007'
    }
  ],
  mainPurse: 'uref-c9734b40ca55810b8cb4ec67005344ac38a7307ef9ea4b1ca9a04d72170949ac-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

2. Set Keys Management Threshold to 1

Signed by: account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a
Deploy hash: 6765af4cb72bba35188f12cd92d38c85500d04790edb979f67d69050578b515f
Deploy result:
{
  deploy: {
    hash: '6765af4cb72bba35188f12cd92d38c85500d04790edb979f67d69050578b515f',
    header: {
      account: '020244c893aa258b1552b0acdd43c50d8ca263dd958b48fd078e9b8c90e2be3f9334',
      timestamp: '2021-09-22T16:32:11.972Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: 'fcbeef2291716fba37f9f05b6883b80e5985a3e7ccdd8e779cca24912b24871b',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-a6d388a09cddc337f766d49c30a26ec1b8e5f347d5418f3ae648cffdced3a3ac'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-dede21950c9baf81137d5ea92818f94f8242b65c4fa513eb1860444091d3532e-007'
    }
  ],
  mainPurse: 'uref-c9734b40ca55810b8cb4ec67005344ac38a7307ef9ea4b1ca9a04d72170949ac-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}

3. Set Deploy Threshold to 1.

Signed by: account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a
Deploy hash: 07330de87b3bd46f6b7fc4027410ecb1c45709f8dd595df653332452ddc3e119
Deploy result:
{
  deploy: {
    hash: '07330de87b3bd46f6b7fc4027410ecb1c45709f8dd595df653332452ddc3e119',
    header: {
      account: '020244c893aa258b1552b0acdd43c50d8ca263dd958b48fd078e9b8c90e2be3f9334',
      timestamp: '2021-09-22T16:33:16.955Z',
      ttl: '30m',
      gas_price: 1,
      body_hash: '4807b024a8e1e7c7d1da5a9101a21f38303d4689905d88d4585eec852fd7216b',
      dependencies: [],
      chain_name: 'casper-net-1'
    },
    payment: { ModuleBytes: [Object] },
    session: { StoredContractByName: [Object] },
    approvals: [ [Object] ]
  }
}

[x] Current state of the account:
{
  _accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
  namedKeys: [
    {
      name: 'keys_manager',
      key: 'hash-a6d388a09cddc337f766d49c30a26ec1b8e5f347d5418f3ae648cffdced3a3ac'
    },
    {
      name: 'keys_manager_hash',
      key: 'uref-dede21950c9baf81137d5ea92818f94f8242b65c4fa513eb1860444091d3532e-007'
    }
  ],
  mainPurse: 'uref-c9734b40ca55810b8cb4ec67005344ac38a7307ef9ea4b1ca9a04d72170949ac-007',
  associatedKeys: [
    {
      accountHash: 'account-hash-210551ae5bc84ac2ba62e727816c1609671003bffb44baabd704a76261a8e80a',
      weight: 1
    }
  ],
  actionThresholds: { deployment: 1, keyManagement: 1 }
}
```


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

![](https://i.imgur.com/he8Z0gn.png)

And

![](https://i.imgur.com/pcIUjMn.png)

## Task 5: Learn to Delegate and Undelegate on the Casper Testnet

**Learn to Delegate**

![](https://i.imgur.com/Dg4XmRl.png)

**Learn to Undelegate**

![](https://i.imgur.com/EmHGTMg.png)











