Closed 0x7CFE closed 5 years ago
I should be clarified where the documentation leaves, especially to help contributors contributing :) I currently see documentation in:
For instance:
I can´t help but think that the doc should leave within the repo itself and eventually be fetched there by the Wiki. Since the repo is using Asciidoc, that allows including snippets from the code, which is better than copy pasting in .md files (ie duplicating...)
Of course, the line needs to be drawn between referencing code in an asciidoc file or providing examples as Rust allows.
Your list @0x7CFE is definitely great to see what we have and what is still missing.
@shawntabrizi have you ever seen this? Maybe we can also track doc process here?
@Kianenigma this was where we could choose docs initiatives to work on before substrate-dev-hub became a thing
Then I suppose it should be closed if we don't intend to update it? CC @bkchr
Limiting to asynchronous calls optionality
from the substrate website has kept me researching on what exactly that means.
Is that WIP?
I think @Kianenigma is right and we can close this.
@0zAND1z best is you ask in the Riot channel.
This issue contains, in no particular order, a list of entities that need to be documented either inline in the code, or in the wiki.
Many of the terms below are well known in the blockchain world. Still, it may be useful to put an emphasis on our interpretation, i.e. what is different and what are the usage contracts. Of course, we may also link to a more general description somewhere on the net, like Wikipedia or Ethereum wiki.
For example, when describing blocks and transactions we may say, that usually, blocks in classic chains contain transactions that transfer funds from one account to another. But in our case, it's not the only option. Since block internals are fully specified by the chain and not by the Substrate itself, we call them extrinsics.
I believe this list may then act as an index to the whole documentation. The thing is that just by reading through this list one should be able to get a relatively good understanding of general concepts and top-level structure of the code base.
Note: If you took an item to work on, please edit the entry for others to see. Upon completion, please put a link to the wiki page or GitHub PR where it was done.
Explain most commonly used terms in detail
Various entry points and concepts to be aware of
impl_stubs!
construct_runtime!
- @shawntabrizi - https://github.com/paritytech/substrate/issues/1288decl_apis!
decl_module!
(WIP by @0x7CFE) - @shawntabrizi - https://github.com/paritytech/substrate/issues/1288decl_event!
decl_storage!
- @shawntabrizi - https://github.com/paritytech/substrate/issues/1288impl_outer_origin!
impl_outer_dispatch!
impl_outer_event!
impl_outer_inherent!
impl_outer_config!
impl_outer_log!
Call
(module level)PrivCall
(module level)Call
(dispatch level)PrivCall
(dispatch level)aux
SRML modules
example
(see this first)assets
- @ltfschoenbalances
consensus
contract
council
- @ltfschoendemocracy
- @ltfschoensession
- @ltfschoenstaking
- @ltfschoentimestamp
treasury
Important types and traits
*::Trait
*::Service
HasPublicAux
bft::Environment
bft::Proposer
BlockBuilder
Specialization<B>
Encode
/Decode
Executive
Typical module structure and module roles
api
cli
consensus
executor
network
primitives
runtime
service
Various subjects that probably need to be explained