---
# System prepended metadata

title: ink presentation

---

# 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