Git Product home page Git Product logo

docs's Introduction

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

$ yarn

Local Development

$ yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

Using SSH:

$ USE_SSH=true yarn deploy

Not using SSH:

$ GIT_USER=<Your GitHub username> yarn deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.

docs's People

Contributors

0xasten avatar aoudiamoncef avatar asapsegfault avatar aurelienft avatar ben-rey avatar damip avatar dependabot[bot] avatar greglibert avatar jcbaillie avatar joethecookie217 avatar julienbrs avatar leo-besancon avatar leoloco avatar lilyanb avatar litchipi avatar loonggamma avatar m4ns0ur avatar modship avatar omahs avatar pierregvx avatar pivilartisant avatar plouis01 avatar pucedoteth avatar qdrn avatar sebastien-forestier avatar slnpons avatar sydhds avatar thomas-senechal avatar thykof avatar windushka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docs's Issues

Initialization

Install docusaurus using typescript:

npx create-docusaurus@latest docu-dev classic --typescript

Bug - Build failed

$npm run build

> [email protected] build
> docusaurus build

[INFO] [en] Creating an optimized production build...

✔ Client
  

✔ Server
  Compiled successfully in 11.80s


✔ Client
  

● Server █████████████████████████ cache (99%) shutdown IdleFileCachePlugin
 stored

[ERROR] Unable to build website for locale en.
[ERROR] Error: Docusaurus found broken links!

Please check the pages of your site in the list below, and make sure you don't reference any path that does not exist.
Note: it's possible to ignore broken links with the 'onBrokenLinks' Docusaurus configuration, and let the build pass.

Exhaustive list of all broken links found:

- On source page path = /docu-dev/docs/build/smart-contract/webassembly-module:
   -> linking to ./quick-start (resolved as: /docu-dev/docs/build/smart-contract/quick-start)

    at throwError (/home/greg/code/docu-dev/node_modules/@docusaurus/logger/lib/index.js:76:11)
    at handleBrokenLinks (/home/greg/code/docu-dev/node_modules/@docusaurus/core/lib/server/brokenLinks.js:153:47)
    at async buildLocale (/home/greg/code/docu-dev/node_modules/@docusaurus/core/lib/commands/build.js:186:5)
    at async tryToBuildLocale (/home/greg/code/docu-dev/node_modules/@docusaurus/core/lib/commands/build.js:41:20)
    at async mapAsyncSequential (/home/greg/code/docu-dev/node_modules/@docusaurus/utils/lib/jsUtils.js:34:24)
    at async Command.build (/home/greg/code/docu-dev/node_modules/@docusaurus/core/lib/commands/build.js:76:21)
[INFO] Docusaurus version: 2.4.0
Node version: v19.7.0

Release ready - Meta

Even if not perfect this doc will soon be better than the one that is available right now. To be ready to switch we need to do the following:

General:

  • Remove TODO and create corresponding issues
  • Remove links to dead pages (tutorial for instance)
  • Finish Home pages of every sections:

Build Section:

  • #38
  • #40
  • Reference buildnet (network page)

Tutorial section:

Once everything else is done:

That's what I see for now. Maybe I'm missing things. Feel free to complete. There might be things overlapping with existing issues (feel free to link them here).

Let's target to have a first release ready version for the end of June and improve from there!

Learn - Short Introduction

The learn section could benefit from a short introduction that highlights the main selling points of Massa without going into the details. Right now it's a bit complicated for the general public.

Change all mentions of token symbol to XMA

Massa coins official symbol will be XMA.
Currently in documentation where we are referring to values of Massacoin, we use Massa or MAS, all need to be changed to XMA.

To do in all files in docu-dev repo

Build section - Meta

From #29

Quick Start

Smart Contract

Front end

  • QuickStart Front End

Test

  • QuickStart Test

API

Wallet

  • Intro
  • massa-station
  • wallet-provider
  • community-wallets

Network-faucets

Explorers

Massa-web3

Standards

Massastation-plugin

Package Versions

create quickstart

Create a quick start section that will propose a Hello world DApp:

  • with a smart contract
    • exporting a greetings function that can be called with or without a name
    • recognizing its creator (show case the constructor function)
    • including unit tests
  • with a front
    • using wallet-provider
    • massa-web3
  • using Thyra as wallet provider

The idea is to have a step by step guide as well as an already working git repo.

You get get inspiration from https://docs.near.org/develop/quickstart-guide

Learn - Consensus quality section - content

The context:

Current Massa docs section Architecture included the lengthy description of Endorsement mechanism, which don't fit the purpose of the Learn segment where will be located in the new Documentation we're making.

The objective of this task is to write the content of this new section 'Consensus quality initiatives'.It will provide the list of mechanisms Massa’s consensus has in place that make it optimal/better/more efficient.

The listed mechanisms in the Massa docs I found are:

  • Endorsements (requires rewriting some sections, described below)
  • Slashing (needs full write up)
  • Node banning (needs full write up)
  • add others if any.

The content structure can be found in this PR #34 - consensus-quality.mdx file.

Sub-tasks (per sub-section in docs):

