ink
ink copied to clipboard
Ensure consistent terminology of Deploy/Upload/Instantiate
The ink! code base uses this terminology:
- "Deploy Wasm binary"
- "Instantiate a deployed Wasm binary"
The Canvas UI uses this terminology:
- "Upload Wasm binary"
- "Deploy an uploaded Wasm binary"
We should have a consistent terminology across projects.
ToDo
- [x] Discuss which terminology we want to use
- [ ] Ensure the terminology is consistent across
-
- [x] ink!
-
- [ ] Canvas UI
-
- [x]
cargo-contract
- [x]
-
- [ ]
ink-docs
- [ ]
-
- [ ] Guided Beginners Tutorial
-
Happy to go along with whatever is in ink! and it seems more accurate to what is actually being done in each step
I would avoid the word "deploy" all-together as I think it is ambiguous:
- "Upload Wasm binary"
- "Instantiate an uploaded Wasm binary"
Upload and instantiate will no longer be separate steps with the upcoming v3 of pallet_contracts. There will be only:
-
instantiate
-
instantiate_with_code
To persist what we decided on:
- It's confusing to users that we use different terms synonymously.
- We no longer want to use the terms deploy/initialize for instantiating a contract on-chain, instead we want to use one term consistently which is instantiate. The RPC is also named
instantiate_*
. - There is one legacy mention of deploy, which is the
contracts
pallet API surface that requires a functiondeploy
to be exposed. We decided on leaving that as is, since it would be a huge hassle to change the name there. - We still refer to a contract being "uploaded" to a chain, when its Wasm code blob is put on-chain.
The issue seems to be fixed. cargo-contracts
uses terms instantiate
for code upload and instantiation and uplaod
for code upload. use.ink is also consistent with terminology