d. Project #C: Wallet

Post date: Mar 17, 2019 11:18:1 AM

Goal:

In this homework assignment, you will learn and practice to use a cold wallet to manage your digital assets on blockchains.

You will get a cold wallet (KelvinWallet) device that is capable of signing some types of Ethereum transactions. The cold wallet is a USB HID device, and you can control it from your PC/laptop using the tools provided in kelvinjs-sdk hosted on GitHub: https://github.com/KelvinWallet/kelvinjs-sdk

The cold wallet device is capable of deriving multiple private keys at runtime following the BIP32/BIP44 convention. We recommend you just use "the first account" available (which is derived under m/44'/60'/0'/0/0)

You will need to initialize your cold wallet with a PIN code and a 24-word BIP39 mnemonic sentence (randomly generating a new one or importing a mnemonic you know). After that, you need to generate an Ethereum address and make an ERC20 transfer call on Ropsten testnet from this address.

Task:

    1. Install Node.js v10 and Yarn (we haven't yet support newer versions of Node.js like v12/v13)

    2. Install kelvinjs-sdk as described on https://github.com/KelvinWallet/kelvinjs-sdk

    3. Initialize your cold wallet

    4. Get an Ethereum address from it

    5. Transfer some ERC20 tokens (any ERC20 compliant token, any non-zero amount) from your address to 0xd2448AC204465aB30e20652421FA70B5DaF8Dd15 on Ropsten testnet.

    6. Take 6 photos of your KelvinWallet, when it shows the transaction details (in 6 pages)

    7. Finish all these and submit a PDF report to CEIBA before the deadline; the report should contain:

      1. Your student ID

      2. Your Ethereum address generated by your KelvinWallet

      3. The transaction ID of the ERC20 transfer generated from your KelvinWallet

      4. 6 photos: the full transaction details shown on your KelvinWallet when signing the tx

For detail description please refer to

https://docs.google.com/document/d/e/2PACX-1vQRrh9xTIOip1QLNha-f6HytMglIj6M350X-_FgHCxWStuimWmfasUnsoJFVNUiMeDngTcF7adrz_fd/pub