0.4 Introduction to Canisters Flashcards
What are backend canisters?
Canisters that have no contact with the user. They contain dapp functionalities
What are custom canisters?
Canisters that don’t fit into either front end or backend. they can be a mixture of front end and backend or may be used for specific individual functionalities within the dapp
What is a canister with no controller?
An immutable smart contract (value can’t be reassigned)
What are the different types of canister?
user, organization other canisters
How many actors can one canister have?
1
What are the two types of canister messaging
requests and replies
What is trapping?
When a canister doesn’t reply to a request
What are update calls used for?
to modify canister state
What are query calls used for?
To read data from the canister. they can not modify canister state
What are the 8 roles of a controller?
Ensure that the canister contains enough cycles
Deploy and maintain cycles
Deploy the mainnet
Start/stop canisters
Change canister parameters
Add/remove additional controllers
Delete canisters
Update canister code
How is canister code updated?
by controllers submitting a new Wasm module to replace the old one
Where should data you want to persist be stored in a canister if you are going to upgrade it? Why?
In the stable memory because Wasm memory is cleared when the canister is upgraded
What happens if a canister runs out of cycles?
The canister is uninstalled and deleted.
There is a freezing threshold to prevent this