Exemplo n.º 1
0
    def processor_trans_read(self, content):
        result = self.server.transpool.read_serialized()
        if len(result) > 0:
            _ = send_handler(MsgType.TYPE_RESPONSE_OK, batch_handler(result))
        else:
            _ = send_handler(MsgType.TYPE_RESPONSE_ERROR, b'')

        self.request.sendall(_)
Exemplo n.º 2
0
 def processor_block_read(self, content):
     start = bin2int(content[:4])
     end = bin2int(content[4:8])
     # do the search
     result = []
     for i in range(start, end):
         # if start <= server.blockchain.chain.queue[i].index <= end:
         result.append(self.server.blockchain.chain.queue[i].b)
     # send back result
     self.request.sendall(send_handler(MsgType.TYPE_RESPONSE_OK, batch_handler(result)))
Exemplo n.º 3
0
 def put_miner_use(self, usage, useful) -> List:
     with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as s:
         s.connect(self.chainbase_address)
         s.sendall(
             send_handler(
                 MsgType.TYPE_MINER_USE,
                 batch_handler(
                     [struct.pack('=d', usage),
                      struct.pack('=d', useful)])))
         *_, msgtype, content = recv_parser(s)
         result = batch_parser(content)
     return result
 def get_miner_credit(self, public_key_hash, num) -> List:
     with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as s:
         s.connect(self.chainbase_address)
         p = time.time() * 100000000
         print(struct.pack('=d', p))
         s.sendall(
             send_handler(
                 MsgType.TYPE_MINER_CREDIT,
                 batch_handler([
                     public_key_hash,
                     struct.pack('=d', num),
                     struct.pack('=d', p)
                 ])))
         *_, msgtype, content = recv_parser(s)
         result = batch_parser(content)
     return result