آموزش کلاس مشتری در بلاک چین پایتون
آموزش کلاس مشتری در بلاک چین پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس مشتری در بلاک چین پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
کلاس Client کلیدهای خصوصی و عمومی را با استفاده از الگوریتم RSA داخلی پایتون تولید می کند. خواننده علاقه مند می تواند برای اجرای RSA به این آموزش مراجعه کند. در طول مقداردهی اولیه شی، کلیدهای خصوصی و عمومی ایجاد می کنیم و مقادیر آنها را در متغیر نمونه ذخیره می کنیم.
1 2 |
self._private_key = RSA.generate(1024, random) self._public_key = self._private_key.publickey() |
توجه داشته باشید که هرگز نباید کلید خصوصی خود را گم کنید. برای نگهداری سوابق، کلید خصوصی تولید شده ممکن است در یک حافظه خارجی ایمن کپی شود یا می توانید به سادگی نمایش ASCII آن را روی یک تکه کاغذ یادداشت کنید.
کلید عمومی تولید شده به عنوان هویت مشتری استفاده خواهد شد. برای این کار، یک ویژگی به نام هویت تعریف می کنیم که نمایش HEX کلید عمومی را برمی گرداند.
1 2 3 4 5 |
@property def identity(self): return binascii.hexlify(self._public_key.exportKey(format='DER')) .decode('ascii') |
هویت برای هر مشتری منحصر به فرد است و می تواند در دسترس عموم قرار گیرد. هر کسی می تواند با استفاده از این هویت، ارز مجازی را برای شما ارسال کند و به کیف پول شما اضافه می شود.
کد کامل کلاس Client در اینجا نشان داده شده است
1 2 3 4 5 6 7 8 9 10 11 |
class Client: def __init__(self): random = Crypto.Random.new().read self._private_key = RSA.generate(1024, random) self._public_key = self._private_key.publickey() self._signer = PKCS1_v1_5.new(self._private_key) @property def identity(self): return binascii.hexlify(self._public_key.exportKey(format='DER')).decode('ascii') |
تست مشتری
اکنون، ما کدی را می نویسیم که نحوه استفاده از کلاس Client – را نشان می دهد
1 2 |
Dinesh = Client() print (Dinesh.identity) |
کد بالا یک نمونه از Client ایجاد می کند و آن را به متغیر Dinesh اختصاص می دهد. کلید عمومی دینش را با فراخوانی روش هویت آن چاپ می کنیم. خروجی در اینجا نشان داده شده است –
1 2 3 4 5 |
30819f300d06092a864886f70d010101050003818d0030818902818100b547fafceeb131e07 0166a6b23fec473cce22c3f55c35ce535b31d4c74754fecd820aa94c1166643a49ea5f49f72 3181ff943eb3fdc5b2cb2db12d21c06c880ccf493e14dd3e93f3a9e175325790004954c34d3 c7bc2ccc9f0eb5332014937f9e49bca9b7856d351a553d9812367dc8f2ac734992a4e6a6ff6 6f347bd411d07f0203010001 |
اکنون، اجازه می دهیم تا در درس بعدی تراکنش ایجاد کنیم.
دیدگاه شما