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:
Install Node.js v10 and Yarn (we haven't yet support newer versions of Node.js like v12/v13)
Install kelvinjs-sdk as described on https://github.com/KelvinWallet/kelvinjs-sdk
Initialize your cold wallet
Get an Ethereum address from it
Transfer some ERC20 tokens (any ERC20 compliant token, any non-zero amount) from your address to 0xd2448AC204465aB30e20652421FA70B5DaF8Dd15 on Ropsten testnet.
Take 6 photos of your KelvinWallet, when it shows the transaction details (in 6 pages)
Finish all these and submit a PDF report to CEIBA before the deadline; the report should contain:
Your student ID
Your Ethereum address generated by your KelvinWallet
The transaction ID of the ERC20 transfer generated from your KelvinWallet
6 photos: the full transaction details shown on your KelvinWallet when signing the tx
For detail description please refer to