1. 1-2 Intro paragraph:
To add:

  • create an introduction of why such mechanisms exists in Massa blockchain, how they optimize PoS and why we opted for these specific solutions.
  • mention if there are any future plans to add more mechanisms

2. Endorsements - improvements:
Currently under review in PR #34. I summarized some parts.
To do:

  • improve 'Technical decisions' section.
    Details:
    a) suggestion is to rename the current section Choosing the value of E and include all technical aspects mentioned there: Finality fork attacks, Security level, but shorter. The purpose is to explain the mechanisms and convice readers our Consensus is better because of it.
    b) suggestion: remove the simulation results section and display a sentence about the simulation results and a
    reference to the technical paper
    c) suggestion: remove 'Future features' subsection from this learning segment.

3. Slashing - full write up:
To add:

  • This mechanism should be described in full in the same way and structure the Endorsement;
  • Introduce the reasons for slashing in our PoS.
  • How it works - functionality (can be broken into subsections like Endorsements are)
  • Incentives and penalties sub-section - which describes how exactly we penalize stakers.

4. Node banning - full write up:
To add:

  • This mechanism should be described in full in the same way and structure the Endorsement;
  • Introduce the reasons for node banning in PoS, and situations when it occurs.
  • How it works
  • Incentives and penalties sub-section - which describes how exactly we ban nodes and what it means for the node runners.

Learn - Operation lifecycle -> add fees to content

The context
This PR #34 adds the Operation lifecycle sectio (operation-lifecycle.mdx file) which is a copy/paste from the current page in docs.

The objective of the task is to:

  1. improve the section content and diagram by introducing Transaction fees and concepts of Gas and/or Gas limit to it.
  2. If needed improve the content and diagram if the current schema is out of date.

Learn - Basic concepts content improvements

The context:

We took the current Massa docs section Architecture -> Introduction, and turned it into a new page which explains basic concepts of Massa blockchain.
The objective of the task is to create additional content, so that readers get a concise, not-too-techy introduction to Massa's main terminology.
Below I wrote suggestion on how to improve each sub-section.

The content structure can be found in this PR #34.

Sub-tasks (per sub-section in docs)

I suggest just linking small PRs for each or each few sections.

**1. Basic concepts → Ledger: -> DONE
To add:

  • a few sentences about ledger size limitations, and reasoning why we limit the size of Ledger.

2. Basic concepts → Address: -> DONE
To add:

  • Explain functionality of an address, simply, what it can do functionally.
  • Define the length of the address object in symbols;
  • Explain briefly how are addresses encrypted;
  • Explain prefixes in address naming;

3. Basic concepts → Smart Contract:
To add:

  • describe versioning of the SC
  • update the encryption paragraph as it will change with the testnet 24
  • Explain how SCs are different from addresses in terms of functionality (what permissions smart contracts have in terms of ledger read/write access, based on their address)
  • Why are they used - mention main use cases.

4. Basic concepts → Autonomous Smart Contract
To add:

  • description of the functionality of autonomous smart contracts on Massa
  • mention a few practical use-cases that would describe the value ASC brings
    to people familiar with workings of Smart contracts. -> DONE

5. Basic concepts → Storage cost section: -> DONE
To add:

  • describe how due to limited ledger space we introduce the storage cost
    concept.
  • describe who pays for the storage of smart contracts and how;
  • should be linked to the content in 3 sections above (Ledger, Address, SC)

6. Basic concepts → Operations section:
To add:

  • Describe what an operation is in a simple way.
  • Draw link to 'transactions' as called on other blockchains, so that the first time readers can understand it.
  • Mention the length of the Op hash on Massa blockchain. -> DONE

7. Basic concepts → Smart Contract → Execute SC operation:
To add:

  • A well described functionality of Execute SC, with a few key examples (~4-5 sentences).
  • Mention how Execute SC can be used to perform ledger changes without a need of deploying an SC. This is a unique Massa feature with a lot of usecases that can be mentioned and highlighted as a killer feature. -> DONE
  • Connect the content to the table of payload.

8. Basic concepts → Smart Contract → Call SC operation:
To add:

  • A well described functionality of Call SC, with a few key examples. (~4-5 sentences)
  • Connect the content to the table of payload.

9. Basic concepts → Smart Contract operations -> Tip (:::tip :::)
to add:

  • Give simple examples on when to use Execute and when Call SC.
  • Redirect to 'tutorials' section if we have any for these Operations

10. Basic concepts → Transaction fee
To add:

  • describe the concept of transaction fees at Massa and how the likelihood of Op being added to the block depends on it.
  • Introduce gas and gas limit
  • briefly introduce how transaction fees relate to gas and gas limit.
  • describe how transaction fees serve as rewards to Block creators/stakers.

11. Basic concepts → Block
To add:

  • Maximum block size -> DONE
  • Explain briefly final and stale blocks and redirect to learn [more](todo redirect to node-architecture.md -> Finalized blocks, stale blocks).

SC - test

Create a new section explaining how to test on massa.

This include:

  • unit tests with or without test table
  • integration testing (with the simulator)
  • running on a sandbox node

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.