Code Monkey home page Code Monkey logo

concordium.github.io's Introduction

Concordium Documentation

Contributor Covenant

Before contributing please read and follow the principles outlined in

Other good documentation references include:

For building the documentation we use Sphinx and the theme from pydata-sphinx-theme with minor design tweaks.

Sphinx supplies a number of useful "directives" (The sphinx equivalent of LaTeX commands) for stuff like code highlighting, remarks, warnings and so on.

Additionally, we have enabled the extension for todo directives

.. todo::

   Write a todo here

To show TODOs as warnings when building the docs you need to uncomment the following line in /source/mainnet/conf.py:

# todo_emit_warnings = True

NB: This will only show TODOs for the files being built; as opposed to TODOs from all files.

To generate SVG graphics, we use the Graphviz extension.

Development

All of the documentation lives in the source directory; here there is a subdirectory mainnet for the developer document and a subdirectory academy for Concordium Academy. General content such as site images, stylesheets, and other templates are in the source directory.

Installation

Linux

Install python3 and the python package manager pip3.

The project uses pipenv and Pipfile to manage dependencies, so make sure to have this installed:

pip3 install pipenv

To install the python dependencies run:

pipenv sync

Install graphviz:

  • Ubuntu: sudo apt install graphviz

macOS

On macOS

brew install python3 graphviz
pip3 install pipenv
pipenv sync

Windows

Install python3 and select a python installer, e.g. this one. Download and run the launcher. Make sure to select "Add Python to PATH" at the bottom before proceeding with the install.

After that from a terminal run

pip3 install pipenv
pipenv sync

from the root of this repository.

If you want the graphs to render properly you also need to install the dot tool, which is part of the graphviz package.

Development

To watch the doc files and automate the build run:

Windows

Note: The exact command depends on which terminal type you are using. For example, in Powershell, you write .\make.bat dev-XXX where XXX is your target to build.

Mainnet

pipenv run make.bat dev-mainnet

and navigate to localhost:8000/mainnet.

Before committing, make sure to try to build and fix any warnings that are reported.

Note: When working on changes to the design it can be beneficial to disable caching, as it can cause UI problems. To disable it, add the -E flag to the dev command in the appropriate make file.

macOS and Linux

Mainnet

pipenv run make dev-mainnet

and navigate to localhost:8000/mainnet.

Before committing, make sure to run the linter and fix all the errors reported:

pipenv run make lint

Building the docs

Run the build script from project root:

pipenv run ./script/build.sh

To check for dead links (can also be done by the CI), run:

pipenv run make linkcheck-mainnet

Building the gRPC JSON schemas

The folder ./source/mainnet/net/references/grpc-json-schemas/ contains the JSON schemas used in the gRPC documentation.

To generate the schemas:

  1. Check out the derive-schema branch of Concordium Rust SDK.
  2. Run cargo run generate --output_folder <path-to-grpc-json-schema-folder>.

Deployment

The developer documentation is hosted by GitHub Pages and the released files can be viewed on the branch gh-pages. Likewise for the Concordium Academy site, the released files can be viewed on the gh-pages branch of the Concordium/concordium-academy repository.

Deployment is triggered manually using the Deploy workflow in GitHub Actions of this repository. This will build both the developer documentation and the Concordium Academy site, to ensure that links used by Academy are still valid. But only deploy the the developer documentation.

To deploy the Concordium Academy site trigger the Deploy workflow in GitHub Actions of Concordium/concordium-academy. This workflow will clone this repository, build and only deploy the Academy site.

Contributing

The source/mainnet directory contains documentation for the current Mainnet, and should always be compatible with the current Mainnet.

With only a couple of exceptions (Downloads and Ubuntu node), Testnet documentation is handled either via a note at the beginning of the topic (where the feature is not yet released on mainnet) or in a dropdown if it is an update to an existing feature where mainnet and testnet differ. Very small differences are handled inline in the text.

Style guide

