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
- Latest truffle version.
npm -g uninstall truffle && npm -g install truffle
- Install dependencies.
npm install
- Your preferred code editor.
- 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:
- Run
truffle test
from a terminal. - 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.