def test_ticker(self): bts = self.bts m = Market(u'STEEM:SBD', steem_instance=bts) ticker = m.ticker() self.assertEqual(len(ticker), 6) self.assertEqual(ticker['steem_volume']["symbol"], u'STEEM') self.assertEqual(ticker['sbd_volume']["symbol"], u'SBD')
def test_recenttrades(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) recenttrades = m.recent_trades(limit=10) recenttrades_raw = m.recent_trades(limit=10, raw_data=True) self.assertEqual(len(recenttrades), 10) self.assertEqual(len(recenttrades_raw), 10)
def test_sell(self): bts = self.bts bts.txbuffer.clear() m = Market(u'HIVE:HBD', steem_instance=bts) tx = m.sell(5, 0.1, account="test") self.assertEqual( (tx["operations"][0][0]), "limit_order_create" ) op = tx["operations"][0][1] self.assertIn("test", op["owner"]) self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"HBD:HIVE") tx = m.sell(p, 0.1, account="test") op = tx["operations"][0][1] self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"HBD:HIVE", steem_instance=bts) a = Amount(0.1, "HIVE", steem_instance=bts) tx = m.sell(p, a, account="test") op = tx["operations"][0][1] self.assertEqual(str(Amount('0.500 HBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 HIVE', steem_instance=bts)), op["amount_to_sell"])
def test_buy(self): bts = self.bts m = Market(u'STEEM:SBD', steem_instance=bts) bts.txbuffer.clear() tx = m.buy(5, 0.1, account="test") self.assertEqual((tx["operations"][0][0]), "limit_order_create") op = tx["operations"][0][1] self.assertIn("test", op["owner"]) self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"SBD:STEEM", steem_instance=bts) tx = m.buy(p, 0.1, account="test") op = tx["operations"][0][1] self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"SBD:STEEM", steem_instance=bts) a = Amount(0.1, "STEEM", steem_instance=bts) tx = m.buy(p, a, account="test") op = tx["operations"][0][1] self.assertEqual(str(a), op["min_to_receive"]) self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["amount_to_sell"])
def test_sell(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase bts.txbuffer.clear() m = Market(u'STEEM:SBD', steem_instance=bts) tx = m.sell(5, 0.1, account="test") self.assertEqual((tx["operations"][0][0]), "limit_order_create") op = tx["operations"][0][1] self.assertIn("test", op["owner"]) self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"SBD:STEEM") tx = m.sell(p, 0.1, account="test") op = tx["operations"][0][1] self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"]) p = Price(5, u"SBD:STEEM", steem_instance=bts) a = Amount(0.1, "STEEM", steem_instance=bts) tx = m.sell(p, a, account="test") op = tx["operations"][0][1] self.assertEqual(str(Amount('0.500 SBD', steem_instance=bts)), op["min_to_receive"]) self.assertEqual(str(Amount('0.100 STEEM', steem_instance=bts)), op["amount_to_sell"])
def test_accountopenorders(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) openOrder = m.accountopenorders("test") self.assertTrue(isinstance(openOrder, list))
def test_orderbook(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) orderbook = m.orderbook(limit=10) self.assertEqual(len(orderbook['asks_date']), 10) self.assertEqual(len(orderbook['asks']), 10) self.assertEqual(len(orderbook['bids_date']), 10) self.assertEqual(len(orderbook['bids']), 10)
def test_cancel(self): bts = self.bts bts.txbuffer.clear() m = Market(u'STEEM:SBD', steem_instance=bts) tx = m.cancel(5, account="test") self.assertEqual((tx["operations"][0][0]), "limit_order_cancel") op = tx["operations"][0][1] self.assertIn("test", op["owner"])
def test_market_history(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) buckets = m.market_history_buckets() history = m.market_history(buckets[2]) self.assertTrue(len(history) > 0)
def test_trades(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) trades = m.trades(limit=10) trades_raw = m.trades(limit=10, raw_data=True) trades_history = m.trade_history(limit=10) self.assertEqual(len(trades), 10) self.assertTrue(len(trades_history) > 0) self.assertEqual(len(trades_raw), 10)
def test_volume(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) volume = m.volume24h() self.assertEqual(volume['STEEM']["symbol"], u'STEEM') self.assertEqual(volume['SBD']["symbol"], u'SBD')
def test_recenttrades(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) recenttrades = m.recent_trades(limit=10) recenttrades_raw = m.recent_trades(limit=10, raw_data=True) self.assertEqual(len(recenttrades), 10) self.assertEqual(len(recenttrades_raw), 10)
def test_ticker(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) ticker = m.ticker() self.assertEqual(len(ticker), 6) self.assertEqual(ticker['steem_volume']["symbol"], u'STEEM') self.assertEqual(ticker['sbd_volume']["symbol"], u'SBD')
def test_orderbook(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) orderbook = m.orderbook(limit=10) self.assertEqual(len(orderbook['asks_date']), 10) self.assertEqual(len(orderbook['asks']), 10) self.assertEqual(len(orderbook['bids_date']), 10) self.assertEqual(len(orderbook['bids']), 10)
def test_cancel(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase bts.txbuffer.clear() m = Market(u'STEEM:SBD', steem_instance=bts) tx = m.cancel(5, account="test") self.assertEqual((tx["operations"][0][0]), "limit_order_cancel") op = tx["operations"][0][1] self.assertIn("test", op["owner"])
def test_ticker(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) ticker = m.ticker() self.assertEqual(len(ticker), 6) if "hive_volume" in ticker: self.assertEqual(ticker['hive_volume']["symbol"], u'HIVE') self.assertEqual(ticker['hbd_volume']["symbol"], u'HBD') else: self.assertEqual(ticker['steem_volume']["symbol"], u'HIVE') self.assertEqual(ticker['sbd_volume']["symbol"], u'HBD')
def test_trades(self, node_param): if node_param == "non_appbase": bts = self.bts else: bts = self.appbase m = Market(u'STEEM:SBD', steem_instance=bts) trades = m.trades(limit=10) trades_raw = m.trades(limit=10, raw_data=True) trades_history = m.trade_history(limit=10) self.assertEqual(len(trades), 10) self.assertTrue(len(trades_history) > 0) self.assertEqual(len(trades_raw), 10)
def test_market(self, node_param): if node_param == "instance": stm = Steem(node="abc", autoconnect=False, num_retries=1) set_shared_steem_instance(self.bts) o = Market() self.assertIn(o.steem.rpc.url, self.urls) with self.assertRaises(NumRetriesReached): Market(steem_instance=stm) else: set_shared_steem_instance( Steem(node="abc", autoconnect=False, num_retries=1)) stm = self.bts o = Market(steem_instance=stm) self.assertIn(o.steem.rpc.url, self.urls) with self.assertRaises(NumRetriesReached): Market()
def test_market(self, node_param): if node_param == "instance": set_shared_steem_instance(self.bts) o = Market() self.assertIn(o.steem.rpc.url, self.urls) with self.assertRaises(RPCConnection): Market(steem_instance=Steem( node="https://abc.d", autoconnect=False, num_retries=1)) else: set_shared_steem_instance( Steem(node="https://abc.d", autoconnect=False, num_retries=1)) stm = self.bts o = Market(steem_instance=stm) self.assertIn(o.steem.rpc.url, self.urls) with self.assertRaises(RPCConnection): Market()
def test_steem_usb_impied(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) steem_usd = m.steem_usd_implied() self.assertGreater(steem_usd, 0)
from beem import Steem from beem import Hive from beem.instance import shared_blockchain_instance from beem.market import Market from django import template register = template.Library() shared_blockchain_instance() m = Market() @register.simple_tag def usd_price(): value = m.hive_usd_implied() value = float('{0:.2f}'.format(value)) return value
from beem.market import Market market = Market() hive_usd = market.hive_usd_implied() hive_btc = 1/market.hive_btc_ticker() hive_HBD = market.ticker()['latest'] print(hive_usd) print(hive_btc) print(hive_HBD) print(market.ticker())
def test_market(self): o = Market() self.assertEqual(o.steem.rpc.url, self.url)
def test_accountopenorders(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) openOrder = m.accountopenorders("test") self.assertTrue(isinstance(openOrder, list))
return result # USE ONLY IF YOU WANT TO PULL KEYS FROM KEYS.TXT (MUST BE IN THE SAME DIRECTORY AS THIS PYTHON FILE!) def get_keys(): with open('keys.txt', 'r') as f: keys = f.read().split() return keys ########################################################## # Initialize STEEM blockchain connections and variables. # ########################################################## # s = Steem(keys=['<PRIVATE_POSTING_KEY>', '<PRIVATE_ACTIVE_KEY>']) s = Steem(keys=get_keys()) m = Market() spmv = s.get_steem_per_mvest() steem_per_sbd = str(m.ticker()['latest']).split()[0] d = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) # td = d - timedelta(days=1) FOR TESTING PURPOSES users = {} chart = '' # Check all @hybridbot transfers and if criteria is met, create a user and update the steem and sbd payout for user. for h in Account('hybridbot').history(start=d, only_ops=['transfer']): if h['to'] != 'hybridbot' and '#' in h['memo']: if h['to'] not in users: users[h['to']] = User(username=h['to']) users[h['to']].update_username(h['to']) if 'STEEM' in h['amount']: steem = h['amount'].split()
def test_market_history(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) buckets = m.market_history_buckets() history = m.market_history(buckets[2]) self.assertTrue(len(history) > 0)
def test_market(self): bts = self.bts m1 = Market(u'STEEM', u'SBD', steem_instance=bts) self.assertEqual(m1.get_string(), u'SBD:STEEM') m2 = Market(steem_instance=bts) self.assertEqual(m2.get_string(), u'SBD:STEEM') m3 = Market(u'STEEM:SBD', steem_instance=bts) self.assertEqual(m3.get_string(), u'STEEM:SBD') self.assertTrue(m1 == m2) base = Asset("SBD", steem_instance=bts) quote = Asset("STEEM", steem_instance=bts) m = Market(base, quote, steem_instance=bts) self.assertEqual(m.get_string(), u'STEEM:SBD')
def test_volume(self): bts = self.bts m = Market(u'STEEM:SBD', steem_instance=bts) volume = m.volume24h() self.assertEqual(volume['STEEM']["symbol"], u'STEEM') self.assertEqual(volume['SBD']["symbol"], u'SBD')
def test_market(self): bts = self.bts m1 = Market(u'HIVE', u'HBD', steem_instance=bts) self.assertEqual(m1.get_string(), u'HBD:HIVE') m2 = Market(steem_instance=bts) self.assertEqual(m2.get_string(), u'HBD:HIVE') m3 = Market(u'HIVE:HBD', steem_instance=bts) self.assertEqual(m3.get_string(), u'HIVE:HBD') self.assertTrue(m1 == m2) base = Asset("HBD", steem_instance=bts) quote = Asset("HIVE", steem_instance=bts) m = Market(base, quote, steem_instance=bts) self.assertEqual(m.get_string(), u'HIVE:HBD')
def test_volume(self): bts = self.bts m = Market(u'HIVE:HBD', steem_instance=bts) volume = m.volume24h() self.assertEqual(volume['HIVE']["symbol"], u'HIVE') self.assertEqual(volume['HBD']["symbol"], u'HBD')