Language

  • For a user guide, use second person ("you"). Avoid use of first person (we, I, me, our, etc).
  • Structure sentences, especially numbered procedures, using the imperative ("click on X") and with as few actions as possible per step.
  • Keep sentences short.
  • Prefer present continuous ("is") over future ("will be"), conditional ("should"), or past ("was").
  • Prefer active voice ("the baker adds a block") over passive voice ("a block is added").
  • Use the correct action depending on the device: "click" on a computer (when using a mouse), "press" a button on the keyboard, "tap" a button on a touchscreen device. "Select" can also be used. Nothing should be "hit".
  • Remember that you are generally writing for non-native English speakers so keep it simple.

For a list of approved Concordium terminology, see Terminology and definitions <https://docs.google.com/spreadsheets/d/18rDRELpEzUgD8770xk_KEF3ZXIUsev2pfkNYdJD1AqU/edit?usp=sharing>__. This document also contains brand guidelines for third parties.

Formatting

Headers

Use sentence-style capitalization, i.e., only capitalize the first letter of a header.

Be consistent in the use of characters for creating headers; use the following for each level of header:

========
Header 1
========

Header 2
========

Header 3
--------

Header 4
^^^^^^^^

Header 5
~~~~~~~~

Terminal commands and code examples

Use code-block:: console to show content from a terminal and prepend commands with $ without a space in between.

A space is added between $ and the command through CSS. This solution makes only the command itself copyable, thereby improving the user-experience.

Example:

.. code-block:: console

   $echo Hello, world!
   Hello, world!

Use code-block:: rust to show Rust content with correct formatting.

Use code-block:: toml to show TOML content with correct formatting.

Use code-block:: json to show JSON content with correct formatting.

Use code-block:: jsx to show JSX content with correct formatting.

A particular line number may be emphasized with :emphasize-lines:line_number option. Multiple lines are comma-separated and consecutive lines can be written with a dash (e.g. :emphasize-lines:10,12,15-17).

Use ``code`` to insert commands or output from a terminal screen into a line of text. For example:

To use this error type, the function ``piggy_smash`` should return ``Result<A, SmashError>`` instead of ``ReceiveResult<A>``

Do not confuse ``code`` with `code`. Text wrapped in single ` is so-called default role interpreted text. And do not use regular quotes, e.g. "code", for code examples.

Hyperlinks

Unless it is necessary to show the address, use the inline method for hyperlinks, e.g. `Concordium <https://www.concordium.com>`_.

If you have a hyperlink that will be used often in the same topic, you can insert the directive at the top or bottom of the file, e.g. .. _Rust: https://www.rust-lang.org/, and then reference it in the text, e.g. using the Rust_ programming language.

Buttons and clickable elements

Use **bold** to highlight keyboard buttons and clickable elements (e.g., Press **Enter**, Select **Next**). Do not use quotes for clickable elements or keyboard buttons.

Emphasis

  • Use *italics* for text emphasis (e.g., when introducing a new term: Obtain an identity from an *identity provider*.).
  • After the term is introduced avoid emphasising it again in the same text.
  • Do not use quotes for emphasis.

Indentation

Use three spaces for indentation. This aligns the directive name (note::) with the content of the directive (This line...).

Add an empty line between a directive and its content.

Example that follows both rules:

.. note::

   This line has three spaces in front of it and it has an empty line above it.

Variables

Use variables when it makes sense. Variables exist for most of the wallets and some other product names. It is preferred to use the variable instead of, e.g., browser wallet.

Add new variables in the file source/variables.rst.

Use the variables by:

  • Including a relative path to variables.rst, for example ../../variables.rst, at the top of the file.
  • Then using the variable bw, for example |bw|, in the text.

Dropdowns

Use dropdowns to consolidate information and give a cleaner, more user-friendly experience to the reader. Dropdowns are generally used when describing a procedure across the different wallets. You can nest dropdowns in dropdowns as in the export-import topic. Dropdowns are also used for FAQs. It is important to add an empty line between the dropdown directive and the content.

Example:

.. dropdown:: The text the reader sees on the clickable dropdown

   This text appears when the reader clicks on the dropdown element.

Glossary terms

Enter glossary terms in the glossary.rst if they are not already in the glossary. Pay close attention to the indentation in the glossary.

In the topic where the term is referenced, use the :term:<my term> directive when writing a glossary term in the text. If you want to use different text than how the term appears in the glossary, use the following format: :term:My terms<my term>.

