Skip to content

ConsenSys-Academy/simple-bank-exercise

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3892a34 · Dec 7, 2023

History

66 Commits
Sep 7, 2021
Jun 24, 2021
Dec 7, 2023
Jan 6, 2019
Mar 14, 2022
Mar 14, 2022
Jun 24, 2021
Mar 14, 2022
Mar 14, 2022
Dec 6, 2023

Repository files navigation

Simple Bank Exercise

SimpleBank is a Truffle project that contains a starter contract, migration and Truffle JavaScript test files. In this exercise you are going to implement the SimpleBank.sol contract.

Setting The Stage

We want to create a depository institution on the Ethereum blockchain, and we need your help!
The bank should be able to enroll new users and allow them to make deposits / widthdrawals!

Files

  • contracts/SimpleBank.sol : the partial implementation of a Solidity Contract you will complete.
  • test/simpleBank.test.js : the Truffle test file that describes the behavior of a correct SimpleBank contract.

Requirements

  1. Latest truffle version.
    npm -g uninstall truffle && npm -g install truffle
  2. Install dependencies. console npm install
  3. Your preferred code editor.
  4. Familiarity with terminals.

Instructions

Follow the comments outlined in SimpleBank.sol to implement its functionality. The test are there to determine correct contract behavior as well as guide you through the implementation.

The general workflow is to use Test Drive Development's red green process:

  1. Run truffle test from a terminal.
  2. Use the failed test output along with the hints in contracts/SimpleBank.sol to make the test pass.

Note: Truffle will default to use a Solidity 0.5.x compiler with this contract as-is. To use the latest 0.8.x compiler, please comment out lines 9-14 in truffle-config.js.

Note on testing

Check out the testing files to see how tests are implemented in JavaScript. We will go over the details of implementing tests later in the curriculum. Of course, if you have questions, do reach out in Discord, or schedule an Office Hour session with one of our mentors.