Homework README for "Blockchain Technologies and Applications" - 2019 at BME
The basics (please read it carefully)
- Questions, inquiries, bugs, etc.: mail Imre Kocsis (ikocsis - at - mit.bme.hu)
- Homework is due by: 2019.05.15. We will provide an upload interface later.
- Solidity assignments here
- Composer assignments here
- You will be required to submit your solution as well as a short documentation. Templates are here. We ask you to provide a .sol/.bna file + a doc/pdf file in a single zip. Please use the naming convention [ASSIGNMENT_CODE]_[NEPTUN1]_[NEPTUN2].zip.
- You will be also required to demonstrate your solution in ~5 minutes in person. Time slots will be allocated for this for the last week of the semester and we will send around a doodle in advance.
- If you are stuck - reach out to us!
Notes on the Hyperledger Composer assignments
Technology and documentation-wise, everything you need to know can be found here. And to state again: you don't have to install it, you don't have to deploy it to a Fabric instance; all we require as submitted solution is the .bna file (+ documentation). You are allowed to simply test your solution in-browser, no hard feelings.
Some Hyperledger Composer assignments deal with explicit "money" transfers and "bank account" like constructs. As there is no native cryptocurrency in Hyperledger Fabric/Composer, a full solution would require you to model and implement a) an authority that "creates"/"destroys" money on the ledger and provides accounts for other Participants, b) mechanisms to ensure that no money is created out of thin air (apart from which the aforementioned authority creates), c) mechanisms for "transferring" money. You are very welcome to create such a solution - i.e. one that is equipped with a Bank or Central Bank -, but not required to do so.
Notes on the Ethereum Solidity assignments
You are not required to deploy your solution to the Ethereum mainnet; but we strongly encourage testing on a local (isolated) Ethereum node as well as on a testnet. As during the lectures, we suggest that you use the remix IDE - and your first task should be getting familiar enough with that. We also have a very nice guide (in Hungarian) here.
Contributors
Special thanks go to Péter Garamvölgyi and Flórián Deé, who have been instrumental in putting the assignments together.