Bank Account

Bank Account

Easy

Instructions

Simulate a bank account supporting opening/closing, withdrawals, and deposits of money. Watch out for concurrent transactions!

A bank account can be accessed in multiple ways. Clients can make deposits and withdrawals using the internet, mobile phones, etc. Shops can charge against the account.

Create an account that can be accessed from multiple threads/processes (terminology depends on your programming language).

It should be possible to close an account; operations against a closed account must fail.

Notes

The intent of this exercise is to investigate some of the parallels between an instance of a WebAssembly module and an instance of a class in OOP languages.

In your solution, a WebAssembly instance should be considered an instance of a bank account, and mutable WebAssembly globals should be used to model private states as in a class.

No linear memory should be required!

Edit via GitHub The link opens in a new window or tab
WebAssembly Exercism

Ready to start Bank Account?

Sign up to Exercism to learn and master WebAssembly with 25 exercises, and real human mentoring, all for free.