def load(self): sizeweights = 0 sizebiases = 0 keys = struct.pack('Q', N('sizeweights')) values = bytes(8) if eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) > 0: sizeweights = int.from_bytes(values, 'little') if sizeweights <= 0: return False keys = struct.pack('Q', N('sizebiases')) values = bytes(8) if eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) > 0: sizebiases = int.from_bytes(values, 'little') if sizebiases <= 0: return False print("+++++++++++++++++", sizeweights, sizebiases) keys = struct.pack('Q', N('weights')) values = bytes(sizeweights) if eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) <= 0: return False self.weights = pickle.loads(values) keys = struct.pack('Q', N('biases')) values = bytes(sizebiases) if eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) <= 0: return False self.biases = pickle.loads(values) print('load success!') return True
def test_db2(): msg = eoslib.readMessage() print(len(msg)) test = N(b'eos') result = int.from_bytes(msg[:8], 'little') size = msg[8] for i in range(size): result = int.from_bytes(msg[9 + i * 8:9 + i * 8 + 8], 'little') print(result) keys = msg[:8] values = msg[8:] eoslib.store(test, test, test, keys, 0, values) keys = msg[:8] values = msg[8:] eoslib.load(test, test, test, keys, 0, 0, values) print(values)
def test_rw_db(): a = Account('test') print('+++++++++balance:', a.balance) a.balance += 100 a.store() a = Account('test') print('+++++++++balance:', a.balance) db_keys = struct.pack('Q', N('currency')) values = bytes(16) eos = N('eos') ret = eoslib.load(eos, eos, N('test'), db_keys, 0, 0, values) print('+++++++eoslib.load return:', ret) print(values) results = struct.unpack('QQ', values) print(results) print('--------------------------------') values = struct.pack('QQ', 0x778899, 0x112233) ret = eoslib.store(test, N('test'), db_keys, 0, values) print('++++++++eoslib.store return:', ret) values = bytes(16) ret = eoslib.load(test, eos, N('test'), db_keys, 0, 0, values) print('+++++++eoslib.load return:', ret) print(values) results = struct.unpack('QQ', values) print(results) print('--------------------------------') values = struct.pack('QQ', 44, 33) ret = eoslib.store(test, N('test'), db_keys, 0, values) print('++++++++eoslib.store return:', ret) values = bytes(16) ret = eoslib.load(test, test, N('test'), db_keys, 0, 0, values) print('+++++++eoslib.load return:', ret) print(values) results = struct.unpack('QQ', values) print(results)
def load_by_price(price): keys = struct.pack('16s16s', bytes(16), price()) values = bytes(12) if eoslib.load(exchange, exchange, table_bids, keys, 1, 1, values) > 0: bid = Bid() bid.buyer = OrderID(keys[:16]) bid.price = uint128(keys[16:]) result = struct.unpack('QI', values) bid.quantity = result[0] bid.expiration = result[1] return bid return None
def load_by_price(price): keys = struct.pack('16s16s', bytes(16), price()) values = bytes(12) if eoslib.load(exchange, exchange, table_asks, keys, 1, 1, values) > 0: ask = Ask() ask.seller = OrderID(keys[:16]) ask.price = uint128(keys[16:]) result = struct.unpack('QI', values) ask.quantity = result[0] ask.expiration = result[1] return ask else: return None
def load(self): keys = struct.pack("Q", self.owner) print(self.owner) values = bytes(20) if eoslib.load(exchange, exchange, table_account, keys, 0, 0, values) > 0: values = struct.unpack('QQI', values) print(values) self.eos_balance = values[0] self.currency_balance = values[1] self.open_orders = values[2] else: self.eos_balance = 0 self.currency_balance = 0 self.open_orders = 0
def test(): net = Network([784, 30, 10]) biases = pickle.dumps(net.biases) weights = pickle.dumps(net.weights) print(len(weights)) keys = struct.pack('Q', N('sizeweights')) values = struct.pack('Q', len(weights)) ret = eoslib.store(mnist, mnist, table_network, keys, 0, values) print('store return:', ret) keys = struct.pack('Q', N('sizeweights')) values = bytes(8) eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) print('load return:', int.from_bytes(values, 'little')) keys = struct.pack('Q', N('weights')) ret = eoslib.store(mnist, mnist, table_network, keys, 0, weights) print('store return:', ret) keys = struct.pack('Q', N('weights')) values = bytes(len(weights)) ret = eoslib.load(mnist, mnist, table_network, keys, 0, 0, values) print('load return:', ret)
def test_rw_db(): keys = struct.pack('Q', N('currency')) values = bytes(16) eos = N('eos') ret = eoslib.load(eos, eos, N('test'), keys, 0, 0, values) print('+++++++eoslib.load return:',ret) print(values) results = struct.unpack('QQ', values) print(results) print('--------------------------------') keys = struct.pack('Q', N('currency')) values = struct.pack('QQ', 77, 88) ret = eoslib.store(test, eos, N('test'), keys, 0, values) print('++++++++eoslib.store return:',ret) values = bytes(16) ret = eoslib.load(test, eos, N('test'), keys, 0, 0, values) print('+++++++eoslib.load return:',ret) print(values) results = struct.unpack('QQ', values) print(results) print('--------------------------------') keys = struct.pack('Q', N('currency')) values = struct.pack('QQ', 44, 33) ret = eoslib.store(test, test, N('test'), keys, 0, values) print('++++++++eoslib.store return:',ret) values = bytes(16) ret = eoslib.load(test, test, N('test'), keys, 0, 0, values) print('+++++++eoslib.load return:',ret) print(values) results = struct.unpack('QQ', values) print(results)
def load(self): value = bytes(8) eoslib.load(self.scope, code, table, Account.key, 0, 0, value) self.balance = int.from_bytes(value, 'little')