Images

Save any images that you add in the Images folder. Create sub-folders as needed to store images.

Captions are not used. Instead the image context should be described in the text above it with a reference, such as "...in the image below...".

Images must have :alt: text for accessibility. Generally, image width is 100%. For mobile wallets, browser wallet image width is 25%. For buttons, image width varies depending on whether the button has text and the graphic. Width ranges between 25 and 50 px.

GIFs can be inserted but should only be used when it gives clarity to more complex actions. When using GIFs, the :alt: text is StreamPlayer and :align: is center.

Videos

To embed a video in a topic, use the raw directive.

   .. raw:: html

      <iframe src="https://www.youtube.com/embed/0UIyAlZjvLg?si=D0lguDkUjiHCKLcu" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Remove any fixed dimensions from the embed link information you copied from the video source. The sizing is handled in the stylesheet.

Preview

For non-technical users that might not want to install the tools above, you can request a preview in the GitHub pull request. The preview is added as a comment in the pull request and opens as a web page.

Another alternative if you do not want to build the documentation to preview, is to install install Esbonio https://marketplace.visualstudio.com/items?itemName=swyddfa.esbonio into VSCode. Then you can use the command palette to run >Esbonio:OpenPreview. This builds a preview file. This solution still requires that you have VSCode installed and the repository locally on your computer.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CC BY-SA 4.0

concordium.github.io's People

Contributors

3schwartz avatar abhconcordium avatar abizjak avatar amaurremi avatar annenkov avatar bargsteen avatar beejaz avatar bgodlin avatar bisgardo avatar chrmatt avatar concordium-cl avatar dg-concordium avatar doben avatar eb-concordium avatar jasagredo avatar jens-concordium avatar limemloh avatar lottekh avatar milkywaypirate avatar mkmks avatar orhoj avatar rasmus-kirk avatar shjortconcordium avatar smh1001 avatar soer8647 avatar soerenbf avatar supermario avatar td202 avatar thathegdegirl avatar zb-concordium avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

concordium.github.io's Issues

Update installation guide for Concordium Ledger app

Task description
When the Concordium Ledger app is available through the Ledger manager the installation documentation must be updated to reflect how to install it going forward, as we will stop supplying a release zip file for users to sideload the application.

http://developer.concordium.software/en/mainnet/net/desktop-wallet/install-ledger-app.html

Sub-tasks

  • Document howto install the Concordium Ledger app from the Ledger manager in Ledger Live.
  • Document the transition from a sideloaded app to one installed from Ledger Live. In particular howto remove the Concordium certificate as it is no longer required.

Logical concept of scheduled transfers does apparently not become clear in documentation

There are a lot of misconceptions among challenge contributors in the scheduled
transfer challenge. I think we could elaborate a bit more on the logical concept
1 transfer with multiple releases and the implications of that. The
technicalities are well described but an intro might be a bit sketchy. Applies
to both, documentation and concordium-client help.

Some things to consider:

  • make wording crystal clear: 1 transfer with x releases

    • transaction hash
    • amount is transferred completely from sender account
    • amount is transferred completely to receiver's account but locked up; adds to general balance but not "at disposal"
  • release amount can be the same (with intervals) or different (with schedule) for each release

  • scheduled transfer parts of documentation could refer more to each other somehow to get the full picture; only ConcordiumID part refers to transaction documentation

  • release schedule in ConcordiumID disappears in line with that list entries are getting released and added to the "at disposal" amount

  • the scheduled transfer is one entry in the block explorer; if you click on it, the list of releases unfolds.

Improve smart contract tool installation guide

Description

A user requested help getting up and running with an environment ready for smart contract development, but had issues installing cargo-concordium correctly.

The thread outlines the steps needed to get going. Basically:

  1. Download latest version of cargo-concordium
  2. Rename the file from cargo-concordium_x.x.x.exe to cargo-concordium.exe (same for mac/linux, but without .exe, I assume?)
  3. Make available on PATH

Right now, there are some extra steps for macOS under the downloads section. Maybe these would also make more sense in the installation guide (maybe both pages?)

Link to original discourse post: https://support.concordium.software/t/cargo-concordium-for-windows/150

