Silkaj v0.6.0 release: Let’s install¶
Six months after the previous release, I am pleased to announce Silkaj v0.6.0 for the twelfth Libre Currency Meeting.
This release comes with 124 commits including eased installation procedures, multi-recipients transaction, wot
command view improvements, scrypt authentication set by default, network performances, and much more.
User installation eased via PyPI/pip¶
Installing Silkaj has been a burning issue: Only Fedora users could install Silkaj with the Pyinstaller binary, since that’s where I was building it. The others, would have had to install a development environment with pyenv
and the Python dependencies in order to make it work.
Thanks to Cebash’s work. Now, we are able to install Silkaj with pip
, the Python package manager, which retrieves the package from Python Package Indexer (PyPI):
Development environment with Pipenv¶
We switched from pyenv+pip
to Pipenv because Pipenv offers a better development environment.
Transaction¶
Multi-recipients transaction¶
Thanks to cgeek, Silkaj is the first client, besides Remuniter, able to send multi-recipients transaction.
This means, that we will be able to transfer money to several recipients within a single transaction.
To do so, we have to pass recipients’ public keys separated with a colon :
operator, as follow:
silkaj tx --auth-file --amount 2 --gtest --output \
DpJse2t7fyH9LC9FTMQHsMGZToXLmVQ8EV2eP47ipHDC:7KL2QXXFULDpsQY4UdSr5oEVx6rFE6oxeagRdkCX35bf
╒═══════════════════════════╤══════════════════════════════════════════════╕
│ pubkey’s amount before tx │ 15375.33 ĞTest │
├───────────────────────────┼──────────────────────────────────────────────┤
│ tx amount (unit) │ 4.0 ĞTest │
├───────────────────────────┼──────────────────────────────────────────────┤
│ tx amount (relative) │ 0.0104 UD ĞTest │
├───────────────────────────┼──────────────────────────────────────────────┤
│ pubkey’s amount after tx │ 15371.33 ĞTest │
├───────────────────────────┼──────────────────────────────────────────────┤
│ from (pubkey) │ 5B8iMAzq1dNmFe3ZxFTBQkqhq4fsztg1gZvxHXCk1XYH │
├───────────────────────────┼──────────────────────────────────────────────┤
│ from (id) │ moul-test │
├───────────────────────────┼──────────────────────────────────────────────┤
│ to (pubkey) │ DpJse2t7fyH9LC9FTMQHsMGZToXLmVQ8EV2eP47ipHDC │
├───────────────────────────┼──────────────────────────────────────────────┤
│ to (id) │ vit │
├───────────────────────────┼──────────────────────────────────────────────┤
│ to (pubkey) │ 7KL2QXXFULDpsQY4UdSr5oEVx6rFE6oxeagRdkCX35bf │
├───────────────────────────┼──────────────────────────────────────────────┤
│ to (id) │ cuckooland │
├───────────────────────────┼──────────────────────────────────────────────┤
│ comment │ │
╘═══════════════════════════╧══════════════════════════════════════════════╛
Do you confirm sending this transaction? [yes/no]: yes
Generate Transaction:
- From: 5B8iMAzq1dNmFe3ZxFTBQkqhq4fsztg1gZvxHXCk1XYH
- To: DpJse2t7fyH9LC9FTMQHsMGZToXLmVQ8EV2eP47ipHDC
- To: 7KL2QXXFULDpsQY4UdSr5oEVx6rFE6oxeagRdkCX35bf
- Amount: 4.0
Transaction successfully sent.
Notes:
- Each pubkey will receive the same amount of money. The amount per recipients can not be specified yet.
- The purpose of this feature is to remunerate Duniter developers.
Display confirmation panel¶
Before the transaction is actually sent, the balance before and after the transaction is displayed in the summary table. Check the example above.
Two wrappers¶
WoT view improvements¶
- Display of the certifications stock
- Membership expiration due to the membership expiration or due the fact that the threshold of minimal number of certifications is about to be crossed by certifications expirations
- Identity status
moul-test (5B8iM…) from block 167750-0000A51F…
received 8 and sent 15/100 certifications:
| received_expire | received | sent | sent_expire |
|-------------------+---------------------+-------------------+---------------|
| 2018-11-21 | esprit ✔ | MeluaTest | 2018-11-19 |
| 2018-12-15 | GAS2000 ✔ | esprit | 2018-11-21 |
| 2018-12-19 | matograine-G1Test ✔ | GAS2000 | 2018-12-10 |
| 2018-12-20 | scanlegentil ✔ | guwop | 2018-12-10 |
| 2019-01-29 | vit ✔ | matograine-G1Test | 2019-02-04 |
| 2019-02-07 | Elois ✔ | Elois | 2019-02-07 |
| 2019-02-15 | cuckooland ✔ | Vincentest | 2019-02-07 |
| 2019-02-16 | piaaf31GT ✔ | cuckooland | 2019-02-07 |
| | | vit | 2019-02-07 |
| | | scanlegentil | 2019-02-07 |
| | | cgeek | 2019-02-07 |
| | | isawien45 | 2019-02-07 |
| | | aguy-dev | 2019-02-07 |
| | | piaaf31GT | 2019-02-14 |
| | | kimamila | 2019-02-15 |
Membership expiration due to certification expirations: 2018-12-20
member: True
Membership document expiration: 2018-12-31
Sentry: True
outdistanced: False
Scrypt authentication by default¶
Previously, the authentication method had to be specified. Now, when no authentication method is specified, two inputs will be prompted in order to authenticate with the scrypt method. You can still specify other authentication methods, with following options:
Authentication:
for amount, transaction, certification, and generate_auth_file commands
- Scrypt is the default authentication method with 4096,16,1 as default values
you can specify others values specifying following parameters: -n <N> -r <r> -p <p>
- Seed: --auth-seed
- File: --auth-file [--file=<path file>], './authfile' will be taken if there is no path specified
- WIF: --auth-wif
Ğtest¶
A new --gtest
option has been added to ease the connection to Ğ1-test currency network for testing purposes.
It uses the official node: https://g1-test.duniter.org.
Network performances¶
With this update, Silkaj is retrieving information only once. Before, data was retrieved every time it was needed. Now, once the information has been fetched, it is kept into the memory and reused.
Python 3.7 support¶
Silkaj has been tested with Python 3.7. Results show that there has been no issues. Python 3.7 has been set as the current version in Pipenv development environment.
New commands¶
License¶
Originally built for the certification feature, the license
command allows the consultation of the Ğ1’s license at any time given.
About¶
A new command displays information about Silkaj:
silkaj about
@@@@@@@@@@@@@
@@@ @ @@@
@@@ @@ @@@@@@ @@. silkaj 0.6.0
@@ @@@ @@@@@@@@@@@ @@,
@@ @@@ &@@@@@@@@@@@@@ @@@ Powerfull and lightweight command line client
@@ @@@ @@@@@@@@@# @@@@ @@(
@@ @@@@ @@@@@@@@@ @@@ @@ Built in Python for Duniter’s currencies: Ğ1 and Ğ1-Test
@@ @@@ @@@@@@@@ @ @@@ @@
@@ @@@ @@@@@@ @@@@ @@ @@ Authors: moul, tortue, jytou, cebash, cgeek
@@ @@@@ @@@ @@@@@@@ @@ @@
@@ @@@@* @@@@@@@@@ @# @@ Website: https://silkaj.duniter.org
@@ @@@@@ @@@@@@@@@@ @ ,@@
@@ @@@@@ @@@@@@@@@@ @ ,@@ Repository: https://git.duniter.org/clients/python/silkaj
@@@ @@@@@@@@@@@@ @ @@*
@@@ @@@@@@@@ @ @@@ License: GNU AGPLv3
@@@@ @@ @@@,
@@@@@@@@@@@@@@@
Logo¶
Silkaj’s logo, designed by Attilax, is now fully funded!
Thanks¶
Special thanks to Moul, Cebash, cgeek, and Attilax.
Thanks to vit, Inso, vincentux, and jardin.
Install¶
Future development cycles¶
-
v0.7.0 will be focused on refactoring Silkaj in order to be ported to DuniterPy usage, a more robust API implementation. This mean sharing a common code with Sakia.
-
v0.8.0 will add new features based on DuniterPy such as new authentication methods as well as being allowed to send the remaining Web-of-Trust documents: identity publication, membership publication and renewal, and revocation.
-
v0.9.0 Let’s see what come to this milestone.
Contribute¶
If you are pleased with the achievements, please contribute by reporting bugs, contributing to the code or giving Duniter’s developers libre units to improve our little world.