[Distrib] (no subject)

kbitsak at cslab.ece.ntua.gr kbitsak at cslab.ece.ntua.gr
Tue Mar 12 17:42:17 EET 2019


"Κάθε φορά που πάω να μετατρέψω σε json κάποιο transaction (και γενικά
οτιδήποτε είναι ή περιέχει rsa public key) μου λέει ότι το RsaKey δεν
είναι JSON serializable. Σε κάποιες περιπτώσεις που δεν ήταν ανάγκη να έχω
το ακριβές public key του wallet το έστειλα ως
str(my_key.publickey().exportKey("OpenSSH")). Για να στείλω όμως ένα
transaction (κατά το broadcast transaction πχ) θα πρέπει να έχω το
πραγματικό pubkey για να κάνω verify. Πώς το αντιμετωπίζω αυτό; Πώς δηλαδή
θα στείλω rsa public key μέσω διαύλου; "


Ας υποθέσουμε πως ακολουθείς την παρακάτω διαδικασία για τη δημιουργία του
private key σου.
Kάνοντας αυτά που έχω εδώ, θα πρέπει να σε αφήνει να στείλεις το κλειδί
σου σαν request.

...
random_gen = Crypto.Random.new().read
private_key = RSA.generate(1024, random_gen)

response = {
		'private_key':
binascii.hexlify(private_key.exportKey(format='DER')).decode('ascii'),
	}

return jsonify(response)
....


Σε απάντηση και για την προηγούμενη ερώτηση για το object->json,
πρέπει να σκεφτούμε κάθε φορά τι πληροφορία χρειάζεται να στείλουμε στο
δίκτυο των κόμβων;
Χρειάζεται πχ να τους στείλουμε όλο το object μιας transaction, όπως το
έχουμε αποθηκευμένο locally, ή μπορούμε συγκεκριμένα attributes του object
μας να τα βάλουμε σε ένα απλό dict, που θα το κάνουμε json και ύστερα
broadcast στο δίκτυο;

Πχ το object transaction που έχετε φαντάζομαι έχει και κάποιες methods
μέσα. Αυτές δεν υπάρχει κάποιος λόγος να σταλθούν με ένα request.

Κωνσταντίνος



More information about the Distrib mailing list