Embed videos in docs

Embed YoutTube videos in docs

Sub-tasks

  • Embed Mobile Wallet videos
  • Embed Run a node on Ubuntu video

Add documentation for account recovery in desktop wallet.

Task description

In version 1.2 of the desktop wallet, we are adding the account recovery. This means that accounts are no longer lost if the backup is (but identities still are). We need documentation for when the user should do recovery and how to do it.

Feature proposal

Sub-tasks

  • Describe how the recovery process works.
  • Describe when recovery is necessary. (when the user loses their backup)
  • Describe/Link to how to restore a ledger from the seed phrase.
  • Describe why identities cannot be recovered.

Smart contract naming scheme missing details

Task description

Some details are missing from the description of the contract function naming scheme such as:

  • The function name is limited to 100 bytes.
  • The whole function name must be ASCII alphanumeric and punctuation, not just the contract name.

Make it clearer that users need to use `--grpc-port` when talking to testnet nodes.

Task description

Our distributions now (windows, mac, debian) can run both testnet and mainnet nodes at the same time. This presents an issue with how the nodes can be reached. The default grpc ports are 10001 on testnet.

I am not sure where exactly this should be pointed out, but at the moment it is too implicit. Perhaps a warning or notice in a few places would be best.

Difference between accounts made after a certain date

Task description

After Android issue 17 and iOS issue 23 have been implemented and released, new accounts will have their randomness saved in the database. Practically this means no new features yet, as the option to use the saved randomness to reveal more attributes on accounts will be implemented later.

However, the change will mean that if a user exports accounts with saved randomness, they cannot import it in a version of the mobile wallet that does not support saved randomness. So if they have an export containing accounts with their randomness saved, the user will need an updated version of the app to import them.

"Move an amount to the shielded balance" instructions inaccurate

Hi there, just a small issue I noticed while going through https://developers.concordium.com/en/testnet4/testnet/guides/accounts-transactions.html#move-an-amount-to-the-shielded-balance: the instructions for moving funds to the shielded balance say

Start by pressing the Shielded Balance area of the account card.

However, you cannot transfer funds to the shielded balance this way (since at this stage you have zero shielded balance). You must instead select the "normal" balance, and then the rest of the instructions work.

Video of Concordium Ledger app usage

Task description
A part of the submission for Ledger is a video of the application running on a Ledger device. In particular we need video of:

  • Verify public address on the Ledger device
  • Display transaction information before allowing signature
  • Reject a transaction on the Ledger device
  • Sign a transaction on the Ledger device
    The video should only be available to be part of the submission to get in the Ledger manager, but we could consider if it would be useful to include in the regular documentation.

Restructure Table of Contents

Task description

Restructure content so that there's a clearer division between main categories such as Installation, Getting started, Concepts, Reference, and Resources and between Mobile Wallet, Desktop Wallet, and Concordium Client.

Sub-tasks

  • Move existing topics into new categories (where needed).
  • Separate conceptual and task-based information in existing topics.

Add a reference for transaction NRG costs.

Task description

Add a reference for transaction NRG costs.

This currently only exists in an internal document, however it should be public since it is relevant for users of the chain, especially entities that are integrating a service to run on top of the chain.

Alternatively a document could be added to concordium-node/docs and linked from the developer website.

Update Downloads page for Mainnet

Task description
The Downloads page for Mainnet needs to be updated. The Testnet Downloads page has been updated with a new look, and this should, as a start, be translated to the Mainnet downloads page as well.*

Remember to make sure that all links are updated to the correct software releases.

Sub-tasks

  • Update layout
  • Update links
  • Double check that links work

Add label for component and priority.

Add guide on verifying integrity of downloaded files

It would be helpful for users to have explicit directions as to how to verify downloaded files by using the sha256 checksums listed alongside each download.

