पायथन ब्लॉकचेन - विकासशील ग्राहक

एक ग्राहक वह होता है जो TPCoins रखता है और अपने स्वयं के नेटवर्क सहित अन्य विक्रेताओं से माल / सेवाओं के लिए लेनदेन करता है। हमें परिभाषित करना चाहिएClientइस उद्देश्य के लिए कक्षा। क्लाइंट के लिए विश्व स्तर पर विशिष्ट पहचान बनाने के लिए, हम PKI (पब्लिक की इन्फ्रास्ट्रक्चर) का उपयोग करते हैं। इस अध्याय में, हम इस बारे में विस्तार से बात करते हैं।

ग्राहक को अपने वॉलेट से किसी अन्य ज्ञात व्यक्ति को पैसा भेजने में सक्षम होना चाहिए। इसी तरह, क्लाइंट को तीसरे पक्ष से पैसे स्वीकार करने में सक्षम होना चाहिए। पैसा खर्च करने के लिए, ग्राहक प्रेषक के नाम और भुगतान की जाने वाली राशि को निर्दिष्ट करते हुए एक लेनदेन तैयार करेगा। धन प्राप्त करने के लिए, ग्राहक तीसरे पक्ष को अपनी पहचान प्रदान करेगा - अनिवार्य रूप से धन का प्रेषक। हम ग्राहक द्वारा अपने वॉलेट में रखी गई शेष राशि को संग्रहीत नहीं करते हैं। लेनदेन के दौरान, हम यह सुनिश्चित करने के लिए वास्तविक संतुलन की गणना करेंगे कि ग्राहक के पास भुगतान करने के लिए पर्याप्त शेष राशि है।

विकसित करने के लिए Clientवर्ग और परियोजना में बाकी कोड के लिए, हमें कई पायथन पुस्तकालयों को आयात करने की आवश्यकता होगी। ये नीचे सूचीबद्ध हैं -

# import libraries
import hashlib
import random
import string
import json
import binascii
import numpy as np
import pandas as pd
import pylab as pl
import logging
import datetime
import collections

उपरोक्त मानक पुस्तकालयों के अतिरिक्त, हम अपने लेन-देन पर हस्ताक्षर करने जा रहे हैं, वस्तुओं का हैश आदि बना रहे हैं। इसके लिए आपको निम्नलिखित पुस्तकालयों को आयात करने की आवश्यकता होगी -

# following imports are required by PKI
import Crypto
import Crypto.Random
from Crypto.Hash import SHA
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5

अगले अध्याय में, हम ग्राहक वर्ग के बारे में बात करते हैं।