# ink presentation
Frank:
1. Short recap of a pallet -> pallet contracts -> ink!
2. Why ink! (why rust)
Andrew:
3. Demo 1, showing:
* `new`
* contract structure (going through the macros):
* storage
* contructor
* message
* event
* ?environment? (which information (e.g. caller, balance of caller) is available by default, we could leave this for the next group since they will handle custom environments)
* ?traits?
* `check`
* `build` (what is special about cargo contract build compared to cargo build?)
* .contract:
* .wasm
* .json (explain metadata)
* `test`
* e2e-test (explaining / showing e2e-tests with a node running)
* `upload`
* `instantiate`
* Explaining the difference between uploading and instantiating
* `call` (showing how to call a contract)
* `decode` (?)
Daan:
4. Demo 2,
* delegator
* instantiate all together (original delegator example)
* instantiate delegator with already instantiated instances of other contracts (includes `selectors`)
* upgrade a contract
---------------------------------------------------
Leaves for the next group:
- storage
- traits (how big is this topic?)
- chain extensions
- (custom) environment