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

Target

Select target project
  • pitchum/website_en
  • mmoya/website_en
  • griffedge/website_en
  • BorisPAING/website_en
  • thomasbromehead/website_en
  • LukeMarlin/website_en
  • calbasi/website_en
  • scanlegentil/website_en
  • jytou/website_en
  • guenoel/website_en
  • librelois/website_en
11 results
Show changes
Commits on Source (20)
Showing
with 138 additions and 44 deletions
......@@ -5,7 +5,6 @@ include/
lib/
local/
output/
pelican-plugins/
pelican.pid
pelicanconf.pyc
pip-selfcheck.json
......
stages:
- build
- package
- release
- deploy
build-job:
image: python:slim
stage: build
rules:
- if: '$CI_COMMIT_BRANCH'
script:
- mkdir -p /usr/share/man/man1 # Because of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199
- apt-get update && apt-get install -y plantuml graphviz
- pip install -r requirements.txt
- pelican content -s publishconf.py -e OUTPUT_PATH='"public"'
artifacts:
paths:
- public/
name: build
expire_in: 7 days
package-job:
stage: package
image: curlimages/curl:latest
script:
- PACKAGE_VERSION="$(date +%Y.%m).${CI_PIPELINE_IID}"
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/${PACKAGE_VERSION}"
- echo 'Creating generic package'
- cd public/
- tar cvf $HOME/website.tar *
- ls -al
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $HOME/website.tar ${PACKAGE_REGISTRY_URL}/website.tar'
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
release-job:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
script:
- PACKAGE_VERSION="$(date +%Y.%m).${CI_PIPELINE_IID}"
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/${PACKAGE_VERSION}"
- echo 'Creating release'
- release-cli create --name "$PACKAGE_VERSION" --tag-name $PACKAGE_VERSION --assets-link "{\"name\":\"wesbite.tar\",\"url\":\"$PACKAGE_REGISTRY_URL/website.tar\"}"
pages:
stage: deploy
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
script:
- echo "Publishing to Gitlab pages"
artifacts:
paths:
- public/
......@@ -8,14 +8,14 @@ You may want to reproduce this website locally, for developement purposes for ex
Clone the sources
git clone https://github.com/duniter/website.git
git clone https://git.duniter.org/websites/website_en.git
Install python stuff
cd website
virtualenv .
source bin/activate
pip install pelican pelican-youtube markdown beautifulsoup4
cd website_en
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Install system dependencies for plantuml plugin (plantuml and GraphViz utilities) :
```bash
......@@ -25,10 +25,11 @@ apt install plantuml graphviz
Generate the site
pelican
# or python3 -m pelican
Serve it
./develop_server.sh restart 8557
pelican --listen --autoreload --port 8557 # port is hardcoded in develop conf file
The website should be available at http://localhost:8557.
......@@ -38,7 +39,7 @@ You just need to give the production configuration file to Pelican:
pelican -s publishconf.py
You may want to change the production parameters, like the domain name: just edit `publishconf.py` and modify the `SITEURL` to whatever value you want.
You may want to change the production parameters, like the domain name: just edit `publishconf.py` and modify the `SITEURL` to whatever value you want. You can also override any other value simply by adding it.
For example if you want to host the site at `https://my.website.org`, set:
......
......@@ -20,7 +20,7 @@ The presentation was in French, but I took the time to translate it in case you
This day was an opportunity for client softwares to be presented. Let's see the two firsts: *CuteCoin* and *uCoinApps*.
### Cutecoin
The morning was dedicated to [Cutecoin](https://github.com/duniter/sakia), the very first client of uCoin software. We steped through:
The morning was dedicated to [Cutecoin](https://github.com/duniter/sakia), the very first client of uCoin software. We stepped through:
* Current state of the application
* Work to be done
......@@ -75,21 +75,21 @@ The morning has seen the demonstration by Stéphane Laborde, the author of the R
**The RTM in color** ([english](http://cuckooland.free.fr/TheRtmInColor.html) or [french](http://cuckooland.free.fr/LaTrmEnCouleur.html) version) is a brilliant web application to simulate and explore the concepts of a Freedom Money.
![](/content/images/2015/08/rtm_in_color-1024x664.png)
![Screenshot of the "The RTM in color" tool](/content/images/2015/08/rtm_in_color-1024x664.png)
**The RTM for the kids** (available in [french](http://cuckooland.free.fr/LaTrmPourLesEnfants.html) only) is an interactive presentation trying to explain what is a Freedom Money and the RTM to kids, thanks to Elise and its fairy friend:
![](/content/images/2015/08/rtm_for_the_kids.png)
![Image of the RTM for kids](/content/images/2015/08/rtm_for_the_kids.png)
### Subscription to metab_brouzouf currency
The afternoon was the occasion for people to try Cutecoin and [subscribe to metab_brouzouf currency](http://forum.ucoin.io/t/subscribing-to-meta-brouzouf-testing-currency)! As you can see, we now are about 23 active members testing uCoin:
![](/content/images/2015/08/wot_fmm5.png)
![A web of trust snapshot](/content/images/2015/08/wot_fmm5.png)
And here is the currency overview:
![](/content/images/2015/08/metab_fmm5.png)
![uCoin currency snapshot](/content/images/2015/08/metab_fmm5.png)
## Conclusion
......
......@@ -17,7 +17,7 @@ For those who hadn't followed closely this experiment, here are some recalls to
The uCoin project started during summer 2013. After a year and a half of development, on January 2015, the bases were considered established and the first pieces of code ready to be tested. It was then important to propose a first currency, was it a testing one, to allow other developers to produce *client softwares* equiped with graphical interfaces easing the money usage.
<center>[![](https://camo.githubusercontent.com/39705402deb44e50a1b48b5ed1206394593278dd/68747470733a2f2f7261772e6769746875622e636f6d2f75636f696e2d696f2f73616b69612f6d61737465722f73616b69612e706e67)](http://sakia-wallet.org)</center> <center>_Logo of the first client: Sakia software_</center>
<center>[![Sakia logo](https://camo.githubusercontent.com/39705402deb44e50a1b48b5ed1206394593278dd/68747470733a2f2f7261772e6769746875622e636f6d2f75636f696e2d696f2f73616b69612f6d61737465722f73616b69612e706e67)](http://sakia-wallet.org)</center> <center>_Logo of the first client: Sakia software_</center>
Indeed, even if uCoin is the software at the heart of the money, its role *is not* to manage *your* transactions specifically, *but to handle any document* making it possible to live.
......@@ -40,7 +40,7 @@ We can only observe that this objective, at the end of the experiment, was reach
It's worth noting an active contributor of [YunoHost](http://yunohost.org) team also developed [a uCoin packet for YunoHost](https://github.com/duniter/duniter_ynh) greatly easing the installation of uCoin for self-hosting addicted people!
<center>[![](https://avatars1.githubusercontent.com/u/1519495?v=3&s=200)](http://yunohost.org/)</center>
<center>[![YunoHost logo](https://avatars1.githubusercontent.com/u/1519495?v=3&s=200)](http://yunohost.org/)</center>
### The known limits
......@@ -60,8 +60,6 @@ Finally, the lifetime of **1 month** for certifications and memberships is way t
For these reasons, no chance for this money to stay in time.
<center>![](http://forum.ucoin.io/uploads/default/original/1X/da2e4d72317b4bb205d2b56001bb1add75435113.png)</center>
## The experiment results
Despite these parameters which promised the early end of this testing currency, this latter totaly played its role notably because [several client software were borns](#thefirstclients), but also no less than **115 users** have actively participated the currency, and this despite of the project youth which requires a certain effort to reach the status of individual creating money.
......@@ -113,5 +111,3 @@ As said earlier, this testing currency was an occasion to discover the limits of
We have already implemented its next version **0.2** which carries a lot of newness. And so, what will happen?
The next couple of weeks will tell you.
<center><div style="width: 400px">![](http://forum.ucoin.io/uploads/default/original/1X/5deea7ee59d908a917eb2f099d44e8ee05e50198.png)</div></center>
......@@ -9,5 +9,3 @@ Thumbnail: /images/box.svg
Duniter upgrades again to a superior version and is now very close to exploitation level! This version allows to tune the last technical details before thinking seriously about the setup of a real, in-production libre money.
To get more details concerning this version, and to update your installation, [please go to the official announcement (french)](https://forum.duniter.org/t/nouvelle-version-0-40-vers-un-protocole-dexploitation/1334) made on the forum.
![](https://forum.duniter.org/uploads/default/optimized/2X/e/e77c36e74254de2b20365284782b956eef96a496_1_690x417.png)
......@@ -78,7 +78,7 @@ PercentRot: 0.67 # => 33.5% of calculators are excluded
### With Duniter Desktop:
![](./images/gune-test-restarted/sync.png)
![Screenshot showing how to synchronize](./images/gune-test-restarted/sync.png)
### With Duniter Server:
......
......@@ -20,7 +20,7 @@ You will also find the interventions of:
* Eloïs which presents its specialized node [duniter-currency-monit](https://github.com/duniter/duniter-currency-monit)
* Kimamila which presents the new features of Cesium
![](./images/rml9/paperwallet.png)
![A Paperwallet](./images/rml9/paperwallet.png)
## RML10 in Montpellier
......
......@@ -6,7 +6,7 @@ Slug: duniter-rmll2017
Authors: cgeek
Thumbnail: /images/calendar.svg
[![](../images/rmll2017.png)](https://2017.rmll.info/)
[![RML banner](./images/rmll2017.png)](https://2017.rmll.info/)
The 2017 Worldwide Free Software Meeting (RMLL) will take place in Saint-Étienne from 1st to 7th July 2017.
......
......@@ -36,11 +36,11 @@ The Cesium client was historically delivered with Duniter. With the arrival of m
## Synchronization
> <span class="icon">![](../images/icons/white_check_mark.png)</span> No need to resynchronize.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> No need to resynchronize.
## Compatibility
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
-----
......
......@@ -15,7 +15,7 @@ In reality, it goes beyond a simple ergonomic change. Small tour of the owner.
First, the ergonomics was revised: we wanted the site to be more attractive and not hinder its consultation. Some extra images and a revised layout avoid a too austere reception:
![]({filename}./images/rework/change.png)
![Screenshot of the website before and after the change]({static}./images/rework/change.png)
## A fully editable site
......@@ -23,7 +23,7 @@ One of the great novelties: the site is now [entirely editable](../wiki/enhance-
You will find on each page in the sidebar a button "Edit page on GitHub" or "Edit article on GitHub". It looks like this:
![]({filename}./images/wiki/btn_modifier.png)
![Screenshot of the newly available edit button]({static}./images/wiki/btn_modifier.png)
You will be able to propose modifications or even add new content to this site. A simple validation of our part, and here is the modified site!
......
......@@ -18,11 +18,11 @@ This patch has been tested on a network node Ğ1, which immediately reveals node
## Synchronization
> <span class="icon">![](../images/icons/white_check_mark.png)</span>No need to resynchronize.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span>No need to resynchronize.
## Compatibility
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
-----
......
......@@ -20,11 +20,11 @@ For details on all these changes, see [release notes](https://github.com/duniter
## Synchronization
> <span class="icon">![](../images/icons/white_check_mark.png)</span> No need to resynchronize.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> No need to resynchronize.
## Compatibility
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
-----
......
......@@ -21,11 +21,11 @@ This new version brings mainly a lot of important fixes for the stability of the
## Synchronization
> <span class="icon">![](../images/icons/white_check_mark.png)</span> No need to resynchronize.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> No need to resynchronize.
## Compatibility
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
> <span class="icon">![White check mark](../images/icons/white_check_mark.png)</span> Compatible with Ğ1.
-----
......
......@@ -76,7 +76,7 @@ It is of the utmost importance that we remain free from any state or corporation
* __In-degree of vertex A__: number of incoming edges / head ends to A.
![degress of a vertex diagram]({filename}/images/wiki/degrees.jpg)
![degress of a vertex diagram]({static}/images/wiki/degrees.jpg)
* __Path__: -aka “walk”- path to follow to get from vertex A to vertex B.
......@@ -195,7 +195,7 @@ As soon as the genesis block has been created, the other identities can start mi
The distance rule is there to curb the maximum size of a Sybil region as well as that of the monetary community as a whole. The `xpercent` parameter prevents the creation of a ‘faction’ that could take hold of the blockchain.
![Sybil region]({filename}/images/wiki/wot-sybil.jpg)
![Sybil region]({static}/images/wiki/wot-sybil.jpg)
The Sybil regions are isolated from the rest of the graph in the sense that they can only receive certifications from other ill-intentioned Sybil members. As a consequence, the shortest edge/path between a legitimate member and a Sybil one has to have the attack’s author as an endpoint. The maximum depth the Sybil region can attain is therefore contingent on the distance between the attacking edge-s- and the xpercent% closest referent members, this distance is known as `stepAttackers`.
The maximum size of a Sybil region created by `sigQty` members depends on the L parameter, defined as L = sigQty/sigStock:
......@@ -212,7 +212,7 @@ However we know for a fact that members will never use all of their available ce
Our goal with the Ğ1 is to create a community of about one million members enjoying the world’s first true [catallaxy](https://en.wikipedia.org/wiki/Catallaxy) -free economy with a spontaneous order of things-. Let’s see how we can tweak the pair of sigQty and stepMax- to reach this size:
![graphe WoTmoy en fonction de sigQty et stepMax]({filename}/images/wiki/graph-WoTmoy.png)
![graphe WoTmoy en fonction de sigQty et stepMax]({static}/images/wiki/graph-WoTmoy.png)
The maximum size of a Sybil region grows linearly with `sigQty` but exponentially with `stepMax`. Logic has it that we need to keep `stepMax` as low as possible to ensure sufficient strength to the web. The above graph shows that the lowest value of `stepMax` for a web of a million members is of 5. This is an order of magnitude and is likely to be much higher in reality, we cannot measure it for sure.
......@@ -239,7 +239,7 @@ To help us deter a Sybil attack, we’ve decided to impose a minimum period of t
Here is a graph showing the evolution of a Sybil region with the variation of `sigPeriod`:
![graph of the WoT's size according to sigPeriod and stepAttackers]({filename}/images/wiki/impact_sig_period.png)
![graph of the WoT's size according to sigPeriod and stepAttackers]({static}/images/wiki/impact_sig_period.png)
As you’ll easily be able to tell, there is a strong link between the growth speed of the region and `sigPeriod`. As evidenced here, we need a `sigPeriod` high enough in order to ensure that the legitimate web can grow at least as fast as a Sybil region.
In addition, the higher `sigPeriod` is, the more members will exercise their certification power gingerly, the action coming at a higher ‘cost’.
......
Title: Duniter v2 with Substrate 🏗
Date: 2022-04-21
Category: duniter
Slug: duniter-substrate
Authors: hugo
Thumbnail: /images/logos/duniter.png
[TOC]
## A necessary and beneficial evolution 👍
Duniter software has seen many evolutions since its launch [in April 2016](/ucoin-rename-duniter), and so have blockchain technologies. While at the time a "home-made" solution was relevant, we believe that it is now better to base our software on widely tested and proven bricks to ensure scalability. We found the [Substrate](https://substrate.io/) blockchain framework to be particularly well suited to our needs. Indeed, its modular architecture by "[pallet](https://docs.substrate.io/v3/getting-started/glossary/#pallet)" will let us assemble bricks developed by professionals and focus on what makes Duniter unique: its web of trust and the monetary creation by Universal Dividend (UD).
### Migrating the Ğ1 🏆
Duniter's first objective is to power the Ğ1 currency whose web of trust currently counts 4971 members with a 300 members / month growth rate. We want to work together with the community to make the transition towards Duniter v2 as smooth as possible without a "hard fork". Each member will keep his/her status, each wallet will keep its balance, the currency parameters will remain nearly unchanged, wallets (formerly "clients") software will be adapted, and we will try to make the transition as short as possible (ideally less than a day).
### International outreach 🌍
Unlike the "home-made" solution documented mainly in French, Substrate is opening us to an international community of developers. Duniter will bring what the cryptocurrency world is missing: a solid and sound monetary theory. Conversely, the cryptocurrency world will provide Duniter with the expertise needed to take the next step in experimenting with a free currency. To make understanding easier, we will be using a precise vocabulary [(fr)](https://forum.duniter.org/t/vocabulaire-de-base-pour-comprendre-duniter-v2s-lecture-fortement-recommandee-pour-tous/9053) already well established in the domain.
### Blockchain as a common resource 🌲
[🔗 forum (fr)](https://forum.duniter.org/t/comment-partager-equitablement-cette-ressource-commune-quest-la-blockchain-g1/9050/)
Duniter v1 was already part of a comprehensive approach to treat blockchain as a **[common](https://en.wikipedia.org/wiki/Commons)**, <q> a resource that community manage for individual and collective benefit </q>. The migration to Substrate is an ideal opportunity to push the thinking further, by introducing *on-chain* governance tools for collective decisions (voting, protocol evolution) and the allocation of finite blockchain resources (ex. spam resistance).
## Some technical points 👩💻
Let's now move on to the technical part, where we deal with the concrete issues raised by this migration.
### Dropping the PoW mechanism in favor for BABE/GRANDPA 👾
[🔗 forum (fr)](https://forum.duniter.org/t/abandon-de-la-pow-au-profit-de-babe-grandpa/8901) [🔗 forum (fr)](https://forum.duniter.org/t/g1v2-proposition-de-passer-au-consensus-hybride-babe-grandpa/8610)
Duniter's proof of work was often a criticised point. Although our custom [personalised difficulty](/wiki/duniter/2018-11-27-duniter-proof-of-work/#personalised-difficulty) which reduces the energy consumption and distributes the addition of blocks among blacksmiths, the [BABE](https://docs.substrate.io/v3/advanced/consensus/#babe) for block authoring and [GRANDPA](https://docs.substrate.io/v3/advanced/consensus/#grandpa) for finalization will allow us to greatly accelerate the data validation (~30 minutes → ~30 seconds) while limiting the "waste" of CPU resources.
### Blacksmiths subweb 🌋
[🔗 forum (fr)](https://forum.duniter.org/t/la-sous-toile-forgerons/9047)
In Duniter v1, any member of the web of trust is given the rights to create the UD, certify, and add blocks all at once. This is a major security flaw because by hacking into 30 poorly secured accounts it is possible to take control of the entire blockchain. With the increasing number of users, it is better to decouple different rights to grant block authoring only under security conditions that cannot be imposed on the general public.
......@@ -25,4 +25,4 @@ If the project takes off on long term, the creation of a Foundation is already c
## Contact
More informations on the [Contact](/contact) page.
\ No newline at end of file
Please get in touch on the [duniter forum](https://forum.duniter.org/).
\ No newline at end of file
......@@ -7,10 +7,10 @@ Authors: cgeek
# Contribute
> This page is an improved copy of the FAQ section [Getting involved](/faq#gettinginvolved).
> This page is an improved copy of the FAQ section [Getting involved](wiki/faq#gettinginvolved).
### How may I help?
You can help on project developement in many ways, depending on your available time, energy and skills. Please read the requirements and possibilities below. If you feel comfortable with one these profiles, do not hesitate to [contact us](/contact).
You can help on project developement in many ways, depending on your available time, energy and skills. Please read the requirements and possibilities below. If you feel comfortable with one these profiles, do not hesitate to [contact us on the forum](https://forum.duniter.org).
#### As a backend developer
You may participate in Duniter server's development, which is the core software implementing [UCP](https://github.com/duniter/ucoin/blob/master/doc/Protocol.md). You will need some technical skills:
......@@ -24,7 +24,8 @@ You may participate in Duniter server's development, which is the core software
* understanding the basics of asymmetric cryptography
* optionally know the [Ed25519](http://ed25519.cr.yp.to/) scheme
If you are not affraid of those technologies, you can both start reading the Wiki to [Dive into Duniter code](https://github.com/duniter/ucoin/wiki/Dive-into-the-code) and [contact us](/contact).
If you are not affraid of those technologies, you can both start reading the Wiki to [Dive into Duniter code](https://github.com/duniter/ucoin/wiki/Dive-into-the-code) and contact us on [duniter forum](https://forum.duniter.org/).
#### As a designer/frontend developer
See this beautiful website? You want to improve it with new content, new design? Feel free to propose your skills, any help is welcome. What Duniter probably needs the most is: **a logo**.
......
......@@ -4,7 +4,7 @@ Slug: credits
Authors: cgeek
Status: hidden
## Images et logos
## Images and logos
<img src="../images/network.svg" class="credits"/>
<div>Icons made by <a href="http://www.flaticon.com/authors/madebyoliver" title="Madebyoliver">Madebyoliver</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
......
......@@ -3,7 +3,7 @@
<head>
<meta name="date" content="2017-12-11">
<meta name="order" content="9">
<meta charset="UTF-8">
<meta name="encoding" charset="UTF-8">
<title>Try Duniter</title>
</head>
<body>
......