Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 175_gva_migration
  • 429_rm_features
  • i18n
  • main
  • pages
  • release/0.11
  • release/0.12
  • v0.1.0
  • v0.10.0
  • v0.10.0rc0
  • v0.10.0rc1
  • v0.11.0
  • v0.11.0rc0
  • v0.11.1
  • v0.11.2
  • v0.12.0
  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.5.0
  • v0.6.0
  • v0.6.1
  • v0.6.2
  • v0.6.3
  • v0.6.4
  • v0.6.5
  • v0.7.0
  • v0.7.1
  • v0.7.2
  • v0.7.3
  • v0.7.4
  • v0.7.5
  • v0.7.6
  • v0.8.0
  • v0.8.1
  • v0.9.0
  • v0.9.0rc
37 results

Target

Select target project
  • elmau/silkaj
  • Mr-Djez/silkaj
  • jbar/silkaj
  • clients/python/silkaj
  • Bernard/silkaj
  • cebash/silkaj
  • jytou/silkaj
  • c-geek/silkaj
  • vincentux/silkaj
  • jeanlucdonnadieu/silkaj
  • matograine/silkaj
  • zicmama/silkaj
  • manutopik/silkaj
  • atrax/silkaj
14 results
Select Git revision
  • 72_rework_tx
  • dev
  • master
  • patch-1
  • 0.1.0
  • 0.2.0
  • v0.3.0
  • v0.4.0
  • v0.5.0
9 results
Show changes
Showing
with 1321 additions and 2 deletions
docs/images/v0.8_pipeline.png

26.9 KiB

