Système d'impression de billets développé avec Duniterpy


#1

MERCI;
Ça fonctionne! Je vais maintenant essayer d’utiliser duniterpy directement.

Voici les commandes que je cherche à effectuer:

./silkaj/silkaj generate_auth_file -salt="$PHONE" -password="$PIN" => Initialise un wallet
./silkaj/silkaj amount "$RIB" => Montant du compte
./silkaj transaction --auth-scrypt -salt="$PHONE" -password="$PIN" --amount="$VIR" --output="$DESTRIB" => KO ou Montant restant
./silkaj/silkaj id "$MEMBERUID" => Clef Publique Membre

Je vais fouiller dans les exemples… Enfin, si veux m’aiguiller, je suis preneur.

Ils ne savaient pas que c’était impossible, alors ils l’ont fait


DuniterPy, évolution de la bibliothèque python
#2

Petit cadeau pour les fêtes.

Le script correspondant à ta première commande. Il contient les bases d’un code python 3.5 propre avec typage pour gérer les arguments passés en ligne de commande. Il est inspiré de l’exemple présent dans le dépôt Duniterpy, mais remplace l’interactivité avec l’utilisateur par des arguments.

Note l’importance que je donne aux commentaires et aux docstrings afin que le code soit immédiatement compréhensible par un dev python et aussi pour l’IDE qui affiche la doc des fonctions à partir des docstrings.

[EDIT] Créer un fichier gen_pubkey.py contenant le code suivant :

import sys
from duniterpy.key import SigningKey


def generate_public_key(salt: str, password: str) -> str:
    """
    Return public key from credentials

    :param salt: Salt passphrase, using quotes if space in it
    :param password: Password
    """
    # Create key object
    key = SigningKey(salt, password)

    return key.pubkey


if __name__ == '__main__':

    # if bad number of arguments...
    if len(sys.argv) != 3:

        # display command usage
        print("""
        Usage:
            python gen_pubkey.py salt password
        """)

        # exit with status code error
        exit(1)

    # capture arguments
    _salt = sys.argv[1]
    _password = sys.argv[2]

    # display the public key
    print(generate_public_key(_salt, _password))

    # exit with status code ok
    exit(0)

Profite, je ferai pas ça tous les jours ! :wink:


#3

Merci Mister @vtexier !

A prioris , je peux aussi accéder aux profils cesium+ par duniterpy?

Je me posais la question des requêtes sur elasticsearch, est-il possible d’écrire un profil cesium+?
Comme ajouter un nom, une image associé au compte porte monnaie SMS créé…

Je voudrais faire une double authentification quand on déclare par SMS son pseudo de membre possesseur du porte-monnaie. Je pourrai envoyer code par email (saisi dans Cesium pour les notifications).
Mais là si j’ai bien compris, il faut une autorisation spéciale (la clef de l’opérateur de notification SMS) @kimamila?

Belle Année Libre