paritytech / substrate

Substrate: The platform for blockchain innovators
Apache License 2.0
8.39k stars 2.65k forks source link

Documentation overview #578

Closed 0x7CFE closed 5 years ago

0x7CFE commented 6 years ago

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

SRML modules

Important types and traits

Typical module structure and module roles

Various subjects that probably need to be explained

chevdor commented 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.

kianenigma commented 5 years ago

@shawntabrizi have you ever seen this? Maybe we can also track doc process here?

ltfschoen commented 5 years ago

@Kianenigma this was where we could choose docs initiatives to work on before substrate-dev-hub became a thing

kianenigma commented 5 years ago

Then I suppose it should be closed if we don't intend to update it? CC @bkchr

0zAND1z commented 5 years ago

Limiting to asynchronous calls optionality​ from the substrate website has kept me researching on what exactly that means.

Is that WIP?

bkchr commented 5 years ago

I think @Kianenigma is right and we can close this.

@0zAND1z best is you ask in the Riot channel.