Package: beez
BeezP2P Blockchain for Distributed and Decentralized Machine Learning and Digital Assent Management.1 SetupInit the project with the default settings that are needed to deploy a python library on pypi.2 Milestone - Transactions2.1Transaction ClassInitializerToJson MethodTest Application### 2.2Wallet ClassGenerating RSA Key-PairsSign methodUtility ClassHash methodTransaction ClassSign Transaction2.3Wallet ClassValidating SignaturesExporting PublicKeyTest ApplicationDetecting invalid Transactions2.4Transaction ClassConsistent RepresentationSolving invalid SignatureWallet ClassDirectly create and signed Transactions2.5Transaction Pool ClassAdding TransactionsCheck if a tx is unique3. Milestone Blocks3.1Block ClassInitializertoJson methodTest ApplicationCreating a First Block3.2Block ClassConsistent implementationWallet Classcreate signed BlocksTest ApplicationTesting signaturespprint library (pretty print) for Human readable Block info4 Milestone Blockchain4.1Blockchain ClassInitializerBasic functionality to add BlockstoJson methodTest ApplicationCreate first Blockchain instance4.2Blockchain ClassValiditycheck: lastHashValiditycheck: blockCounterBlock ClassCreation of the Genesis BlockTest ApplicationTesting validity checks5 Milestone Account Model5.1Account Model Class [2200ezp]InizializerAdding AccountsUpdating BalancesRetrieving BalancesTest ApplicationTest all created methods### 5.2Blockchain ClassAdd Account ModelRetrieve covered TransactionsTest ApplicationRetrieve covered Transactions from Transaction Pool5.3Blockchain ClassIntroduce EXCHANGE TransactionTest ApplicationNeed to update Account State ModelImplications of update mechanism (the order of transactions matter!!!)### 5.4Blockchain ClassExecute TransactionsTest ApplicationCreating BlocksIdentify need to remove Tx from Transaction Pool### 5.5Transaction Pool ClassRmoving Transactions from PoolTest ApplicationCreating Blocks having duplicate transactions problem solved6 Milestone Node6.1Node ClassInizializerAdding BlockchainAdding Transaction PoolTest ApplicationCreate first Node Instance7 Milestone P2P7.1Socket Communication ClassInizializerStarting P2P ThreadNode ClassImplement P2PTest ApplicationStartup a Node running P2P### 7.2Socket Communication ClassConnection CallbacksMessagingTest ApplicationTest first Communication7.3Helper Class & MethodsMessage ClassSocket Connector ClassEncoding & Decoding### 7.4P2P Discovery Handler ClassInizializerStarting Peer DiscoverySocket Communication ClassAdd Peer-List PropertyTest ApplicationTest Peer Discovery Handler### 7.5P2P Discovery Handler ClassImplement HandshakeSocket Communication ClassIntroduce the first Connection NodeTest ApplicationTesting Handshake7.6P2P Discovery Handler ClassAdopt HandshakeImplement Handshake MessageSocket Communication ClassAdopt Node_MessageTest ApplicationTesting Handshake### 7.7P2P Discovery Handler ClassAdopt Status & DiscoveryImplement Handle MessageSocket Communication ClassAdopt Node_MessageTest ApplicationShow working Peer-Discovery8 Milestone Rest-API8.1NodeAPI ClassInitializerStart REST APICreate first EndPointTest APIBrowser -> Visit the first Route/Endpoint8.2NodeAPI ClassDefine SocketPortBlockchain EndPointTransaction Pool EndPointTest APIBrowser -> Visit the Routes/Endpoints### 8.3NodeAPI ClassExchange EndPointHandling incoming TXNode ClassReceiveing TX from APITest ApplicationHTTP Interaction -> Issuing HTTP Requests8.4Socket Communication ClassAdapt Node_MessageNode ClassAdapt Message HandlingTest ApplicationShow working APIMilestone 9 Proof of Stake### 9.1Proof of Stake ClassInizializerUpdating StakesGetting StakesTest ApplicationTesting methods### 9.2Lottery ClassInizializerCreating Lottery-HashTest ApplicationCreating Lots9.3Proof of Stake ClassAdd Forger SelectionImplementing required methodsTest ApplicationForger SelectionRandom & Proportional Stake9.4Proof of Stake ClassTrigger forger selectionAdapt Transaction PoolTest ApplicationNext steps (an initial Staker with some stakes is needed in order to forge a Block!)9.5Proof of Stake ClassIntegration (stake transactions)Wallet from fileFirst StakerTest ApplicationForger Selection9.6Forgers creating BloksBlock creationBy selecting ForgerBroadcasting BlockBugfixesTest ApplicationShow need to handle Block Messages9.7Handling Block MessagesAdapt Node ClassTest ApplicationShow Consensus in Nodes9.8StabilityDealing with Chain DifferencesRequesting Blockchain State