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
Loading items

Target

Select target project
  • thomasbromehead/website_en
  • jytou/website_en
  • griffedge/website_en
  • BorisPAING/website_en
  • scanlegentil/website_en
  • guenoel/website_en
  • mmoya/website_en
  • librelois/website_en
  • LukeMarlin/website_en
  • pitchum/website_en
  • calbasi/website_en
11 results
Select Git revision
Loading items
Show changes
Commits on Source (7)
......@@ -13,15 +13,15 @@ build-job:
- 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/
- pelican content -s publishconf.py -e OUTPUT_PATH='"public"'
artifacts:
paths:
- public/
name: build
expire_in: 7 days
package-job:
stage: package
tags: [redshift] # Used to prevent runner 1000i100 from picking up this stage
image: curlimages/curl:latest
script:
- PACKAGE_VERSION="$(date +%Y.%m).${CI_PIPELINE_IID}"
......@@ -33,9 +33,9 @@ package-job:
- '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
tags: [redshift] # Used to prevent runner 1000i100 from picking up this stage
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
......@@ -47,7 +47,6 @@ release-job:
pages:
stage: deploy
tags: [redshift]
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
script:
......
......@@ -25,10 +25,11 @@ apt install plantuml graphviz
Generate the site
pelican
# or python3 -m pelican
Serve it
pelican --listen --autoreload --port 8557
pelican --listen --autoreload --port 8557 # port is hardcoded in develop conf file
The website should be available at http://localhost:8557.
......
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
......@@ -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**.
......
......@@ -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>
......
......@@ -57,7 +57,7 @@ BOOTSTRAP_THEME = 'readable'
DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'search')
ARTICLE_EXCLUDES = ['files']
STATIC_PATHS = ['images', 'content', 'files', 'files/licence_g1.rst', 'css']
STATIC_PATHS = ['images', 'content', 'files', 'files/license_g1.txt', 'css']
CUSTOM_CSS = 'css/custom.css'
......
......@@ -5,4 +5,4 @@ sys.path.append('.')
from pelicanconf import *
SITEURL = u'https://duniter.org/en'
SITEURL = u'https://duniter.org'
pelican==4.5.4
pelican==4.7.2
Markdown==3.3.4
beautifulsoup4==4.9.3