---
hide:
- toc
- navigation
---
# Welcome
![silkaj logo](images/silkaj_logo.png){ width="200" }
Welcome to Silkaj documentation
[Install :material-package-down:](install.md){ .md-button .md-button--primary } [Usage :material-keyboard-outline:](usage/index.md){ .md-button .md-button--primary }
## What is Silkaj?
Silkaj is a command line client for [Ğ1](https://duniter.org/g1/) libre currency powered by [Duniter software](https://duniter.org/).
<div class="grid cards" markdown>
- :fontawesome-solid-money-bill-1-wave:{ .lg .middle } __Money management__
______________________________________________________________________
Transfer money, check your balance, and history stand.
- :material-vector-polyline:{ .lg .middle } __Web-of-Trust management__
______________________________________________________________________
Manage your certifications, membership, and revocation document.
- :material-card-account-details-outline:{ .lg .middle } __Account management__
______________________________________________________________________
With the wallet import format authentication method.
- :octicons-terminal-16:{ .lg .middle } __CLI interface__
______________________________________________________________________
Silkaj is built around a command line interface design.
- :material-raspberry-pi:{ .lg .middle } __Low requirements__
______________________________________________________________________
Written with Python, Silkaj is built with low requirements in mind.
- :material-book-open-variant:{ .lg .middle} __RTM compatible__
______________________________________________________________________
Silkaj is compatible with the [Relative Theory of Money](https://en.trm.creationmonetaire.info/)
and includes Ğ1 Monetary License.
- :material-scale-balance:{ .lg .middle } __Free software__
______________________________________________________________________
Silkaj is licensed under :material-copyleft: :simple-gnu: [GNU AGPL v3](https://www.gnu.org/licenses/agpl-3.0.html).
</div>
---
hide:
- navigation
---
# Install Silkaj
## Distribution
Installing Silkaj from the package manager of your favorite distribution might not be available or might not come with latest Silkaj version.
In order to get latest version install Silkaj with `pipx` or `pip` from PyPI which you can find in next sections.
[![Packaging status](https://repology.org/badge/vertical-allrepos/silkaj.svg?columns=2)](https://repology.org/project/silkaj/versions)
## Unix
On a Unix system, run in your shell following commands:
### Install libsodium
=== "Debian"
```
sudo apt install libsodium23
```
=== "Fedora"
```
sudo dnf install libsodium-devel
```
=== "macOS"
```
brew install libsodium
```
### Install `pipx`
Check [`pipx` documentation](https://pipx.pypa.io/stable/) for an extended installation tutorial.
=== "Debian"
```
sudo apt install pipx python3-dev
```
=== "Fedora"
```
sudo dnf install pipx python3-devel
```
=== "macOS"
```
brew install python3 pipx
```
## Install with pipx
[pipx](https://pypa.github.io/pipx/) tool is recommended for Python executables.
It isolates libraries into separated virtual environments.
### Ensure path
Takes care to add Pipx executables in the `PATH` of your shell:
```
pipx ensurepath
```
### Install
```
pipx install silkaj
```
### Upgrade
```
pipx upgrade silkaj
```
### Uninstall
```
pipx uninstall silkaj
```
### Check Silkaj is working
```
silkaj
```
______________________________________________________________________
## Install with pip
`pipx` installation is recommended, but you can proceed with `pip` if you know what you are doing.
### Install `pip`
=== "Debian"
```
sudo apt install python3-pip
```
=== "Fedora"
```
sudo dnf install python3-pip
```
=== "macOS"
Already installed with `python3`
### Completing `PATH`
If after Silkaj intallation you get a `bash: silkaj: command not found` error, you have to extend the `PATH` with `~./local/bin`:
```bash
echo "export PATH=$PATH:$HOME/.local/bin" >> $HOME/.bashrc
source $HOME/.bashrc
```
### Install for current user only
```
pip install silkaj --user
```
### Upgrade
```
pip install silkaj --user --upgrade
```
### Uninstall (useful to see the real paths)
```
pip uninstall silkaj --user
```
### Check Silkaj is working
```
silkaj
```
## Shell completion
Set up the shell completion by adding following line in your shell configuration depending on your shell:
=== "Bash"
```title="$HOME/.bashrc"
eval "$(_SILKAJ_COMPLETE=bash_source silkaj)"
```
=== "Zsh"
```title="$HOME/.zshrc"
eval "$(_SILKAJ_COMPLETE=zsh_source silkaj)"
```
=== "Fish"
```title="$HOME/.config/fish/completions/silkaj.fish"
_SILKAJ_COMPLETE=fish_source silkaj | source
```
For further details checkout [Click documentation](https://click.palletsprojects.com/en/8.1.x/shell-completion/).
## Install to contribute
Check out the [installation guide with Poetry](./contributing/install_poetry.md).
# Account storage
Silkaj features the account storage to store and read security-wise important documents from a location on your local computer.
It is used to store and read authentication and revocation files with Silkaj.
It is recommended to use the storage instead of storing and reading these files anywhere on your system.
They are stored into `$XDG_DATA_HOME/silkaj`, aka `$HOME/.local/share/silkaj/$currency/$account_name` as:
- `revocation.txt`
- `authentication_file_ed25519.dewif` for v1 WIF and EWIF formats based on the approved [RFC n°13](https://git.duniter.org/documents/rfcs/-/blob/master/rfc/0013_Duniter_Encrypted_Wallet_Import_Format.md).
- `authentication_file_sr25519.json` for v2 encrypted json format
The account name is a local name given to a wallet.
It does not necessarily need to be the same identity username stored into the blockchain.
No verification what so ever is performed to check any correspondence between the local name stored into Silkaj account storage and the one stored on the blockchain or the indexer.
## Per currency storage
The storage is organized per currencies.
Depending on the specified endpoint with the endpoint options (`--endpoint`, `--gtest`) the currency will be determined. Based on the latter, it will be stored into `g1` or `g1-test` directory.
## Authentication
### Import
Import your authentication file into the storage.
In case you want to use an other authentication method than the default Scrypt method, use one of the authentication options which can be find in `silkaj authentication --help` usage.
Next command will store the authentication file in `$HOME/.local/share/silkaj/g1/test/authentication_file_ed25519.dewif`
```
silkaj --account test authentication <authentication option>
```
Note: `g1` and `test` folders come respectively from the default Ğ1 endpoint and `test` from the name of the passed account.
### Reading
Commands using authentication such as `money transfer`, `wot certify`, `wot membership`, and `money balance` will read the authentication file from the account storage.
With the general `--account` option, it will use the authentication file created in previous step.
```
silkaj --account test money transfer
```
## Revocation
### Input/Output
The general `--account` option (placed between `silkaj` and the sub-command) is used to read the authentication file and to write the revocation file in the same directory.
```
silkaj --account test authentication
```
### Creation
```
silkaj --gtest --account john wot revocation create
```
Will be stored into `$HOME/.local/share/silkaj/g1-test/john/revocation.txt`
### Reading
The revocation document can be read with `wot revocation publish` and `verify` commands as follow:
```
silkaj --gtest --account john wot revocation verify
```
Here we are reading the revocation file generated in previous step.
# Command-line interface reference
This page provides documentation of Silkaj command line interface.
::: mkdocs-click
:module: silkaj.cli
:command: cli
:depth: 1
:prog_name: silkaj
:list_subcommands: true
:style: table
# DeathReaper
![DeathReaper logo](../images/deathreaper_logo.svg)
DeathReaper is a service reporting Web of Trust exclusions on [Discourse forums](https://www.discourse.org/).
Images are created containing Silkaj + DeathReaper.
These images are operated on [DeathReaper repository](https://git.duniter.org/clients/python/deathreaper) with pipeline schedules.
### Installation
When installing Silkaj, you have to specify the optional [extra](https://peps.python.org/pep-0508/#extras) `deathreaper` distribution in order to get DeathReaper’s dependency [`pydiscourse`](https://pypi.org/project/pydiscourse/) installed.
It will therefore "activate" the feature, and `silkaj wot exclusions` command will become available.
```sh
pipx install silkaj[deathreaper]
```
With Poetry development environment:
```sh
poetry install --extras deathreaper
```
### Usage
DeathReaper was first released in Silkaj codebase with version 0.12.0.
Make sure `exclusions` command is present under `silkaj wot`, otherwise something probably went wrong with the installation.
Then run `silkaj wot exclusions --help` to check how to use it.
By default it will report the exclusions for the last day, from 24 hours in the past till now.
You can specify an other duration with `silkaj wot exclusions 0.5` for the last 12 hours, half a day, for example.
By default the report will be displayed in the terminal.
To have the report published on a Discourse forum, you have to pass following options `--api-id` `--*-api-key`, `--publish`.
Further code changes have to be done in order to support additional Discourse forums.
# Usage
- [Command-line interface reference](cli.md)
- [Account storage](account_storage.md)
- [Multi-recipients transfers and automation](multi-recipients_transfers_and_automation.md)
- [DeathReaper](deathreaper.md)
This diff is collapsed.
# G1 monetary license
## Available languages
- [(`en`) English](g1_monetary_license_en.rst)
- [(`eo`) Esperanto](g1_monetary_license_eo.rst)
- [(`es`) Spanish](g1_monetary_license_es.rst)
- [(`fr`) French](g1_monetary_license_fr.rst)
- [(`pt`) Portuguese](g1_monetary_license_pt.rst)
- [(`it`) Italian](g1_monetary_license_it.rst)
- [(`de`) Deutsch](g1_monetary_license_de.rst)
- [(`ca`) Catalan](g1_monetary_license_ca.rst)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
.idea/
Thumbs.db