I don't know if we want this as a specific guide under installation (or whereever), or as a section on the downloads page, but it's something which is often included in addition to supplying the checksums of files (see "ledger-live" as an example: https://www.ledger.com/ledger-live/lld-signatures)

To produce a checksum of the downloaded file, the user can run:

Linux:

sha256sum <path-to-downloaded-file>

MacOS:

shasum -a 256 <path-to-downloaded-file>

Windows (powershell):

Get-FileHash <path-to-downloaded-file> -Algorithm SHA256

Furthermore, desktop wallet binaries are signed in order to be able to verify that the binary is indeed an official release from Concordium. Steps on how to verify against the produced signature should also be included here.

To verify a downloaded file (<file-path> placeholder in code block) using the provided signature, the user will need:

  • The signature file (<signature-file-path> placeholder in code block)
  • The public key matching the private key used to produce the signature (<pubkey-file-path> placeholder in code block)

The file can then be verified by running the following in a terminal:

openssl dgst -sha256 -verify <pubkey-file-path> -signature <signature-file-path> <file-path>

Sub-tasks

  • Verify by comparing with published checksum (all downloads with published checksum)
  • Verify with published signature (DTW)

Update documentation for account page in desktop wallet.

As of version 1.2 of the desktop wallet, the UI of the account page has changed significantly:

  • Accounts can be viewed in two different modes: simple and detailed
  • Actions from "more" submenu have been moved to detailed view
  • Account address can be viewed from simple along with 10 latest transactions for account (prior to 1.2, this section showed Identity attributes associated with the account)
  • Identity attributes have been moved to credential information, which is accessible through the detailed view menu.
  • Transactions can be filtered in the same fashion as when making a report over transactions, i.e. granular control over which transactions are shown, and not only options to hide rewards of specific types.

Transaction documentation

Split current transaction documentation in two: A conceptual topic and a reference topic for the Concordium Client.

Sub-tasks

  • Split topics and add to index
  • Update conceptual topic

Make sure to mention that ufw together with docker is problematic

Task description

Docker messes around with iptables ( https://github.com/chaifeng/ufw-docker#problem ) on linux which means in practice that it is not easy to block ports.

In particular the combination of ufw and docker is problematic. Ports exposed from the container will bypass any other firewall rules. We need to document this since the GRPC port is not considered secure at the moment and should be protected. There is a workaround available (see the link above) and things might be better/easier with firewalld and recent versions of docker, but I am not certain.

  • document the issue with docker, exposed ports, and ufw (in particular in how it applies to the dockerized node distribution)
  • document how to change the gRPC token from the default one. This will provide reasonable security if the token is only used through a secure tunnel.

Add documentation for automatic updates for desktop wallet

From version 1.2 and onwards of the desktop wallet, will (with users acceptance) be updated automatically. When an update is available the desktop wallet will show a notification, allowing the user to either postpone the update or restart and install the update.

The automatic update process does the following:

  • Downloads update
  • Verifies integrity of update (matches sha256 checksum + verifies signature using published public key)
  • Restarts application if verification i successful.

Update downloads page for testnet

Update downloads page for testnet

Sub-tasks

  • Get new links for all downloads
  • Edit content
  • [ ]

Add label for component and priority.

Update Run a node on Windows for mainnet

Update the guide to running a node on Windows currently only refers to testnet. Must be updated for use on mainnet.

Sub-tasks

  • Update guide with mainnet references
  • Update index

Describe credentials

Conceptual description of credentials

Sub-tasks

  • what are credentials
  • how are credentials used

Add label for component and priority.

Add description for editable account and identity names

Task description

In the fall release of the desktop wallet it will be possible to edit the names of accounts and identities. This must be described in the documentation. It has to be described how to edit the names, and any description of the account overview has to be updated as the account name is now also featured on the right-hand side of the screen.

Windows node documentation

Task description

Document the Windows node distribution

Sub-tasks

  • installation
  • configuration
  • logs/diagnostics
  • uninstallation
  • out-of-band catch-up

Installation

  • Download and run Node-1.0.2.msi (version subject to change), and follow the steps
  • Destination Folder
    • "Install Concordium Node to" - this is where the executable code is installed
    • "Install Concordium Node configuration and data to" - this is where configuration for the node, the blockchain databases and logs will be stored. The drive that this folder is on must have sufficient space to accommodate the database, and be sufficiently fast.
  • Node Runner Service Configuration
    • "Automatically start nodes at system startup" - the node(s) will run when the system boots. Choose this option if you will use the node frequently, or need it to be up-to-date at short notice.
      If this is not chosen, the node will need to be started manually when it is required. The time it takes for a node to get up-to-date with the chain will depend on how long since it was last up-to-date.
    • "Start nodes after installation is complete" - the node(s) will be started after installation. You might not choose this if you want to make further configuration changes before starting the node(s).
    • "Run a mainnet/testnet node" - choosing these options will run a node on the corresponding network.
    • "Report to the network dashboard" - choosing this publishes your node statistics to the relevant dashboard when the node is running.
    • "Public node name" - this is the name that will be listed for your node on the network dashboard, if it is running and reporting. (It has no other effect.)

Start menu shortcuts will be installed for starting, stopping and editing the configuration of the node.
Because the node is run as a system service, the User Account Control is required to authorize these.

There is no visible indication of the node running, since it is a background service.
However, it can be seen in the Task Manager by choosing "More details".
"Concordium Node Runner Service" is the service, while there should be an instance of "concordium-node.exe" for each node that is running, and "node-collector.exe" for each node that reports to a network dashboard.
On the "Services" tab "ConcordiumNode" will show as "Running".

If the nodes are running and reporting to the network dashboards, they should be visible there.

It should also be possible to connect to the node(s) with the desktop wallet(s).
The mainnet node is by default on port 10000, and the testnet node is on port 10001.

Configuration

The mainnet/testnet node configuration can be set with "Configure Concordium Node Service" from the start menu (in the Concordium Node folder).
Details of the options are given in service/windows/Configuration.md in the node repository.

A node can become a baker by the following process:

  1. Generate baker credentials and register them on an account (see relevant documentation for desktop wallet or concordium-client).

  2. Edit the configuration to add, in the [node.mainnet] or [node.testnet] section, as appropriate:

baker_credentials = 'C:\path\to\baker-credentials.json'

replacing C:\path\to\baker-credentials.json with the full path to the baker credentials file.

  1. Stop and restart the node runner service.

Note that the baker credentials file needs to be accessible by the SYSTEM user and cannot be encrypted.

Logs

The logs can be found at

  • C:\ProgramData\Concordium\Node Runner\mainnet\logs (for mainnet)
  • C:\ProgramData\Concordium\Node Runner\testnet\logs (for testnet)
    (The start of this path may be different if you specified a different installation folder for the configuration and data.)
    mainnet.log (or testnet.log) will contain the latest logs, with mainnet.0.log and mainnet.1.log containing progressively older logs.
    The log files are rolled when the latest log file exceeds 50 MB.

When nodes are stopped or started, this is also recorded in the system event log.
They can be found by opening Event Viewer, and then under Windows Logs->Application with the source "Concordium Node Runner Service".
If a node fails to start (e.g. due to a configuration issue) or quits unexpectedly, there will be an Error-level event that typically explains why.

Uninstallation

The Windows node can be removed from "Add or Remove Programs", by selecting "Concordium Node" and then "Modify", or from "Programs and Features" (in Control Panel) by selecting "Concordium Node" and then "Change".
Follow the Setup wizard, selecting "Remove".
You will be given the option to remove the node data folder.
If you intend to permanently remove the node, this is usually recommended, since it will delete the data and log files that the node creates, which may take up a considerable amount of disk space.
If you are only removing the node to perform an upgrade, or otherwise wish to keep the data or logs, or any other files that you might have added to the data folder, then do not select this option.

Out-of-band catch-up

When starting a node for the first time, it can take a while to catch up with the rest of the network, since it has to get all blocks from its peers.
It is possible to improve the performance by downloading the blocks before starting the node.
(It will still take time to process the blocks, but it will typically be faster than requesting them from peers.)

  1. Download the file:

    • https://dashboard.mainnet.concordium.software/blocks_to_import.mdb (for mainnet), or
    • https://catchup.testnet.concordium.com/blocks_to_import.mdb (for testnet).
  2. Edit the configuration file ("Configure Concordium Node Service") and add the following line to the [node.mainnet] or [node.testnet] section as appropriate:

node.args = ['--import-blocks-from', 'C:\Downloads\blocks_to_import.mdb']

Where C:\Downloads\blocks_to_import.mdb is replaced with the full path to the downloaded file. Remember to save the file.

  1. Stop and restart the node.

  2. Remove the line from the configuration file again, and save. Do not restart the node at this point; wait until it has caught up with its peers, which can be seen by monitoring the network dashboard.

Update documentation to include hashed session ID flows, for failed identities

Task description
The mobile wallet will have improved error handling, when identity issuance fail. The option to contact support via the pop-up or from the failed identity card should be explained. It might also be good to explain why initial accounts are removed from the wallet.

  • Explain the pop-up, and how to contact the identity provider
  • Explain how to find the reference on the failed identity card
  • Explain why initial accounts are removed, when identity issuance fails.

Note the slight difference between the first identity + initial account, and subsequent identities and initial accounts.

Example flows can be found in Figma.

Missing description of cancelled status for proposals

Bug Description

The current documentation for the list of proposed transactions does not describe the Cancelled state.

Expected Result

A description of the cancelled state as for the other states.

Versions

Current mainnet documentaiton as of July 27th, 2021.

Review/update the 'Run a Node' guide

Task description
Review/update the 'Run a Node' guide.

Sub-tasks

  • General review
  • How to change default ports
  • How to change the default gRPC token
  • Which ports should and shouldn't be public

Related: #106

User guides for Windows bakers are partly outdated and on different locations

Description

Documentation of how to register as baker for a Windows node should be revised.

  1. Some details are under installation (configure node and reference to register as baker in dw).
    • Some parts are under register as baker in client. This is outdated wrt the location of the baker credentials. 1. should also link here, if we still support the process.

Steps to Reproduce
n/a

Expected Result
Outdated documentation is deleted or updated. Information is consistent. Information is connected.

Actual Result
Information is partly outdated and on different locations.

Versions

  • Current testnet documentation.

Description of how to update a Ledger

Task description
At the moment we only have a description of how to set up a Ledger from scratch. We need some extra documentation on how to update a Ledger that is already set up.

Add label for component and priority.

Update terminology in Desktop Wallet documentation

Task description
As part of the update of terminology used in the Concordium Ledger app and the Desktop Wallet we have to update the corresponding pages in the documentation. The terms expected to be affected are:

  • PRF key
  • IdCredSec
  • IdCredPub
  • RegIdCred
  • RegId
  • Identity provider
  • Revocation threshold

Set up versions of documentation for mainnet and testnet

Task description

We will need two versions starting with the mainnet.

The testnet4 version will be removed since the testnet is going down, and a new version will need to be added.

I propose that the versions are mainnet and testnet going forward. The default one should be mainnet once that is operational.

How to generate a file with account credentials

Create topic on how to create a file with credentials - a prerequisite for adding more credentials to an account.

Sub-tasks

  • subtask 1
  • subtask 2
  • subtask 3

Add label for component and priority.

Please add SHA256 hash to relevant packages

Task description
Add sha256 hash to the download page.
Desktop wallet for linux. Windows and Mac installers are signed, but integrity check is available for Linux.
Concordium client all platforms.

Dashboard overview

Describe node dashboard

Sub-tasks

  • Describe information on node dashboard
  • subtask 2
  • subtask 3

Add label for component and priority.

"Add baker in desktop wallet" guide should refer to all platforms for how to run a node

Description
In guide documentation, bottom of page. it states "To start baking, you now have to start your node with the baker keys. See Run a node on a server with Ubuntu for more information about this."It should instead refer to all node runner guides for all platforms.

Steps to Reproduce
See above.

Expected Result
Paragraph refers to general node runner section or to each node runner guide.

Actual Result
Paragraph refers to Ubuntu node runner guide.

Versions

  • testnet documentation at current date

Update transaction documentation to include memos

Task description
The simple and shielded transactions in the mobile wallet will have the option to include a memo. The documentation should be updated to describe what memos are.

  • Memos are public and visible for everyone, so users should be cautious what they write.
  • Memos will increase the fee.
  • Memos from incoming transactions will be shown in the transaction log. If memos are too long, they will be cut off in the log, and can be seen in full in transaction details.

An example transaction flow can be found in Figma.

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.