def _generate_genesis_block(): genesis_header = BlockHeader( previous_block_id="0000000000000000", block_num=0) block = BlockWrapper(genesis_header) block.set_signature("genesis") return block
def _generate_genesis_block(self, header_sig="genesis"): genesis_header = BlockHeader(previous_block_id="0000000000000000", block_num=0) # Small hack here not asking consensus if it is happy. block = BlockWrapper(genesis_header) block.set_signature(header_sig) return block
def generate_genesis_block(self): genesis_header = BlockHeader(previous_block_id=NULLIDENTIFIER, block_num=0) # Small hack here not asking consensus if it is happy. block = BlockWrapper(genesis_header) block.set_signature("genesis") self._candidate_block = \ self._finalize_block(block) return self._candidate_block
def generate_block(self, previous_block=None, add_to_store=False, batch_count=0, status=BlockStatus.Unknown, invalid_consensus=False, invalid_batch=False, invalid_signature=False, weight=1): previous = self._get_block(previous_block) if previous is None: previous = BlockWrapper( BlockHeader( block_num=0, previous_block_id="0000000000000000", )) previous.set_signature(_generate_id()) previous_block_state = BlockState(block_wrapper=previous, weight=0, status=BlockStatus.Valid) self.block_store[previous.header_signature] = previous_block_state self.block_publisher.on_chain_updated(previous) while self._new_block is None: self.block_publisher.on_batch_received(Batch()) self.block_publisher.on_check_publish_block(True) block = self._new_block self._new_block = None header = BlockHeader() header.ParseFromString(block.header) block = BlockWrapper(header, block) if invalid_signature: block.set_signature("BAD") if add_to_store: block_state = BlockState(block_wrapper=block, weight=0) block_state.status = status self.block_store[block.header_signature] = block_state return block