49 lines
1.6 KiB
Python
Executable File
49 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys, argparse, os
|
|
from os.path import join, dirname
|
|
from shutil import copyfile
|
|
from dotenv import load_dotenv
|
|
from libs.paylib import Transaction, VERSION
|
|
|
|
# Get variables environment
|
|
if not os.path.isfile('.env'):
|
|
copyfile(".env.template", ".env")
|
|
dotenv_path = join(dirname(__file__), '.env')
|
|
load_dotenv(dotenv_path)
|
|
|
|
dunikey = os.getenv('DUNIKEY')
|
|
node = os.getenv('NODE')
|
|
if not dunikey or not node:
|
|
sys.stderr.write("Please fill the path of your private key (PubSec), and a Duniter node in .env file\n")
|
|
sys.exit(1)
|
|
|
|
# dunikey="/home/poka/dev/trousseau-Do99s6wQ-g1-PubSec.dunikey"
|
|
# node="http://localhost:30901/gva"
|
|
|
|
|
|
# Parse arguments
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('-d', '--destinataire', help="Destinataire du paiement")
|
|
parser.add_argument('-m', '--montant', type=int, help="Montant de la transaction")
|
|
parser.add_argument('-c', '--commentaire', default="", help="Commentaire de la transaction")
|
|
parser.add_argument('-v', '--verbose', action='store_true', help="Affiche le résultat JSON de la transaction")
|
|
parser.add_argument('--version', action='store_true', help="Affiche la version actuelle du programme")
|
|
args = parser.parse_args()
|
|
|
|
if args.version:
|
|
print(VERSION)
|
|
sys.exit(0)
|
|
|
|
if not args.destinataire or not args.montant:
|
|
print("Veuillez renseigner la clé publique du destinataire, ainsi que le montant de la transaction")
|
|
parser.print_help()
|
|
sys.exit(1)
|
|
|
|
# Create transaction and send it
|
|
trans = Transaction(dunikey, node, args.destinataire, args.montant, args.commentaire, args.verbose)
|
|
result = trans.send()
|
|
|
|
if args.verbose:
|
|
print(str(result))
|